• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Iteration in XP

 
Ranch Hand
Posts: 8945
Firefox Browser Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
How many does an iteration in XP normally run into ? Thanks.
 
author and iconoclast
Posts: 24207
46
Mac OS X Eclipse IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Pradip Bhat:
How many does an iteration in XP normally run into ? Thanks.



How many... weeks? Bugs? Pedestrians?
 
author
Posts: 113
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Pradip Bhat:
How many does an iteration in XP normally run into ? Thanks.



As many as it needs.
 
Ranch Hand
Posts: 531
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
What do you suppose an iteration is? Your question leads me to believe you are working from an inappropriate definition with respect to agile methods.

Iterative development is not a series of horizontal refinements, rather, it has a strong vertical orientation. A single production-ready improvement is added during each iteration. That is to say it has been refactored such that it is scalable, extensible, re-usable and fully tested. Quality remains while functionality rises. It must of course have unit tests that run as part of the build process. A failed test is just as bad as a failed compilation: stop the presses and remedy the problem.

Horizontal development, where you are making incremental improvements across the board is not iterative development. That is a widely held misconception.
 
Pradeep bhatt
Ranch Hand
Posts: 8945
Firefox Browser Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Ernest Friedman-Hill:


How many... weeks? Bugs? Pedestrians?



I meant weeks.
 
Pradeep bhatt
Ranch Hand
Posts: 8945
Firefox Browser Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
How does one calculate the number of iteration a project requires ? Is it based on experince?
 
Rick O'Shay
Ranch Hand
Posts: 531
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Pradip Bhat:
How does one calculate the number of iteration a project requires ? Is it based on experince?



I knew my response was too wordy, you didn't get it. I will try again:

Iterative development is not a series of horizontal refinements...
 
Jared Richardson
author
Posts: 113
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You don't generally map out 12 iterations per project in a completely Agile environment. You iterate over the project until it's done.

Hopefully you'll be able to estimate how long your project will take, but that's just an estimate. If it's not done, then you keep working. If you finish early, why keep working?

What is your definition of an iteration?
 
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Jared Richardson:
You don't generally map out 12 iterations per project in a completely Agile environment. You iterate over the project until it's done.



Or untile the customer can't/won't pay any longer. At that time, he gets the most valuable system he could get for that money (because you work on the most valuable features first).
 
Ranch Hand
Posts: 1033
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
This reminds me of the question "how long is a string?"
 
author
Posts: 608
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Iterations can be any length of time. My advice is:
1. An iteration shouldn't be any more than 4 weeks in length, otherwise you're likely to slip into a mini-waterfall style of development.
2. I prefer either one or two weeks in length. This keeps the delivery pace of the project nice and steady because you deliver some new functionality on a regular basis.
3. When you're transitioning a traditional organization to an evolutionary (iterative and incremental) approach to development, try to identify the length at which they think they're comfortable (e.g. 8 weeks) then remove a week or two (e.g. start with iterations of 6 weeks) to force them to become less bureaucractic. Do a couple of iterations like this, then start reducing the iteration length until you're down to something reasonsable (e.g. less than 4 weeks).
4. If your iteration is one week in length, run it from Wednesday to Tuesday. Iterations which run Monday to Friday typically suffer from "Weekend-itis" where your focus and energy is reduced dramatically on Friday because it's the end of the iteration and the end of the week. This is effectively a double whammy to your productivity.
5. Fundamentally, an iteration should be just long enough so that you can get something useful done.
6. Have as many iterations as you need. Requirements change, which means the length of time you need to implement the system should change to reflect this.
7. If you need to have a firm delivery date, then simply set one and deliver on it. Keep doing development iterations until you get to the point where you need to deliver the system. If you continually implement the highest-priority requirements, see Agile Requirements Change Management then what you deliver will be the highest value possible.

- Scott
 
Pradeep bhatt
Ranch Hand
Posts: 8945
Firefox Browser Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Scott for the useful advice. Points 3 and 4 are really great ones.
 
Ranch Hand
Posts: 3852
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I feel that if iteration is just one week long then deveoper will be in too much *load* and they may think that they are being over used or utilized...

It is just my personal opinion.
 
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I am sorry if I come across as a little abrupt. But I think the question is not a right one. Iterations are not measured in terms of methodologies but more in terms of complexity of project. You cannot go into a project assuming 2-3 iterations, it just does not work like that.

A major problem with XP and iteration is the lack of traceability model from 1 iteration to another. You have to a great project manager who is at the top of his game to have XP work with multiple iterations. If you need something which is agile and works well with iteration I would suggest a new methodology called SEEM, http://www.archsynergy.com/seem/seem.php.
 
Jared Richardson
author
Posts: 113
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by rathi ji:
I feel that if iteration is just one week long then deveoper will be in too much *load* and they may think that they are being over used or utilized...

It is just my personal opinion.



If you aren't using a Continous Integration system, short iterations can be a real burden, but if you have a CI system running your builds, testing, and creating installers, iterations of any length become easy.
 
Scott Ambler
author
Posts: 608
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

A major problem with XP and iteration is the lack of traceability model from 1 iteration to another.



If this is actually a problem then someone should suggest that the team maintain some sort of traceability matrix. This should be treated like any other artifact -- you should explain the benefits and costs of it to your stakeholders, and then let them decide if they wish to invest in it. Your stakeholders were smart enough to earn the money, they're also smart enough to decide how to spend it.

- Scott
 
Ilja Preuss
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Shrin Krishnan:
A major problem with XP and iteration is the lack of traceability model from 1 iteration to another. You have to a great project manager who is at the top of his game to have XP work with multiple iterations.



I'm sorry, I don't understand what you are getting at. Would you please elaborate? Thanks!
 
Ilja Preuss
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by rathi ji:
I feel that if iteration is just one week long then deveoper will be in too much *load* and they may think that they are being over used or utilized...

It is just my personal opinion.



I don't understand this. How does going to shorter iterations increase load?
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic