In an Agile software development setting, initial release planning determines what product requirements listed in the product backlog should be prioritized and entered into the release backlog. Task estimation and development tasks are entirely the responsibility of the developers, whereas feature prioritization is the decision of the customer. It is the combination of these decisions that determine which features will be delivered by the release deadline.Planning work & releases in an Agile setting
The development team does have a say in feature priorities, but only when customer priorities conflict with structural aspects of software design. Under such circumstances the developers can request reprioritization to take into consideration these development requirements.
Related blog post: How To Increase Transparency in Your Agile Planning Processes?
Agile Release Planning is based upon team velocity: you'll have to estimate just how much work a team can do within each iteration. Consequently, determining the velocity of a development team is critical to successful Agile release planning. Naturally, this implies that estimating the effort necessary to complete certain tasks is also crucial.
Making this estimation is particularly difficult for new teams because velocity is often measured on work done on previous projects, and is heavily dependent on experience. Quite often, you'll have to settle for a vague estimation. Typically, the release plan is a fixed deadline between 2 months and a year in length.
The first draft of the release plan is usually a hard compromise between the desired features of the customer and the time requirements of the development team. However, the potential ROI is known by this point and should help evaluate the project and prioritize features to drive fast return on investment.
Agile planning tools
Once you have a good idea of the tasks to be completed, as well as how long it should realistically take for your team to completet those tasks, you'll want to have a clear and presentable overview of the development timeline. Burndown charts are mostly used for measuring velocity as the project is running. If you want to give stakeholders an idea of how long releases will take, Gantt charts are what you are looking for.
While there's some disagreement on the use of Gantt charts in Agile development, some Agile practitioners think it greatly supports the visualization and management of releases.
codeBeamer's Agile Planning Board is another handy tool that provides you with a dashboard to manage sprint and release planning. You can assign items to backlogs and sprints, or move items between sprints using simple drag & drop. It also allows you to assign work items to project members or teams. Changes to work items can be made without leaving the planning board.
For more Agile insights and best practices, sign up for our Agile Training Course! To find out more about codeBeamer's Agile features, start your free trial right away.