Agile Planning from Enterprise Vision to Team Stand-Up Part 1


by Hubert Smits - Date: 2006-12-21 - Word Count: 1028 Share This!

Agile Planning from Enterprise Vision to Team Stand-Up (Part 1 of 3)

Experience gathered during large-scale implementation of Agile concepts in software development projects teaches us that the currently popular Agile software development methods (like Scrum ) do not scale to program, product and organization level without change. The fundamentals for changes to these methods are found in Lean principles, or: the future of Agile methods is found in its origins. This paper describes a planning framework that has been used successfully in large-scale Agile projects and investigates the impact of introducing this framework on three core Lean principles : Muri, Mura and Muda.

Planning in Large Scale Agile Projects

In Agile methods, loading a team with work is done through iteration planning. Due to the shortness of the iteration (typically one to six weeks) a plan reduces in importance and planning gains in importance. For small projects, it may be sufficient to plan only a single iteration at a time. The experienced disadvantage of iteration planning when applied to projects that run for more then a few iterations or with multiple teams is that the view of the longer term implications of iteration activities can be lost. In other words: the view of "the whole" is lost. A solution is to add planning levels to incorporate the current view of "the whole".

In plan-driven and waterfall methodologies, this problem is overcome through a large upfront design, aiming to predict accurately how much work is involved in each project task. This leads to a large investment early in the project, when it is by no means certain that the designed functionality is actually the functionality desired by the product owner. An approach with multiple levels of planning has to avoid the reintroduction of the big design up front.

Planning activities for large-scale development efforts should rely on five levels:

• Product Vision
• Product Roadmap
• Release Plan
• Sprint Plan
• Daily Commitment


The certainty of undertaking activities addressed in each of the five levels increases, and therefore the amount of detail addressed (money invested), the number of people involved and the frequency can increase without running the risk of spending money on features that may not be built or may be built differently. Each of the five levels of planning addresses the fundamental planning principles: priorities, estimates and commitments.

Product Visioning - Level 1 The broadest picture that one can paint of the future is a vision of a product owner. In this vision she explains how an organization or product should look. She indicates what parts of the system need to change (priority) and what efforts can be used to achieve this goal (estimates and commitments).

Product Visioning - How To Possible structures for a visioning exercise are to create an elevator statement or a product vision box . The principle of both exercises is to create a statement that describes the future in terms of desired product features, target customers and key differentiators from previous or competitive products.

Geoffrey Moore uses the following structure in his elevator statement: "For (target customer) who (statement of the need) the (product name) is a (product category) that (product key benefit, compelling reason to buy). Unlike (primary competitive alternative), our product (final statement of primary differentiation)." The product vision describes a desired state that is 12 months or more in the future. Further planning (design) activities will detail the vision, and may divert from the vision because the future will bring us a changed perspective on the market, the product and the required efforts to make the vision reality.

Product Roadmap - Level 2 The era of large-scale projects that deliver results in years is behind us. Customers demand more frequent changes and typical time-to-market timeframes are measured in weeks or months. The higher frequency and smaller timeframes force a product owner into thinking in steps, into thinking of a road towards the final product. Just like a journey is planned upfront and shared with the fellow travelers, a product roadmap is created and communicated to fellow delivery people.

The goals for doing so are for the product owner to:
• Communicate the whole
• Determine and communicate when releases are needed
• Determine what functionality is sufficient for each release
• Focus on business value derived from the releases


The delivery team on the other hand will:
• See the whole
• Learn about the steps to realize the vision
• Learn the business priorities
• Provide technical input to the roadmap
• Provide estimates for the projected features


Product Roadmap - How To The creation of the roadmap is largely driven by the product owner (or product owner team). This stage of the program has limited influence of technology constraints. In a meeting or series of meetings, the roadmap will be drawn by the product owner. This can be quite literally, through a graphical representation of the releases, or more formally in a written document outlining the dates, contents and objectives of the foreseen releases.

Product Backlogs In anticipation of the next planning stage (release planning) a list of desired features needs to be built - the product backlog. In its simplest form, such a backlog is a table (spreadsheet) of product requirements, briefly described so a delivery team can provide estimates for the realization of each feature. Most importantly, the list has to be prioritized. The success of an Agile development project depends on the early delivery of the highest priority features. Since the success of a project is measured in business terms, the prioritization of the feature list is the responsibility of the business, i.e. the product owner. Interaction with the delivery teams is required. Without a discussion of the features it will be hard for the delivery team to produce estimates that have an acceptable inaccuracy. Characteristics of a product backlog include:

• One product backlog for all teams (see the whole)
• Large to very large features (up to 20 'person days' to deliver a feature)
• Feature priority based on business priorities (discovered through market research)
• Technology features (sometimes called non-functional features, work required to make the product work in a desired way, e.g. the implementation of a certain DBMS in order to warrant a certain system performance) are limited to those that have a direct impact on the success of the product in the market.


Related Tags: project management, agile development, agile project, agile planning

Hubert Smits is a Certified ScrumMaster Trainer and has helped hundreds of software team members successfully transition dozens of projects to Agile and Lean practices. Access additional resources on transitioning to Agile at http://www.rallydev.com/agile_knowledge.jsp

Your Article Search Directory : Find in Articles

© The article above is copyrighted by it's author. You're allowed to distribute this work according to the Creative Commons Attribution-NoDerivs license.
 

Recent articles in this category:



Most viewed articles in this category: