General

IT-Essence offers courses and training on recent and proven developments in software engineering. Since courses are composed of a set of more or less independent modules, contents can be readily adapted to suit specific needs of the participants.

Currently, three courses can be offered: agile awareness, Maven & Continuum and test-driven development.

Maven & Continuum course

Executive summary

In this extensive Maven course, which consists of presentations, demonstrations and exercises, participants are introduced to both Maven as a concept and a tool. In addition, a considerable attention is paid on an environment in which organizations will optimally reap the benefits of Maven-based projects, which includes principles of agile software development as well as IT infrastructural aspects. Exercises, practical examples, tips & tricks and some best practices are an integral part of this course. Finally, participants will be able to properly motivate how and why continuous integration becomes an easy and obvious next step towards a fully automated build process.

Audience

The Maven & Continuum course is meant for developers and technical leads who are seriously considering to employ Maven in their current and future project(s).

Prerequisites

A very basic understanding of using the command line (Windows or Linux) and XML is required, as well as some conceptual knowledge of Java software development and object-orientation. Some experience with the development of JEE projects is recommended.

Agile awareness

Executive summary

"Customer satisfaction through early and continuous delivery of valuable software" is the first of the 12 principles behind the agile manifesto. This course discusses all hallmarks of agile and iterative development methodolgies, such as time-boxing, incremental development, test-driven development and continuous integration. Participants will gain a solid grasp on how these concepts relate to one another and how they lead to a significant increase in productiviy, quality and customer satisfaction. Of course, characteristics and a categorization of the most popular methods such as eXtreme Programming, the Unified Process and Scrum are included, as well as proposed roadmaps for integration and adaptation of agile development by organizations that are about to make such a transition.

Audience

This course is meant for project leaders, novice project coaches and developers, who are about to make the next step in their software development process.

Prerequisites

A conceptual knowledge of software development and acquaintance with the inherent challenges and changes it faces would be highly beneficial.

Test-driven development

Executive summary

After following this course, participants will be convinced of the benefits that test-driven development (TDD) has to offer. Because of the substantial amount of practical examples and exercises in this course, participants will not only be able to start to put TDD into practice, but will also be equally motivated to apply these concepts in their everyday work. Although the course starts off with the very basics of unit testing, we gradually work our way towards more advanced topics, including testing with annotations (JUnit 4 & Java 5), testing with mock frameworks (jMock vs. EasyMock) and discussing the pro's and con's of mock- and stub-based testing. Finally, some code metrics that can be used to quantify test coverage are presented as well.

Audience

This course is meant for novice and senior Java software developers. Needless to say, this course cannot be missed by those who are working or going to work in a team that is developing according to the principles of modern iterative (agile) software development processes such as RUP and XP.

Prerequisites

Experience with the Java programming language is assumed. Acquaintance with Java 5 (especially the concept of annotations) would be recommended.