Originally posted by Ilja Preuss:
Why would you *want* them to overlap?
I think that the underlying assumption is that RUP rather than XP processes are being used. In this case towards the end of an iteration the testers run the system tests and then the user performs the UAT tests. The outcome of the UAT tests are used to develop the iteration plan for the next iteration.
What this could potentially mean is that developers are idly twiddling their thumbs waiting for test, UAT and the iteration plan for the next iteration (potentially they could also be waiting for the requirements phase for this iteration to be complete). This would be the justification for 'overlapping' the phases in any iterative processes.
The only way that I know of to combat this is to have the developers involved in all phases of the project, instead of having requirements specialists, design specialists, etc. as it is very hard to coordinate what people can do whilst they are waiting for "their" phase to start in one project.
I know automated testing can reduce the test & UAT phases, but in my experience you will always have some time delay as the user tests the last iteration. The only other way is to tackle this delay is to consider an iteration 'complete' when it has been passed to the user for UAT, and start planning the next iteration immediately. This means not including any feedback from the UAT until 2 iterations after the code they are acceptance testing.
These are just ideas as they come to my head. Do you guys have any other suggestions?
Have the XPers ever encountered any lag like this between iterations? Are there ways to overcome this gap?
Regards,
Fintan