So what exactly is this #NoEstimates movement?



Similar documents
Introduction to Agile Scrum

Governments information technology

Is Calculating ROI Meaningful for Agile Projects? December 2014

Program & Portfolio! Management using! Kanban! Copyright 2013 Davisbase Consulting. Limited Display License Provided to ASPE

THE BUSINESS VALUE OF AGILE DEVELOPMENT

An Introduction to Agile Performance Management

RISK MANAGMENT ON AN AGILE PROJECT

As the use of agile approaches

Planning of Project Work (IS PM 6. Lecture, 2011 Spring)

Agile Software Development

References: Hi, License: Feel free to share these questions with anyone, but please do not modify them or remove this message. Enjoy the questions!

Selling Agile at Your Company

Agile Project Management Mapping the PMBOK Guide to Agile Practices. Michele Sliger

The Basics of Scrum An introduction to the framework

Text. Key Performance Measures in a Lean Agile Program. Thomas Blackburn 2/19/2015

BI Dashboards the Agile Way

Agile So)ware Development

Mastering the Iteration: An Agile White Paper

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Agile Project Management and the Real World. Emily Lynema DLF Fall 2010 November 1, 2010

Agile Planning in a Multi-project, Multi-team Environment

Scaling Agile Implementing SAFe. April 7, 2015 Tuesday 3:00-4:00 p.m. 50 Church St., 3rd Floor

How we work. Digital Natives working methods

Manage projects effectively

VISUAL REQUIREMENTS MANAGEMENT WITH KANBAN. Mahesh Singh Co-founder/ Sr. VP Product, Digite, Inc.

There are 3 main activities during each Scrum sprint: A planning meeting where: the Product Owner prioritizes user stories in the product backlog

From Agile by Design. Full book available for purchase here.

How Silk Central brings flexibility to agile development

UVA IT3350 Syllabus Page 1

Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014

Software Estimation Techniques - Common Test Estimation Techniques used in SDLC

APPENDIX I. Best Practices: Ten design Principles for Performance Management 1 1) Reflect your company's performance values.

10 Fundamental Strategies and Best Practices of Supply Chain Organizations

Stride Methodology Lean Agile Development in a Dual Dual-Shore Environment Yash Talreja HethaTech

Adopting a Continuous Integration / Continuous Delivery Model to Improve Software Delivery

How to optimize offshore software development with Agile methodologies

Agile Requirements Definition and Management (RDM) How Agile requirements help drive better results

Lean. Agile. Demystifying Kanban. White Papers. essential. by Alan Shalloway. Business-Driven Software Development

AGILE & SCRUM. Revised 9/29/2015

Controlling Change on Agile Software Development Projects

User Stories Applied

Agile Metrics - What You Need to, Want to, and Can Measure. June 9, 2014

Introduction to Agile

Value, Flow, Quality BCS PRACTITIONER CERTIFICATE IN AGILE SYLLABUS

Iteration Planning. also called Iteration Kickoff

CONTENTS. As more and more organizations turn to agile development, the reality of what agile really is often gets obscured. Introduction...

PortfolioStep Portfolio Management Framework Overview

SCALING AGILE. minutes

Optimizing release planning under Scrum in complex multi-team software projects. Case: Nokia Siemens Networks

Agile Project Management By Mark C. Layton

Develop Project Charter. Develop Project Management Plan

Scaling Spotify

Agile Project. Management FOR DUMME&* by Mark C. Layton WILEY. John Wiley & Sons, Inc.

Measuring the value of social software

When is Agile the Best Project Management Method? Lana Tylka

Improving Business Outcomes with Agile Discovery and Development by John Parker, CEO

Gothenburg 2015 Jan Marek com CA Technologies Introducing Agile development methodologies to Session S601 mainframe development teams

WE DESIGN AMAZING INTERFACES & DEVELOP RELIABLE APPLICATIONS

Taking the first step to agile digital services

Agile Methods. Introduction to. AAddison-Wesley. Sondra Ashmore, Ph.D. Kristin Runyan. Capetown Sydney Tokyo Singapore Mexico City

Agile Practitioner: PMI-ACP and ScrumMaster Aligned

Transitioning from Waterfall: The Benefits of Becoming Agile. ASPE Web Seminar Friday, February 27 th, 2015

Agile Software Development. Stefan Balbo / Patrick Dolemieux

USCIS/SPAS: Product Backlog Items and User Stories 4/16/2015. Dr. Patrick McConnell

A Viable Systems Engineering Approach. Presented by: Dick Carlson

Input, Output and Tools of all Processes

The Agile PMO. Contents. Kevin Thompson, Ph.D., PMP, CSP Agile Practice Lead cprime, Inc E. Third Avenue, Suite 205 Foster City, CA 94404

Chapter 10. Becoming an Agile Enterprise

Lean vs. Agile similarities and differences Created by Stephen Barkar -

Scaling Agile with the Lessons of Lean Product Development Flow Copyright 2012 Net Objectives, Inc. All Rights Reserved

SESSION 303 Wednesday, March 25, 3:00 PM - 4:00 PM Track: Support Center Optimization

Mature Agile with a twist of CMMI

Agile Software Development

InfoAdvisors. Is your Data Modeling Workflow Agile or Fragile?

Agile Requirements And Testing For Continuous Software Delivery

Agile Beyond The Team 1

Improving Project Governance Using Agile and Metrics. Kevin Aguanno PMP, IPMA-B, MAPM, Cert.APM

Getting Started with Kanban Paul Klipp

Why the Traditional Contract for Software Development is Flawed

Call for Tender for Application Development and Maintenance Services

Successful Agile Project Management

Agile Requirements Engineering + LESSONS LEARNED

Agile and the Seven Deadly Sins of Project Management

How To Plan An Agile Project

How to Successfully Implement CRM systems

Kanban For Software Engineering

PMI Agile Certified Practitioner (PMI ACP) Boot Camp Course AG05; 4 Days, Instructor-led

Roles: Scrum Master & Project Manager

Evolving Agile Testing

Development Methodologies Compared

Computing Services Network Project Methodology

Scaling Agile to Meet the Needs of the Enterprise

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

The Project Planning Process Group

Agile Development. Redefining Management in Project Management. Neil Stolovitsky

AGILE - QUICK GUIDE AGILE - PRIMER

Expert Reference Series of White Papers. Intersecting Project Management and Business Analysis

Agile Project Management

Agile project portfolio manageme nt

Transcription:

Scope of this Report So what exactly is this #NoEstimates movement? April 2015 Estimation is one of the lightening rod issues in software development and maintenance. Over the past few years the concept of #NoEstimates has emerged and has become a movement within the Agile community. Due to its newness, #NoEstimates has several camps revolving around a central concept of not generating task level estimates. The newness of the movement also means there are no (or very few) large example projects that can be used as references i. Finally there are no published quantitative studies of results comparing the results of work performed using #NoEstimates techniques to other methods. In order to have a conversation we need to be begin by establishing a shared context and language across the gamut of estimating ideas whether Agile or not. Without a shared language that includes #NoEstimates we will not be able to compare the concept to classical estimation concepts. Context #NoEstimates Context: There are two main groups or camps of thought leaders in the #NoEstimate movement (the two camps probably reflect more of continuum of ideas rather than absolutes). The first camp argues that a team should break work down into small chunks and then immediately begin completing those small chunks (doing the highest value first). The chunks would build up quickly to a minimum viable product (MVP) that can generate feedback, so the team can hone its ability to deliver value. This camp leverages continuous feedback and re-planning to guide work, and luminaries like Woody Zuill often champion this camp. A second camp begins in a similar manner by breaking the work into small pieces, prioritizing on value (and perhaps risk), delivering against a MVP to generate feedback but they measure throughput. Throughput is a measure of how many units of work (e.g. stories or widgets) a team can deliver in a specific period of time. Continuously measuring the throughput of the team provides a tool to understand when work needs to start in order for it to be delivered within a period time. Average throughput is used to provide the team and other stakeholders with a forecast of the future. This is very similar to throughput measured used in Kanban. People like Vasco Duarte champion the second camp who practice #NoEstimates from a lean or Kanban perspective. We recently heard David Anderson, the 2015 David Consulting Group Page 1 of 6

Kanban visionary, discuss a similar #NoEstimates position using throughput as a forecasting tool. Both camps in the #NoEstimates movement eschew developing story- or task-level estimates. The major difference is on the use of throughput to provide forecasting which is central to bottom-up estimating and planning at the lowest level of the classic estimation continuum. Classic Estimation Context: Estimation as a topic is often a synthesis of three related, but different concepts. The three concepts are budgeting, estimation and planning. Because these three concepts are often conflated it is important to understand the relationship between the three. These are typical in a normal commercial organization, however these concepts might be called different things depending on your business model. An estimate is a finite approximation of cost, effort and/or duration based on some basis of knowledge (this is known as a basis of estimation). The flow of activity conflated as estimation often runs from budget, to project estimation to planning. In most organizations, the act of generating a finite approximation typically begins as a form of portfolio management in order to generate a budget for a department or group. The budgeting process helps make decisions about which pieces of work are to be done. Most organizations have a portfolio of work that is larger than they can accomplish, therefore they need a mechanism to prioritize. Most portfolio managers, whether proponents of an Agile or a classic approach, would defend using value as a key determinant of prioritization. Value requires having some type of forecast of cost and benefit of the project over some timeframe. Once a project enters a pipeline in a classic organization, an estimate is typically generated. The estimate is generally believed to be more accurate than the original budget due to the information gathered as the project is groomed to begin. Plans breakdown stories into tasks often with personnel assigned, an estimate of effort generated at the task level and sum the estimates into higher-level estimates. Any of these steps can (but should not) be called estimation. The three -level process described above, if misused, can cause several team and organizational issues. Proponents of the #NoEstimates movement often classify these issues as estimation pathologies. Jim Benson, author of Personal Kanban, established a taxonomy of estimation pathologies ii that includes: 1. Guarantism a belief that an estimate is actually correct. 2. Swami-itis a belief that an estimate is a basis for sound decision making. 3. Craftosis an assumption that estimates can be done better. 2015 David Consulting Group Page 2 of 6

4. Reality Blindness an insistence that estimates are prima facie implementable. 5. Promosoriality a belief that estimates are possible (planning facility) Estimates by definition are imprecise and can only be accurate within a range of confidence however these facts are often forgotten in lieu of the single number contract. Acting as if any of these pathologies are true has generated the anger and frustration needed to fuel the #NoEstimates movement. When done correctly, both #NoEstimates and classic estimation are tools to generate feedback and create guidance for the organization. In its purest form #NoEstimates uses functionality to generate feedback and to provide guidance about what is possible. The less absolutist Kanban er form of #NoEstimates uses both functional software and throughput measures as feedback and guidance tools. Classic estimation tools use plans and performance to the plan to generate feedback and guidance. The goal is usually the same, it is just that the mechanisms are very different. Budgeting, Estimation, Planning, #NoEstimates and the Agile Planning Onion Strategy Portfolio Product Release Iteration Daily Source: Mike Cohn, www.mountaingoatsoftware.com There are many levels of estimation including budgeting, high-level estimation and task planning (detailed estimation). We can link a more classic view of estimation to the Agile Planning Onion popularized by Mike Cohn. In the Agile Planning Onion strategic planning is on the outside of the onion and the planning that occurs in the daily sprint meetings at the core of the onion. Budgeting is 2015 David Consulting Group Page 3 of 6

a strategic form of estimation that most corporate and governmental entities perform. Other than in its most extreme form, budget is generally not a practice being eschewed by #NoEstimate proponents. Estimation exists in the middle layers of the Agile Planning Onion (product and release layers). In classic estimation, these estimates are often developed using top down techniques such as analogy or parametric estimation using function points, story points or tee-shirt sizing. #NoEstimate proponents leveraging Kanban techniques perform this level of estimates as forecasts using average flow rates and queuing theory (an application of Little s Law). The resistance at this level has generated the perception that sized based estimation at this level (and later, planning at the task level) generate several pathological behaviors within organizations. The final layers of the planning onion, iteration and daily planning, are generally the areas of highest concern to the #NoEstimates movement. While tasks may be identified, effort is not assigned. It should be noted that while effort estimates are not done at the planning layers or generally at the estimation layer most teams adopt rules to break work down into predictable units. Rules or guidelines are often established that affect story and task size. The used of rules to govern granularity is one of the reason flow measures can be used to forecast when work needs to begin in order to meet date or dependency requirements. Johanna Rothman stated in her article The Case for #NoEstimates, that when you deliver small, valuable chunks of work every day or more often that you can avoid estimation. The critical words being small and everyday which requires the team to understand how to groom stories to the desired granularity. Whether through the use of rules or feedback using these techniques to groom stories could easily be construed as a crude form of estimation. Scenarios: Standard Corporate Environments: Organizational budgeting (strategy and portfolio): Continuous flow or other #NoEstimates techniques don t answer the central questions most organizations need to answer which include: 1. How much money should I allocate for software development, enhancements and maintenance? 2. Which projects or products should we fund? 3. Which projects will return the greatest amount of value? While most budgets are scientific guesses there is a need to understand at least some approximation of the size and cost of the work on the overall backlog. High Level Estimation (product and release): Release Plans and product road maps could easily be built from forecasts based on teams that have a track record of delivering value on a regular basis. The idea of #NoEstimates can be applied at this level of planning and estimation IF the right conditions are met. Conditions include: 2015 David Consulting Group Page 4 of 6

1. Stable Teams 2. Agile Mindset (both team and organizational levels) 3. Well-groomed stories The classic questions of when, what and how much can be answered in this environment for work done by single teams or by scaled Agile programs. It should be noted that the example used by Woody Zuill s, which uses the most form of #NoEstimates (start, deliver, get feedback, and then do more) is a reflection of an environment where all of these factors are reflected. Task Level Estimation (iteration and daily): Task level planning is the base of #NoEstimates discussions. Stable teams that are able consistently to accept and deliver what is expected do not have any need to plan effort at a task level. Commercial / Contractual Work: Raja Bavani, Senior Director at Cognizant Technology Solutions stated in a recent conversation, that he thought that #NoEstimates was a non-starter in a contractual environment. Conclusion Estimation is a form of planning. Planning is a considered an important competency in most business environments. Planning activities abound whether planning the corporate picnic to planning the acquisition and implementation of a new customer relationship management system. Most planning activities center on answering a few very basic questions. When will it be done? How much will it cost? What is it that I will actually get? Rarely does the question of how much effort will it take get asked unless as proxy for how much will it cost. As the work progresses the questions shift to whether we are going to meet the date, budget or scope. Answering those questions can be accomplished by any number of techniques. Using #NoEstimates techniques still requires most organizations to budget. Using #NoEstimates techniques requires breaking down stories into manageable, predictable chunks so that teams can predictably deliver value. The ability to predictably deliver value provides organizations with the tool to forecast the delivery. #NoEstimates really isn t not estimating... it is just estimating differently. 2015 David Consulting Group Page 5 of 6

Sources i The C3 Project was used to hone and prove many of the Agile techniques (extreme Programing and WIKIs for example) and acted as a training ground for many luminaries of the early Agile movement. ii http://herdingcats.typepad.com/my_weblog/2015/03/five-estimating-pathologies-and-theircorrective-actions.html 4/27/15 or http://moduscooperandi.com/blog/modus-list-3-our-five-estimatepathologies/ 4/27/15 2015 David Consulting Group Page 6 of 6