Our projects should always strive for simplicity in the way they are structured and organized. This is especially true for the organizations of release and iteration plans.
With iterative development using agile methodologies such as Scrum, we emphasize breaking down a project or a software release into time boxed iterations (called Sprints in Scrum). It’s very important to note that iterations truly represent a “bucket” of work – the capacity of this bucket determined by the fixed length of the iteration (usually ranging from 1-4 weeks) and the amount of work your team can get done in that period of time.
In a simple project, we may structure our sprints very linearly – demonstrated in TeamPulse in Figure 1
Figure 1 - Linear Iterative Progression
Here we can see that even though we may have many internal releases, work is divided into Sprints which are scheduled in sequence throughout the project.
One more complex projects, it may be required to have the product manager and user experience designer work a one or two sprints ahead of the engineering team – and even in this case a simple linear progression of iterations is perfectly acceptable.
There may come a time when you may have two simultaneous releases in progress and you will be required to manage the capacity of each of these releases independently. Such a situation arises if you are a product vendor and you release service packs during the regular release cycle of your product. Some teams are able to manage this process well with a simple linear model – however, in more complex cases, you may want to have iterations dedicated to the service pack release occurring in parallel to other releases on the project. This will allow you to understand capacity constraints of the service pack independent of the rest of the release, as well as track service pack progress more specifically and independently at the same time.
If this is the case, don’t worry – we’ve thought of that in TeamPulse and we’ve added a number of features that make the management and tracking of concurrent iterations a breeze.
TeamPulse will allow you to structure your iterations and releases as you need to match the conditions of your project and it allows for many concurrent iterations to exist, demonstrated in Figure 2.
Figure 2 - Creating Concurrent Iterations
In addition, TeamPulse makes it extremely easy to quickly access your current iterations, however many there in your project. All of the Iteration Filters/Selectors in TeamPulse have a button that allows you to select all of your current iterations, past iterations, or future iterations, as shown in Figure 3
Figure 3 - Selecting Current Iterations in One Click
In fact, here is a trick you can use to show progress of your current iterations at the same time on your project story board. First, navigate to the story board in TeamPulse. A unique feature of TeamPulse is the ability to group story and task board cards by certain field values – and in this case, group your story board by Iteration as shown in Figure 4.
Figure 4 - Grouping the Story Board by Iteration
This will group the stories on the story board by the iteration they are assigned to as shown in Figure 5
Figure 5 - The Story Board grouped by Iteration
By default, the story board automatically selects all current iterations so you will be able to easily see how your entire project is progress, despite having multiple concurrent iterations.
Of course, you can use this same functionality in the Dashboard as well as My Perspectives as shown in Figures 6 and 7.
Figure 6 - Selecting Multiple Concurrent Iterations on the Dashboard
Figure 7 - Selecting Multiple Concurrent Iterations on the My Perspective screen
We strongly recommend that you keep your project structure as simple as possible – however, if at times you find that the only way to manage your teams is by managing multiple concurrent iterations you’re in good hands with TeamPulse.