them. It is a worthwhile activity that can lead to a great increase in software quality and reduction in cost.
How Rapid Should My Iteration Be?
Velocity in agile methodologies is the amount of work you can get done during the iteration. In Scrum, you estimate your velocity before each sprint (the number of backlogs you can complete) and you revise your estimate based on previous experience. How many testing activities you work into the iteration may affect your velocity, and this has to be taken into consideration when you decide how long your iteration should be. A longer iteration may support additional activities like more testing, while shorter iterations promote agility and the code doesn’t have time to change much between reviews, ensuring proper design.
So, which is the best? That’s up to each team to decide, and factors like testing, team composition, and more will determine the answer.
A rapid, iterative development cycle provides an ideal opportunity to inject proper testing practices—both manual and automated—such as code reviews, continuous integration, and automated unit and regression testing. Teams working this way can test quality up front and therefore correct errors and defects early in the development cycle, when it costs the least. When working in tandem with proper design practices that encourage code reviews, refactoring, and simplicity, the number of defects that occur can be significantly reduced. The marriage of the agile principle of rapid iteration, proper agile testing, and design practices will help yield higher quality software applications and sustain that quality over time.
Schwaber, Ken, 2007. The Enterprise and Scrum . Redmond, Washington: Microsoft Press
Schwaber, Ken and Martin, Robert, 2004. Best Practices in Scrum Project Management and XP Agile Software Development . Object Mentor, Inc. and Advanced Development Methods.
Kniberg, Henrik, 2006. Scrum and XP from the Trenches
Mah, Michael, 2008. How Agile Projects Measure Up, and What This Means to You . Arlington, MA: Cutter Consortium
Fowler, Martin, 2004. Is Design Dead . http://www.martinfowler.com/articles/designDead.html
Patrick Burma is a sales engineer for PureCM and an expert in the development tool industry with more than 10 years experience. With an extensive background in software configuration management, change management and enterprise software testing, Patrick's vast industry knowledge proves invaluable when recommending and implementing solutions for software development clients. As a certified Scrum Master, Patrick also facilitates rigorous and successful development endeavors, recommending strategies to maximize productivity.