Tuesday, May 1, 2012

Top signs you've missed the point of Agile

I'm currently working on an "Agile" project with a company that's trying to break from their Waterfall-based past. They're using a Scrum-like process. Even though the classic mistakes have been repeated over and over again by everyone else who's done this in other companies, and repeated over and over again within this particular company, they kept getting made regardless. It doesn't seem to matter how many people point that out to them or how often it is.

To do the same thing over and over again and expect a different result is insanity.


The snapback to Waterfall is instinctive, especially for traditional shops - especially those coming from a COBOL background. It's a very slippery, silent, and dangerous slope. It's like a recovering crack addict just getting just one hit.

Here are some of the more obvious signs you're falling off the wagon:
  • Process definition and following the process is a priority over coding, testing, and delivering
  • Process complexity is a frequent complaint of team members
  • There's no time to make architectural improvements or do upgrades. Shortcuts are regularly accepted
  • The next deadline always outranks the long-term investment
  • You have tools and infrastructure that dictate your workflow and make it less efficient, that you have to alter architecture for, that you have to make allowances for
  • Your developers have more meeting time than coding time (testers have more than testing time)
  • Your meetings typically have more than 4 people in them
  • Regularly scheduled meetings are the norm
  • All of your requirements are already worked out
  • Your software delivery dates and deliverables for those dates are worked out
  • The software isn't considered done unless the documentation is done
  • You haven't talked to your customer in over a week
  • Morale is low, teams bicker, motivation is low
  • The post-mortem/retrospective becomes a "bitch session"; no actual improvement ever gets made and issues continue to recur over and over again
Check out the Agile Manifesto and the Agile Principles.

For those looking to get the real advantage of Agile, you need to take on the whole thing, not just the pieces you think your company can deal with.

Practices like Model-Driven Engineering and Continuous Integration (with Test-Driven Development) are key to reducing costs, time, and increasing quality.