Agile Zone is brought to you in partnership with:

In the course of his 30-year career, David Bernstein has trained more than 6,000 developers at hundreds of companies on how to improve their software design and construction. His company, Techniques of Design (http://www.techniquesofdesign.com), provides customized training, coaching and consulting to software developers and development teams around the world, enabling them to master essential practices, including Agile, Scrum, XP, test-driven development, design patterns and related techniques, for building high-quality software more rapidly. David is a DZone MVB and is not an employee of DZone and has posted 18 posts at DZone. You can read more from them at their website. View Full User Profile

Why Short Iterations Work

10.28.2010
| 3417 views |
  • submit to reddit

Software developers are infamous for not being good estimators. They say programmers have three timelines they work with: “done”, “not started” and “nearly finished”. It is easy to get caught up in the implementation details and not know exactly how long it will take to wrap up the task.

Time boxing can be very helpful when developing software. Our customer can assign a relative priority to a particular piece of functionality and we can stay focused on implementing just that piece for a period of time. If we do little bits of work towards that goal and review and validate our progress at the end of time slice, it is more likely to keep us focused on building what the customer wants.

Short iterations help us manage the complexity of tasks by forcing us to break tasks down into smaller and smaller steps. These smaller steps help us estimate more accurately and validate more frequently. Short iterations keep us from staying stuck on something for too long and give us frequent checkpoints to validate our work to make sure we are producing the most value for our customers.

When we work in short iterations we often don’t have time to figure things out everything up front so we have to figure them out as we go. We get good at identifying risks early on a project and find ways to encapsulate them so we can defer on implementing parts without paying a big price later.

When a task seems so complex that it is overwhelming it can be helpful to break it down into smaller tasks. This exactly what we do when we work in short iterations.

References
Published at DZone with permission of David Bernstein, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Tags:

Comments

Emma Watson replied on Fri, 2012/03/30 - 5:00am

One additional important factor is short feedback cycle. That is why Daily Scrum works well for most of us – it provides daily feedback cycle. But it is internal team cycle. Short iterations give us the next level of feedback cycle with customer involved.

JDBC

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.