Jon Jagger & Kevlin Henney's Agile Development for Developers

Topics covered at AGILE-DEVELOPMENT-01-03

Dates coming soon

Are you a Java or C# developer and would like to learn how to apply useful and effective agile techniques to your day to day life? Are you ready for three days of learning the practices, processes and principles needed to build the path to success? Then this workshop is for you!

Kevlin Henney's three day Agile Development for Developers course looks at the Agile principles, practices and processes that offer a path to sustainable development for individuals, teams and organisations.

For many developers who want to focus on their craft, it is sometimes difficult to get a view of Agile development that is neither focused on a project management perspective, nor just on the practice of Test-Driven Development (TDD).

For the Java or C# developer, an overview of the larger Agile process landscape needs to be complemented with the practical side of software craftsmanship. This course ranges from understanding how Scrum can be fine tuned with Lean thinking, to exploring Extreme Programming practices such as TDD and pairing.

Learn how to:

  • Describe representative agile development processes and common practices
  • Slice up requirements in terms of goals and estimate and plan against them
  • Learn modelling techniques and design thinking appropriate for responsive development
  • Describe how to carry out Test-Driven Development effectively
  • Put concepts into practice

What the community says

"Thoroughly excellent and wide-ranging course from an instructor with a great breadth and depth of knowledge"

December '14 course delegate on 12th Dec 2014

"I really enjoyed both the lectures and the hands-on labs."

Alesandro Casodo Vidal on 12th Dec 2014

"Great instructor - would definitely attend any course he gave in the future."

Course Delegate on 8th Nov 2010

About the Author

Kevlin Henney

Kevlin Henney is an independent consultant, trainer and author. His interests are in process, practice, patterns and programming.

Agile Development

  • Software development and change
  • Agile values and principles
  • Iterative and incremental development
  • Visualisation of progress
  • Kicking off and closing out an iteration
  • The role of testing
  • Modelling in an agile context
  • Plan-Do-Study-Act

Common Agile Approache

  • Extreme Programming
  • XP1 and XP2 practices
  • Scrum
  • Scrum roles, events and artefacts
  • The Nokia test
  • Lean Software Development
  • Lean principles
  • Kanban for software

Software Craftsmanship

  • Code quality and development skills
  • Elements of well-crafted code
  • Coding guideline benefits and pitfalls
  • Code sufficiency versus overdesign
  • Technical debt and code smells
  • Refactoring
  • Programmer testing

Test-Driven Development

  • Good Unit Tests (GUTs)
  • Plain Ol' Unit Testing (POUT)
  • Defect-Driven Testing (DDT)
  • Test-Driven Development (TDD)
  • Key TDD practices and the test-first cycle
  • Overview of JUnit and NUnit
  • Behavioural testing based on propositions
  • Negative test cases

Design Practice

  • Agile architecture and responsive design
  • Patterns thinking
  • Class hierarchy design
  • Acyclic dependencies
  • Interface decoupling
  • Transitive and external dependencies
  • Test doubles
  • Components with single responsibilities

Goal-Structured Requirements

  • Specifying with goal-oriented scenarios
  • Incremental development
  • Lightweight use cases
  • User stories
  • User story styles and guidelines
  • Prioritisation in terms of value and risk
  • Estimation and tracking


The Agile Development for Developers course is aimed at Java and C# Developers, who want to learn what Agile means for them. It introduces a number of common agile techniques and puts these into practice in labs and exercises in pairs and groups, before applying these over a series of mini-iterations.

The workshop balances taught material with practice, introducing requirement techniques, lightweight modelling techniques, tracking and estimating approaches, design principles, testing practices and refactorings.


To benefit from this Agile Development for Developers workshop, you should be an experienced Java or C# developer. If you have some experience with agile processes, use cases or user stories, unit testing and modelling prior to attending, this will be an advantage.

Any previous experience with UML, patterns and agile development is an advantage but not a requirement.

Bring your own hardware

To benefit most from this course, please bring your own laptop, so you can develop with your own tools and languages, rather than something you are not familiar with.

If you are not able to bring in your own laptop, please contact the Skills Matter team on +44 207 1839040 or email info@skillsmatter.com