Iteration Planning Template
I recently updated a template on my website that I frequently use when either leading iterative development projects or coaching project managers on effective iterative development techniques called the Iteration RouteMap. The word 'routemap' comes from a South African colleague who used the 'king's english' and insisted that the term routemap was more appropriate than roadmap, the name's stuck ever since!
As far as templates go this one is really quite lightweight, however, there are several key concepts that are important when managing projects in general and iterative projects in particular. The first is using a mechanism to determine how to size effort. I typically look at this from the perspective of size and complexity (which is usually a good indication of risk). Large and complex work items should be started early in the project lifecycle. I also estimate using Perfect Engineering Days (PEDs), this illustrates how long something should take without interuptions, well defined requirements and all of the other components that can impact how long it actually takes. A Load Factor is then used to convert PEDs into a realistic estimate. The Load Factor reflects the productivity of the project and is typically between '2' and '5'. A '5' reflects a programming language that is either new to the development team or difficult to work with (such as Visual Basic 4/5 within an object oriented development environment). 2 is usually only achieved when the development team has been working on a project for an extended period of time, usually near the latter iterations of the project (when development complexity should be lower). It should be noted that as you actually get some iterations completed you can start substituting the Velocity of your development for the Load Factor.
The final item is to recognize that there are different Types of functionality/value that will be completed during an iteration. The logical work items are user stories that represent tangible units of business value that stakeholders can identify and provide feedback on. However, often these stories need to be supported by 'Infrastructure' stories which ensure a well designed system which can support its non-functional requirements. In addition, the User Interface (UI) necessary for the story can also be decoupled from the story iteself and is often represented as a separate work item.
Hopefully this template will be useful to both those just starting their agile/iterative development initiatives as well as those who have been doing this type of rowkr for awhile. As usual, please feel free to email me with comments.