“We are an Agile shop”… Really?

As I talk to software companies, many today will say that they are “an Agile shop”.  Really?  Just because you don’t have written specs and you have a list of things to do posted on the wall does not make you Agile.   Agile is a very well defined methodology derived from Lean Manufacturing principles pioneered by Toyota.  Some highlights of an Agile environment include:

  • Requirements defined in short “Stories” written from a business perspective
  • Product owners who are involved with the team daily answering questions and providing product direction
  • Estimates originated from the team
  • Short, iterative development cycles designed to produce working code that can drive customer feedback
  • QA involvement from the start!  Quality is built in – not inspected in
  • Automation – quick iterations and multiple releases require automated testing – there is not time for manual regression testing with every cycle
  • Velocity metrics and burn-down charts
  • Continuous improvement – with each iteration, you should be taking deliberate steps to see what is working, what is not, and coming up with actionable changes to make it better the next time around.

Moving to an Agile methodology is not easy and you don’t have to do all this at once, but you should certainly be moving in that direction.  If you are not, don’t say you are Agile – too many executives think that Agile is either an excuse from the dev team so they don’t have to write proper requirements or that it is a justification for management to change the requirements on a daily basis.   After all, we are agile!