February 13, 2008

One of my colleagues recently shared his vision of agile:

  • Siloed development
  • No code reviews
  • No documents
  • No iterations
  • No coding standards
  • No retrospectives
  • No team-based design
  • No written requirements
  • No planning – just do it!
  • Collection of subject-matter experts, but not really a team

Wow. I’m not sure exactly what that equates to, but I think Robert Martin would call it “crap”.

Perhaps my colleague prefers an ad-hoc development environment where reliance on heroes (of which he is one) exists. It is sad that many (dare I say most?) software development teams are plagued with this approach.

Here is my contrary vision of agile as a practitioner with 8 years of experience and as a Certified Scrum Master:

  • Team-based development
  • Buddy code reviews
  • Minimal but meaningful documents
  • Monthly iterations (or shorter)
  • Coding standards documented and enforced
  • Retrospectives held after each iteration, feedback loop for improvement
  • Team-based design consensus
  • Written requirements in the form of User Stories
  • Detailed planning for the next iteration, overall high-level planning for the project
  • Subject-matter experts where required, but team is highly collaborative and helpful

Do you see the difference? Which will be successful? Which is better for the company bottom line?

Comments? Feel Free! Contact me and let me know what you think.

Back to Blogs