Introduction
Agile planning is the process of identifying the high priority backlog items that the development team can implement and deliver based on their available capacity. Frameworks like Scrum recommend planning backlog items into short time-box called sprints or iterations. Methods like kanban recommend a continuous planning models.
Jile supports both time-box and flow based planning models. In addition to this teams can also plan at multiple levels vis-a-vis roadmap, release schedule and iteration schedule.
Release Schedule
Release Schedule or time-box represents a longer term planning horizon which enables teams to plan and deliver backlog items to achieve a larger goal. Release Schedule has a fixed start and end date and contains multiple iteration time-boxes. Time-boxes are fixed time schedules where a limited set of work is planned to be delivered by the end of the time-box.
Releases Schedules are different from the actual release of the product to the market. Jile supports the notion of Develop on Cadence, Release on Demand model. Release schedule represents the development cadence where the team can plan and develop the Product. Actual release of the product can happen anytime during the time-box or after the schedule is completed.
Release schedule can be specific to each product or synchronized across multiple products and teams enabling them to plan and deliver in a synchronized manner. When a release schedule is defined at a specific product or work-area all its child products / work-areas will derive the same schedule. Each work-area can decide the teams which will be participating in the release schedule.
Release Capacity
Each release schedule has a fixed capacity defined in points. It is the sum of all release capacity of the participating teams. Release capacity can be managed by either adding or removing iterations from the schedule or by adding or removing teams in the release.
For scrum teams release capacity is calculated by multiplying their velocity with the number of iterations planned in the release schedule. For Kanban teams it is calculated based on their throughput measured in stories per week multiplied by the number of weeks in the release schedule and the default story size in points. Release capacity can also be manually overridden for a specific release schedule by modifying the capacity for each teams.
Release capacity based planning helps the teams to plan the most valuable work within the available capacity based on the past trends. This also ensures the teams are not overburdened. It is also advisable not plan against the full capacity and always have a buffer for any unforeseen circumstances.
Release Schedule Functions
Release Plan
Release Plan Function helps the teams to define and plan backlog items into the release schedule.
- Define the release schedule with details like title, start and end dates Define multiple iteration schedules within the release schedule Select one or more teams who will be working on this schedule Plan backlog items into the release and iteration schedules Visualize and track the available and planned capacity using points
Release Progress
Release Progress Function helps the teams to track the progress of a Release schedule and the individual backlog items planned in the release schedule.
Release Dashboard
Release Dashboard Function helps the teams to visualize the progress of a release schedule using charts and summary reports.
Release Achievement
Release Achievement Function helps the teams to view the achievement and summary of all backlog items of a completed release schedule.
Release Schedule Attributes
Title | Brief Title of the Release Schedule |
Description | Detailed Description of the Release Schedule |
Goals | High level Goals of the release schedule |
Status | Status of the release schedule |
Time Frame | The business time-frame this schedule belongs to |
Start Date | Planned start date |
End Date | Planned end date |
Ready Date | The date on which the release schedule was marked as in-progress |
Closure Date | Date on which the release schedule was closed |
Iteration Duration | Duration of iterations in weeks. Based on this value the iterations schedules are automatically created. |
Teams | Participating teams |
Capacity | The total capacity of all the teams measured in points |
Workareas | List of all participating workareas |
Owner | Workarea where the release schedule was created |
Iteration Schedule
An Iteration schedule is a short one or two week time-box where the team develops the stories and creates a working software. An Iterations can be defined as a standalone iterations or could be part of a larger release schedule.
During the start of the iteration the product owner along with the teams perform the planning exercise where the pick the top ranked stories from the product backlog and schedule them into the time-box based on the available capacity. The identified stories move from the product backlog to the iteration backlog. Iteration capacity is defined based on the average velocity of the team and can be manually overridden for each iteration.
Once the stories are identified and planned into the iteration backlog teams can optionally break them into a set of development tasks. During the iteration the teams pull their tasks and implement the same. The perform daily stand-up meetings to discuss the progress and any impediments they may have in completed the work planned.
At the end of the Iteration schedule teams demos the finished product to the product owner and stakeholders to gather feedback. A Retrospective is done at the end of the iteration schedule to inspect the development process and practices and identify areas for improvement
Iteration Schedule Functions
Iteration Plan
Iteration Plan Function helps the teams to define and plan backlog items into the iteration schedule.
Iteration Progress
Iteration Progress Function helps the teams to track the progress of an iteration schedule and the individual backlog items planned in the Iteration.
Iteration Dashboard
Iteration Dashboard Function helps the teams to visualize the progress of an iteration schedule using charts and summary reports.
Iteration Achievement
Iteration Achievement Function helps the teams to view the achievement and summary of all backlog items of a completed iteration schedule.
Iteration Schedule Attributes
Title | Brief Title of the Iteration Schedule |
Description | Detailed description of the iteration schedule |
Goals | High level goals of the iteration schedule |
Status | Status of the iteration |
Start Date | Planned start date |
End Date | Planned end date |
Ready Date | The date on which the iteration schedule was marked as in-progress |
Closure Date | Date on which the iteration schedule was closed |
Teams | Participating teams |
Iteration Capacity | Iteration capacity of the team measured in points |
Workareas | Participating workareas |