Essential Agile Engineering Practices Course

Essential Agile Engineering Practices Course

Agile software development requires a unique approach to the actual writing of code. While there are no “silver bullets,” certain practices are much better at controlling quality, while retaining the flexibility and maintainability required of Agile’s incremental product development approach. This 3-­‐day course, primarily for developers, provides an immersive, hands-­‐on coding experience with a time-­‐tested set of engineering practices including relentless refactoring, Test-­‐Driven Development (TDD), Continuous Integration (CI), pair-­‐programming, emergent design & architecture, and many other supporting practices. Today’s professional developer will appreciate experiencing these practices in a safe, fun, and mildly realistic environment. Essential Agile Engineering Practices is currently offered in Java, C#, JavaScript, C++, and VisualBasic.Net.

Learning objectives:

• A variety of individual practices (see table next page), and how they support each other.
• A clear understanding of why our industry needs professional development & engineering practices.
• A clear understanding of why these particular practices are well-­‐suited for Agile frameworks such as Scrum & Kanban.
• Techniques for teams and individuals to realistically stick to these practices in a disciplined way.


Beginner to experienced.


3 days

Intended Audience:

Primarily software developers; though testers, managers, Scrum Masters and others are quite welcome. We will be crafting real code. Participants will split into teams of 4-­‐6 people, and at least four members of each team must be able to read and understand the selected programming language. Each person will spend part of the course working closely with a developer to complete a coding task.


• At least 80% of participants have experience with the selected programming language(s).
• Solid familiarity with an Agile framework such as Scrum, XP, or Kanban. This can be from at least 4 months on a coached Agile team, from fundamental Kanban or Scrum training (e.g., Certified Scrum Master), or from Agile Institute’s own Essential Agile Principles & Practices course.

Course Setup

• Computers with prepared development environments are required for this course, and will be provided by the customer (1 machine for every 2 students), unless other arrangements have been made.
• Internet access for all participants and instructor are necessary for accessing the Continuous Integration server, unless other arrangements have been agreed upon in advance.
• A computer projector and screen will be necessary, and will be provided by the customer, unless other arrangements have been made.