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.

Planning

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.



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
Planning

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