File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Agile and Other Processes and the fly likes Iteration in XP Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "Iteration in XP" Watch "Iteration in XP" New topic
Author

Iteration in XP

Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8919

How many does an iteration in XP normally run into ? Thanks.


Groovy
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24184
    
  34

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


How many... weeks? Bugs? Pedestrians?


[Jess in Action][AskingGoodQuestions]
Jared Richardson
author
Ranch Hand

Joined: Jun 22, 2005
Posts: 113
Originally posted by Pradip Bhat:
How many does an iteration in XP normally run into ? Thanks.


As many as it needs.


Check out <b>Ship It! A Practical Guide to Shipping Software</b><br /> <br /><a href="http://www.pragmaticprogrammer.com/titles/prj/" target="_blank" rel="nofollow">http://www.pragmaticprogrammer.com/titles/prj/</a>
Rick O'Shay
Ranch Hand

Joined: Sep 19, 2004
Posts: 531
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

Joined: Feb 27, 2002
Posts: 8919

Originally posted by Ernest Friedman-Hill:


How many... weeks? Bugs? Pedestrians?


I meant weeks.
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8919

How does one calculate the number of iteration a project requires ? Is it based on experince?
Rick O'Shay
Ranch Hand

Joined: Sep 19, 2004
Posts: 531
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
Ranch Hand

Joined: Jun 22, 2005
Posts: 113
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?
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
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).


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
peter wooster
Ranch Hand

Joined: Jun 13, 2004
Posts: 1033
This reminds me of the question "how long is a string?"
Scott Ambler
author
Ranch Hand

Joined: Dec 12, 2003
Posts: 608
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


<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8919

Thanks Scott for the useful advice. Points 3 and 4 are really great ones.
ankur rathi
Ranch Hand

Joined: Oct 11, 2004
Posts: 3830
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.
Srinivas Krishnan
Greenhorn

Joined: Oct 16, 2003
Posts: 8
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
Ranch Hand

Joined: Jun 22, 2005
Posts: 113
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
Ranch Hand

Joined: Dec 12, 2003
Posts: 608
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
Sheriff

Joined: Jul 11, 2001
Posts: 14112
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
Sheriff

Joined: Jul 11, 2001
Posts: 14112
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?
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Iteration in XP