Agile Principles Driven Development (APDD)

AKA Agile Principles Kaizen (APK)

How I use the principles behind the Agile Manifesto to drive continuous improvement in development teams.

Before I join a team, either as a consultant, coach or tester, I like to ascertain what development practices the team is following, or aspiring to follow, so that I help accordingly.

Typically, I find myself joining teams who “are Agile” or want to “be Agile” – they’re striving for short, iterative development cycles which enables them to more reactive to changes in their customers.

For these teams, I dig into my toolkit for the 12 principles that underpin the Agile Manifesto in order to determine if there might be a problem with development practices which may subsequently be having a negative impact on testing practices.

That’s right, I look at the entire system to see how testing can be continuous throughout the entire development cycle.

If I see a development practice that I believe is going against the Agile Manifesto principles, I call it out with the team so that we can discuss it & see if it is actually a problem.

Once we agree something needs to change, then we all put forward ideas that we can experiment with in order to try & improve our situation.

Hey presto, we’ve moved into continuous improvement, or Kaizen for you Lean advocates.

Once the team sees how small tweaks to their practices can greatly improve their development process their creative juices start flowing & changes start to come think & fast.

Remember, using the principles as a measure of agility is only a rule-of-thumb. The principles can’t be used to determine Agile best practice because no such thing exists.

I’ll dive into more detail around the anti-patterns I see in each of the principles & actions we’ve taken to improve our processes.

I’ve provided a handy copy of the Agile principles that you can print out & annotate – why not have a go yourself? Testagility Agile Principles pdf

Some approaches I’ve taken to using the Agile principles to help us continuously improve in the past include:

  •  1 principle per day/week across the whole team
  • 2/3 principles per day/week across the whole team
  • 1 principle per pair of team members
  • 3 week testing health check
  • Ad hoc during development

By the way, this idea of using the Agile principles to drive continuous improvement is nothing new – in fact practices like Scrum have been serving as a framework for delivering software using the principles as a guide for other 15 years!