Chapter 8: Advanced Release Planning
Emerging Practices
- Kanban: combo of lean & Goldratt's Theory of Constraints; limits WIP and new work is introduced as in-process work completes; iterations and stories are not fixed-length - Consolidated Development: three iteration lengths running simultaneously - Hyper-development and Release: combo of consolidated development and fast distribution and employment
Importance of Release Planning
- Lack of good release planning is endemic in parts of the Agile community, according to Highsmith - Highsmith maintains that elimination of planning rigor will hinder wider acceptance of Agile approaches because you need some planning to develop adaptable guidelines.
Wave Plan
- Lays out milestone (rolling window) plan and details - Story - Capability - Interim release to customer
Iteration Plan
- Lays out theme and details for iteration - Story/Task - Story - Customer review process
Release Plan
- Lays out year's (budget year) plan and deployment details - Capability - Project feasibility - Final release to customer
Other Story Types
- Maintenance: make System Change Requests part of stories, have maintenance done in small groups - Task Cards: stories have tasks in them, sometimes too large to not have their own card - Change Cards: customer feedback after each iteration - Inter-Team Commitment Story (ICS) Cards: summarizes work to be done for one team by another - Decision Milestones: monitor them so that other stories are not held up - Performance Cards: document key operations and performance requirements of the product; inter-story
Multi-Level Planning
- Multiple, top-down, and synchronized levels of plans. - Short-term plans should represent decomposition of higher level plans and be in synchronicity. - Since plans change, constructing detailed plans for a long-term project may not be the best use of planning. - Addresses adaptability dilemma.
Planning and Scanning
- Planning: working with what we know - Scanning: looking ahead to lean the unknown as quickly as possible --- Prevents too great an emphasis on adaptation over anticipating: - take advantage of information you already know - save excessive rework and time delay
Adaptability
- Predictability - Flexibility
Top-Down Multi-Level Release Plans
- Roadmap Plan (TOP: 2 years) - Release Plan (1 year) - Wave Plan (3 months) - Iteration (Sprint) Plan (2 weeks)
Risk Analysis and Mitigation
- Team involvement in planning and estimating - Early feedback on delivery velocity - Constant pressure to balance the number and depth of features with capacity constraints - Close interactions between engineering and customer teams - Early error detection/correction to keep a clean working product
Purpose of Release Planning
- The purpose of Agile release plans is to build consensus on the need for sufficient release planning rigor. - Foster a better understanding of project viability and feasibility. - Outline assessment and mitigation of risk. - Enhance a team's ability to prioritize capabilities and stories. - Give the team a "feel" for the entire project. - Enable answers to management questions about value, schedule, and cost. - Create a comfort level about the project with both team members and management. - Create a plan for partial deployment.
Increasing Productivity
1. Do better: improving the flow of output per input 2. Do less: identify features we don't do or do less of (breadth and depth)
2 Methods of Keeping Value Points Relevant
1. Value points for individual stories should be limited to a short series of possible numbers 2. Value points should be allocated on a percentage basis to capabilities, thereby capping the total number of value points in a set of stories
Capability
A high-level business or product function that is distinct and demonstrates value. Includes a business want/need and a range of possible technology solutions
Use Case
A more formalized analysis technique often used in development, is a list of steps, typically defining interactions between an actor (human or system) to achieve a goal (often presented as a diagram).
Story
Delivers a piece of the capability's value.
Technical Debt
Gap between a product's actual cost of change (CoC) and its optimal CoC
Roadmap Plan
Lays out multi-year plan and gives summary
Product Backlog
List of items to be developed that will include all product structure levels.
Priority Setting
Takes into account that some stories in the backlog that are selected for the release are not customer-facing stories and thus have no value per se in a customer sense.
Timeboxed Sizing
capping time spent on capabilities based on value
Work-in-Progress v. Throughput
stretching staff too thin and constantly working but not getting anything done v. multitasking and getting work done (sometimes means delaying projects and prioritizing)
Planning Themes
- Business function: a grouping of capabilities, features, or stories that fulfill some identifiable business purpose - Business function breadth or depth: implement a particular business function in great depth first OR a wider range of functions in a skeletal fashion and then flesh out the skeletons in subsequent iterations - Business process flow: sequence of business functions that produces some final result - Risk mitigation: overcoming technical hurdles as they appear rather than wait until close to finalization - Deployment plan: installation of features in wave themes
DOs & DON'Ts of Wish-Based Release Planning
- DON'T use wish-based plans: they stretch demand beyond capacity, leading to dysfunctional teams and sub-par project outcomes. - Balance capacity and demand for products/services in estimation. - DO base plans on estimates: wish-based planning leads to poor outcomes within afflicted organizations
4 Reasons of Importance of Value Points
- Indicate to executive mgmt a serious, quantitative approach to value. - Can assist teams in making priority decisions during release, wave, and iteration planning. - Can assist teams in negotiating depth of story functionality. - Can help increase ROI by pushing the planning of high-value capabilities and stories earlier.