Tuesday, November 13, 2007

Agile Practices That are Usually Valuable

Our team is starting to look at the principles of Agile development and it won't be long before we get into the practices.  So I thought that I would share some of the knowledge that Steve McConnell bestowed upon me in his keynote address at the Microsoft Patterns and Practices Summit last week.

Steve McConnell's company Construx, has generated a report that relays their experiences with Agile practices.  The results not only come from their experience consulting and training clients ("approximately 1000 companies in the past 5 years"), but also from other published industry reports.  Steve presented the report by breaking down the practices into 3 categories:

Agile practices that are usually valuable

  • Short Release Cycles
  • Highly Interactive Release Planning
  • Timebox Development
  • Empowered, Small, Cross-Functional Teams'
  • Involvement of Active Management
  • Coding Standards
  • Frequent Integration and Test
  • Automated Regression Tests
  • Retrospectives at End of Each Release

Agile practices that have been hit or miss

  • Customer-Provided Acceptance Tests
  • Daily Stand-up Meetings
  • Simple Design
  • Test-First Development
  • 40-Hour Work Week

Agile practices that tend to be problematic

  • System Metaphor
  • On-Site Customer
  • Collective Code Ownership
  • Pair Programming
  • Refactoring

I can see at least one practice that my department is trending toward in the "Problematic" list.  This could be "problematic" going forward. :)

Anyway, I encourage you to post your reactions to this list via the comments.  I'd like to know what experiences you guys have had with these practices. Also, if you would like more information about their reasoning for placing a certain practice into a certain category, I'd be happy to oblige.

No comments: