Tuesday, July 22, 2008

Agile Scope Management

It is not the strongest of the species that survive, nor the most intelligent, but the ones most responsive to change. —Charles Darwin, The Origin of Species

"Plan-driven approaches work hard to prevent changes in scope, whereas agile approaches expect and embrace scope change. The agile strategy is to fix resources and schedule, and then work to implement the highest value features as defined by the customer. Thus, the scope remains flexible. This is in contrast to a typical waterfall approach where features (scope) are first defined in detail, driving the cost and schedule estimates. Agile has simply flipped the triangle."

There are five levels of planning common to most agile projects:

Vision

  • The vision is defined and presented at a high level and not clarified until further discussions and subsequent exercises take place
  • The vision presents the big picture to get all team members on the same page, defines the mission of the project team and the boundaries within which they will work
  • The project's goal should be directly traceable to a corporate strategic objective
  • Commonly only a dozen or so features may be identified e. "provide online order capabilities," "enable international ordering and delivery," "create data warehouse of customer orders to use for marketing purposes," and "integrate with our current brick-and-mortar inventory system."
Roadmap
  • A roadmap is a high-level representation of how the product will evolve over time through subsequent releases e.g. the features or themes for each release, the customer targeted, the architecture and the business value
  • The roadmap should be revised and developer on a regular basis
  • The customer should own the the roadmap as they are responsible for maintaining and prioritising the backlog of work
  • Feedback should be encouraged at all sessions to better define a reasonable approach to deliverables
  • The end result of the vision and roadmap discussions should be the prioritised product backlog
Release Planning
  • Review the strategies and vision and determine how to map the work from the prioritised backlog into the iterations that make up a release
  • The release plan is divided up into iterations with associated high-level features
  • The release plan also includes any assumptions, dependencies, constraints, decisions made, concerns, risks, or other issues that may affect the release
  • Teams that are not co-located should make every effort to bring everyone together for this meeting
Iteration Planning
  • At this stage features should be elaborated, tasks identified, and the time needed to accomplish the tasks estimated
  • An iteration planning meeting should be used to conduct this work at the beginining of each iteration where the team reviews the release plan and the prioritised items in the backlog, reviews the features requested for the current iteration, and tasks out and estimates those features
  • Here that the details of the features are discussed and negotiated and it's often discovered during that the sum of the task efforts exceeds the size of the iteration timebox therefore some of the work needs to be shifted either into the next iteration or back into the backlog
Source: The Software Project Manager's Bridge to Agility: Scope Management

No comments: