Operations and Supply Chain ManagementProject Management
Introduction
“Agile Estimating and Planning” by Mike Cohn, published in 2005, is an invaluable resource for project managers transitioning to or working within Agile frameworks. The book focuses on methodologies and strategies central to estimating and planning projects in an Agile environment, placing a strong emphasis on team collaboration, flexibility, and delivering customer value incrementally.
1. The Nature of Agile Estimating and Planning
Key Point:
Agile estimating and planning are practical and adaptable but bounded by firm objectives.
Action:
– Hold Regular Planning Sessions: Organize consistent planning sessions, such as Sprint Planning in Scrum, to align the team on objectives and their estimates.
Example:
Cohn describes a scenario where a development team uses story points to estimate tasks. By holding regular planning meetings and adjusting based on previous velocities, they effectively manage expectations and deliverables.
2. Story Points and Relative Sizing
Key Point:
Story points are used to estimate the relative size of user stories, focusing on difficulty and effort needed, rather than precise time measurements.
Action:
– Adopt Story Points for Estimation: Use relative sizing with story points during sprint planning to prioritize and estimate user stories.
Example:
An Agile team utilizes a Fibonacci sequence (1, 2, 3, 5, 8, etc.) for story points. A developer compares a new task to previously completed stories, deciding it requires similar effort to a 3-point story done earlier.
3. Techniques for Estimations
Key Point:
Various techniques such as Planning Poker, T-shirt sizes, and the Bucket System help teams arrive at accurate and consensual estimates.
Action:
– Use Planning Poker: Implement Planning Poker during estimation meetings to leverage the collective intelligence of the team, encouraging discussion and consensus.
Example:
During an estimation session, team members use Planning Poker cards to vote on story sizes, discussing discrepancies to reach consensus, thereby ensuring all perspectives are considered.
4. Setting Priorities with Value and Risk
Key Point:
Balancing value and risk is crucial when setting priorities. High-value low-risk items typically triumph, but sometimes high-risk items need addressing early.
Action:
– Apply Weighted Shortest Job First (WSJF): Use WSJF to balance cost of delay and job duration, prioritizing tasks that yield the most value quickly.
Example:
A project has four features. Using WSJF, the team assigns economic value, risk reduction, and implementation time scores. Features with the highest scores get prioritized first, ensuring maximum early returns.
5. Iteration and Release Planning
Key Point:
Iteration and release planning involve defining iteration goals and ensuring incremental delivery of product elements that yield value.
Action:
– Create Iteration Plans: During each iteration, outline clear goals derived from the most prioritized items from the product backlog.
Example:
In a sprint planning session, a team sets iteration goals based on the highest priority stories. They plan two weeks of tasks, ensuring that each completed story incrementally enhances the product.
6. The Product Backlog
Key Point:
The product backlog is a dynamic list of features, enhancements, bug fixes, and technical tasks that need doing.
Action:
– Regularly Groom the Backlog: Schedule frequent backlog grooming sessions to reassess the priority and relevance of backlog items.
Example:
A project manager routinely reviews the backlog, updates priorities based on stakeholder feedback, and removes no longer relevant tasks, keeping the backlog aligned with current project goals.
7. Velocity Tracking
Key Point:
Velocity, a measure of work completed per iteration, helps in predicting future performance and planning releases.
Action:
– Track and Adjust Velocity: Continuously track team velocity and use it to make more informed forecasting and adjustments in planning.
Example:
By tracking story points completed each sprint, a team sees their velocity is consistently around 20 points. They use this data to set realistic goals and timelines for upcoming sprints and releases.
8. Estimating the Product Backlog
Key Point:
Estimating the entire product backlog at a high level helps in understanding the overall scope and potential timeline for project delivery.
Action:
– Conduct Backlog Estimation Workshops: Organize workshops involving the whole team to estimate all backlog items collectively, fostering a shared understanding of scope and effort.
Example:
A team conducts a series of estimation workshops, using techniques like affinity mapping to size and categorize the entire backlog, resulting in a cohesive high-level estimate for project planning.
9. Release Planning
Key Point:
Release planning involves organizing the product increments into potentially shippable elements, focusing on delivering maximum value early and frequently.
Action:
– Draft a Release Plan: Based on velocity and the prioritized backlog, outline a release plan that schedules major releases at optimal intervals.
Example:
With an average velocity of 30 points per iteration and a total backlog estimate of 150 points, a team plans for five iterations per release, ensuring each release brings substantial new functionality to users.
10. Dealing with Uncertainty and Variation
Key Point:
Agile projects inherently face uncertainties and variations which need proactive management.
Action:
– Build in Buffers: Create time or effort buffers in your plans to accommodate unforeseen changes and maintain delivery commitments.
Example:
A team anticipates variable integration complexities. They plan a buffer of 10% of their total estimated effort, allowing them to handle unexpected issues without compromising deadlines.
11. Managing Scope
Key Point:
Scope management in Agile is about flexibility and responsiveness, ensuring continuous alignment with customer needs and project goals.
Action:
– Embrace Change: Regularly reassess and adjust the scope based on stakeholder feedback and changing requirements to ensure the project remains relevant.
Example:
Halfway through a project, customer needs shift slightly. The team reassesses priorities, de-emphasizes some features, and adds new ones that align better with the updated business goals.
12. Agile Planning Best Practices
Key Point:
Best practices in Agile planning include maintaining simplicity, fostering collaboration, and focusing on customer value.
Action:
– Integrate Best Practices: Adopt and integrate identified best practices into daily routines, ensuring consistent and efficient project management.
Example:
A team ensures all user stories are clear and concise, involves all stakeholders in planning sessions, and regularly demonstrates incremental releases to gather feedback and validate assumptions.
Conclusion
Mike Cohn’s “Agile Estimating and Planning” offers fundamental insights into effective project management within Agile frameworks. Through concrete examples and actionable advice, Cohn provides a practical guide for teams striving to enhance their estimating and planning processes. The emphasis on flexibility, continuous improvement, and collaborative decision-making aligns projects closely with dynamic business needs, ensuring the delivery of maximum value at every step.