Our Estimates are Terrible!

Similar documents
Process improvement, The Agile Way! By Ben Linders Published in Methods and Tools, winter

Experience Corps. Mentor Toolkit

Mike Cohn - background

Changing User Attitudes to Reduce Spreadsheet Risk

A Pumpkin Grows. Written by Linda D. Bullock and illustrated by Debby Fisher

IT4305: Rapid Software Development Part 2: Structured Question Paper

Executive Session: Brenda Edwards, Caddo Nation

Preparation for Leading a Small Group

P-4: Differentiate your plans to fit your students

It's Not Just Standing Up: Patterns for Daily Stand-up Meetings

UNDERSTANDING DECISION-MAKING IN RUGBY By. Dave Hadfield Sport Psychologist & Coaching Consultant Wellington and Hurricanes Rugby.

Lean UX: Applying Lean Principles to Improve User Experience

How To Take Control In Your Classroom And Put An End To Constant Fights And Arguments

Why Pay Attention to Race?

HOLISTIC LESSON PLAN Nov. 15, 2010 Course: CHC2D (Grade 10, Academic History)

Sight Word Assessment

A Model to Detect Problems on Scrum-based Software Development Projects

How to make an A in Physics 101/102. Submitted by students who earned an A in PHYS 101 and PHYS 102.

The Task. A Guide for Tutors in the Rutgers Writing Centers Written and edited by Michael Goeller and Karen Kalteissen

The Foundations of Interpersonal Communication

IMPORTANT STEPS WHEN BUILDING A NEW TEAM

WE GAVE A LAWYER BASIC MATH SKILLS, AND YOU WON T BELIEVE WHAT HAPPENED NEXT

Sleeping Coconuts Cluster Projects

PEDAGOGICAL LEARNING WALKS: MAKING THE THEORY; PRACTICE

Major Milestones, Team Activities, and Individual Deliverables

Evidence-based Practice: A Workshop for Training Adult Basic Education, TANF and One Stop Practitioners and Program Administrators

Increasing the Learning Potential from Events: Case studies

The Role of Architecture in a Scaled Agile Organization - A Case Study in the Insurance Industry

Launching GO 4 Schools as a whole school approach

Active Ingredients of Instructional Coaching Results from a qualitative strand embedded in a randomized control trial

The Success Principles How to Get from Where You Are to Where You Want to Be

Team Dispersal. Some shaping ideas

TASK 2: INSTRUCTION COMMENTARY

Decision Making Lesson Review

Red Flags of Conflict

White Paper. The Art of Learning

Me on the Map. Standards: Objectives: Learning Activities:

Fundraising 101 Introduction to Autism Speaks. An Orientation for New Hires

ALL-IN-ONE MEETING GUIDE THE ECONOMICS OF WELL-BEING

PART C: ENERGIZERS & TEAM-BUILDING ACTIVITIES TO SUPPORT YOUTH-ADULT PARTNERSHIPS

Get a Smart Start with Youth

Measurement & Analysis in the Real World

What to Do When Conflict Happens

PREP S SPEAKER LISTENER TECHNIQUE COACHING MANUAL

E C C. American Heart Association. Basic Life Support Instructor Course. Updated Written Exams. February 2016

Case study Norway case 1

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

Section 7, Unit 4: Sample Student Book Activities for Teaching Listening

TUESDAYS/THURSDAYS, NOV. 11, 2014-FEB. 12, 2015 x COURSE NUMBER 6520 (1)

Stakeholder Debate: Wind Energy

Mission Statement Workshop 2010

Visit us at:

4a: Reflecting on Teaching

Fearless Change -- Patterns for Introducing New Ideas

babysign 7 Answers to 7 frequently asked questions about how babysign can help you.

By Merrill Harmin, Ph.D.

ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY DOWNLOAD EBOOK : ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY PDF

evans_pt01.qxd 7/30/2003 3:57 PM Page 1 Putting the Domain Model to Work

WORK OF LEADERS GROUP REPORT

MARY MCLEOD BETHUNE. A Dedicated Teacher

Writing Research Articles

1.1 Examining beliefs and assumptions Begin a conversation to clarify beliefs and assumptions about professional learning and change.

November 2012 MUET (800)

Getting Started with Deliberate Practice

WHAT ARE VIRTUAL MANIPULATIVES?

Cognitive Thinking Style Sample Report

No Child Left Behind Bill Signing Address. delivered 8 January 2002, Hamilton, Ohio

Our installer John Stoddard was polite, courteous, and efficient. The order was exactly as we had placed it and we are very satisfied.

Charter School Performance Accountability

Dale Carnegie Final Results Package. For. Dale Carnegie Course DC218 Graduated 6/19/13

School Leadership Rubrics

How we look into complaints What happens when we investigate

Rubric Assessment of Mathematical Processes in Homework

The Good Judgment Project: A large scale test of different methods of combining expert predictions

Hentai High School A Game Guide

M55205-Mastering Microsoft Project 2016

A Study of Metacognitive Awareness of Non-English Majors in L2 Listening

STABILISATION AND PROCESS IMPROVEMENT IN NAB

ARSENAL OF DEMOCRACY

ÉPOCA MAGAZINE INTERVIEW WITH MARC PRENSKY (Entrevista Revista Época Com Marc Prensky)

Positive turning points for girls in mathematics classrooms: Do they stand the test of time?

GRADE 2 SUPPLEMENT. Set D4 Measurement: Capacity. Includes. Skills & Concepts. Activity 1: Predict & Fill D4.1

The Round Earth Project. Collaborative VR for Elementary School Kids

Developing an Assessment Plan to Learn About Student Learning

Calculators in a Middle School Mathematics Classroom: Helpful or Harmful?

Teaching Agile Addressing the Conflict Between Project Delivery and Application of Agile Methods

THE PENNSYLVANIA STATE UNIVERSITY SCHREYER HONORS COLLEGE DEPARTMENT OF MATHEMATICS ASSESSING THE EFFECTIVENESS OF MULTIPLE CHOICE MATH TESTS

PART 1. A. Safer Keyboarding Introduction. B. Fifteen Principles of Safer Keyboarding Instruction

USING SOFT SYSTEMS METHODOLOGY TO ANALYZE QUALITY OF LIFE AND CONTINUOUS URBAN DEVELOPMENT 1

BEYOND OBVIOUS PHIL MCKINNEY T H KILLER QUESTIONS THAT SPARK GAME-CHANGING INNOVATION. New York

The Ohio State University Library System Improvement Request,

Effective practices of peer mentors in an undergraduate writing intensive course

WEEK FORTY-SEVEN. Now stay with me here--this is so important. Our topic this week in my opinion, is the ultimate success formula.

Attention Getting Strategies : If You Can Hear My Voice Clap Once. By: Ann McCormick Boalsburg Elementary Intern Fourth Grade

BLENDED LEARNING IN ACADEMIA: SUGGESTIONS FOR KEY STAKEHOLDERS. Jeff Rooks, University of West Georgia. Thomas W. Gainey, University of West Georgia

The NH Parent Partner Program

In attendance: Wendy, Randi, Steve, Krichanna, Maya, Tony, Anecia, Nicole, Archana, Megan, Adrienne, Amy, Sacha, Hannah, Jennifer, Charles, Susan,

The Four Principal Parts of Verbs. The building blocks of all verb tenses.

Investigations for Chapter 1. How do we measure and describe the world around us?

ADAPTIVE PLANNING. 1 Powered by POeT Solvers Limited

Transcription:

Our Estimates are Terrible! HANS SAMIOS, Intergraph Corporation The practice of planning and estimating has a long history. Traditionally a plan that does not complete is often seen as a call for more planning and improved estimation. While we were planning the agile way we still fell into the trap of over- commitment when the new idea (points) did not line up with the old approach (hours). We ll work through how this happened, the discovery process, and the process of distributing the learning to the whole organization. 1. INTRODUCTION Any organization that has been doing software development for a long time has a lot of change to get through to get to a true Agile implementation. There is a lot of resistance to change at all levels of the organization. Some of the resistance is caused by the replacement of practices and thinking. Even when this is overcome, there is a second, more insidious tier of thinking that pushes people back to their traditional thinking instead of going forward with the new approach. The practices associated with planning and estimation is an example where the second level operates. After working with release plans based on velocity and story points, teams felt they were not producing accurate enough information. I was constantly asked what can we do to improve our estimates? This is one aspect of the insidious creeping of traditional thinking. Sure there was good conversation that estimates were not meant to be highly accurate, that we d change our plan based on new information and so on. But there was still this feeling that the estimates we were generating were not good enough and that we need to work on this to improve our planning. It is easy to fall into the trap that if we did not meet our plan, then there was something wrong with the estimates in the first place. This lead to the next step, that we must therefore spend more time on estimating which very quickly moved us back to doing more and more planning work upfront. This phenomenon is well recognized. What surprised us when we ran a retrospective on estimating is that there is a Sprint- by- Sprint confirmation of this thinking happening at the team planning level which reinforces the traditional thinking. Every sprint the velocity was used to help guide how much the team should take on during Sprint Planning 1. During Sprint Planning 2, when detailed work was broken down into hours there was never enough hours generated for the team to feel like they would be always busy and so the team went back to get more work, thus over- committing. 2. CONTEXT 2.1 Who We Are Intergraph is a product development shop with a 30 year tradition. We have two major areas of expertise: PP&M: supply engineering applications to process plant (factory plants that produce chemical, electrical and petroleum products at large scale) and marine (large ships such as crude oil carriers) organizations. PP&M started the transition to Agile (Scrum) in 2008 to address business needs of improved visibility into development projects, improved quality, and better engagement of our people. Today there are over Agile 100 teams operating. SG&I: supply map- based applications to utility, dispatch and mapping organizations. SG&I started its transition to Scrum in 2011 to address similar needs. Today there are over 60 teams operating in 8 countries around the world. All product development is done using Scrum. Copyright 2014 is held by the author.

2.2 From Traditional to Scrum This story comes from our SG&I division. Before moving to Scrum, we had a very traditional approach to the management of software release projects: We used tools such as Microsoft Project to help us manage the projects Estimates were done by a small group of experts Deviations from the plan were rigorously controlled People (resources) were managed as full time equivalents (FTEs) and allocated to work in smaller and smaller slices based on changing perception of where effort should be applied. Planning became an increasing percentage of the release project as we increasingly tried to plan more in order to make the project more successful. Certification was handled at the end of the release cycle, again as a large percentage of the release plan. The realization that our customers and field organizations were increasingly dissatisfied with our work led us to Scrum. The transition (first phase) took about 2 years: We moved everyone onto Scrum Teams, creating teams that included skills in development, QA and documentation, and set up dedicated Product Owners and Scrum Masters. We trained everyone in the new way of thinking and working, with 3 days of training for new Scrum Teams and supporting training for Product Owners, Scrum Masters and Management After initial resistance everyone understood, adopted and accepted ideas such as: o Servant leadership from management and team leaders o Product Owner determines order of work o Team decides how much they can take on o Reporting is based on points and velocities o Feature- based plans using user stories o Ceremonies daily scrum, sprint planning 1 & 2, sprint review and sprint retrospective o Artifacts product backlog, sprint backlog, definition of done o Etc Today we have 60 teams and our improvement efforts are related to issues associated with scaling of the practices and increasing use of Agile (XP) engineering practices beyond continuous integration and unit testing. In particular, we have completely transitioned to a point / velocity based approach to understand where we are up to relative to our release plan (Samios). 3. THE SITUATION This all sounds great, right? And it is. But there are always problems and we know there are things we need to do better. What surprised me was the level of traditional thinking that we still had in our organization, even after 3 years into our Scrum implementation. To understand how this manifested itself, let s examine how we do our planning for a Sprint. 3.1 Sprint Planning Sprint Planning is done from the Product Backlog. The Product Owner provides the stories. The Team provides the estimates either through planning poker or triangulation approaches. Our Estimates are Terrible!: Page - 2

During Sprint Planning 1, the Product Owner and the Team get together and determine what might be built in the next Sprint. The Team selects how much they think they can take on based on the previous velocities (often the average) that they have. During Sprint Planning 2, the Team gets together to determine how they will deliver the stories. In our case it is standard for teams to break down stories into (sub- )tasks and estimate each of the tasks in terms of how long they think it will take (in hours). A running total of the hours are maintained, and this number is compared to the (pre- calculated) total of hours the team has available in the Sprint. Teams are taught that if they find they don t have enough hours to complete the work identified in Sprint Planning 1, then they should tell the Product Owner, and tell her that they cannot commit to the lowest priority items in this Sprint. Similarly, if there are hours left over they should work with the Product Owner to take on more work. What is the problem with this approach? With the benefit of hindsight it seems pretty obvious although it definitely was not clear at the time. Here s what happened when the teams applied the Sprint Planning approach described above. 3.2 Scrum Practices Meet Traditional Thinking The team would start with Sprint Planning 1 where stories were selected to meet expected velocity. During Sprint Planning 2, tasks were generated and estimated to fill the hourly capacity of the team. And this is where the problem hit. Frequently the number of task hours generated during Sprint 2 planning was below the capacity of the team. Although some of the stories selected during Sprint 1 planning were risky or complex, the team did not know how these risks and complexities would manifest themselves. Therefore, when doing the detailed task- level planning they could only estimate what was more or less known. This resulted in fewer hours being estimated for the story than the points might indicate. This in turn resulted in the team thinking that they have excess capacity and so they taking on more stories, eventually filling up the hourly capacity bucket, but also leading to an over- commitment on the Sprint. 3.3 How Do We Improve Our Estimates? As might be expected many teams were not meeting their commitments, including the SG&I team featured in this story. Discussions invariably turned to the topic of how to improve the estimating process. Again, this is a left over from the traditional planning where, if there was a problem with the plan, the general approach was to spend more time planning and estimating in the hope that the plan would be better the next time. This is not the first time this discussion came up, but only now do I recognize it as a smell. In the past we provided lots of ideas on how to improve estimation practices, from explaining about cognitive biases, to providing assistance on the ways to run planning poker sessions, and to providing specific recommendations for practices Teams could try (keystone story, work classification, comparing estimate to reality, etc). A number of teams talked about mapping points to hours. These discussions were usually caused by a desire to improve the estimation process, since there were problems with the plan. Many teams started trying to figure out how to map hours into points, started discussions about on average 5 hours means 1 point. Sadly this approach did not improve the quality of the plan. Since points factor in risk and complexity it is not a surprise that there is no clean mapping. But the thinking process continues despite that. I suspect some of this discussion is also caused by the degree of comfort associated with hours they are concrete, are the way we ve done things for years, etc. And it is hard to understand on this basis why there is no clear mapping. 4. WORKING THROUGH THE PROBLEM At the end of 2013 I received an email from one of our Scrum Masters with the subject Our Estimates are Terrible. The Team had requested outside help to help them improve their estimates. We decided to set up a focused Retrospective to walk through the issue of estimation. As part of my retrospective planning effort, I examined and analyzed team data on estimation accuracy. Our Estimates are Terrible!: Page - 3

4.1 Data Every team at SG&I collects metrics to help understand how they are doing and whether they are improving. At a minimum, teams collect Committed and Actual Velocity Sprint- by- Sprint. More recently all teams have been collecting additional metrics (Sutherland). As each story was done in the Sprint, the team would ask themselves Now that we have completed this work, and factoring in risk and complexity compared to our keystone story, what do we think the estimate should have been for this story? The data was collected as actual story points and we were able to compare it to the original estimated story points. As a result we had over a year s worth of data with 200 separate points comparing the original estimate to the actual. (Note: for the purposes of reporting of velocity etc. the original estimates are used, not the actuals). Since this information was available we decided to use it to see how bad this team s estimates really were. Based on work on estimation (Helms) I started by preparing a simple frequency chart of the estimates and the resultant actuals. The team s data looked like: Figure 1: Estimates vs Actuals The chart shows for each of estimates the team made (bottom set of numbers 0.5, 1, 2, etc) the number of times the actual result matched the estimate. So for the estimate of 3 there were 24 times that the actual was also 3 (tallest spike on chart), 15 times it was a 2 (to the left of the tallest spike), 11 times it was an 8 (to the right of the tallest spike) and so on. Looking at the chart you can see that most of the time when the team estimated a story as being a certain number of points, the actual number of points matched the estimate. Further you can see that when the actual did not match the estimate exactly, the deviation was typically not that great. This is good news. We cannot expect that when we estimate something we get it 100% right every time. Sometimes the actual work with be higher, sometimes lower. An estimate is not a commitment, after all. But you can see the data shows that the estimates are pretty good, close, overall. Our Estimates are Terrible!: Page - 4

For me this was a surprise. I d never really questioned the premise that the team s failure to meet its commitments was due to poor estimation. And it led me to think about the retrospective. If the problem is not poor estimation, then what is the real problem? 4.2 The Retrospective We started with a discussion on the reason I was invited to facilitate the email stating that their estimates were terrible. The Team worked through a brainstorming session on what they thought their problem was. Example responses include: I am not sure how to point We have different ideas about what a 5 is versus what an 8 is We are feeling pressure to meet plans Our leadership is frustrated by stories that were not complete during sprint We are taking a long time to do estimation Without making it sound too dramatic, I then showed the result of the analysis of their data. After a quick explanation of what they were looking at the team quickly came to the conclusion that their estimates weren t too bad. This was a surprise to the team as well. Sure they could look to make the variance between estimated and actual point values a little narrower but in fact there was not even consensus that was necessary, let alone possible. We then went back and discussed some of the literature on estimation and in particular the impact of time on estimation accuracy (Cohn): Since the issue was no longer seen as estimation accuracy the Team went on to identify what the real issues were. Identified issues included: Pressure from team leads to improve estimation Pressure from management to meet plans Overly optimistic plans with no buffer to address problems The reason they were over- committing was that they did not trust their point estimates. When they couldn t fully rationalize the point estimates to hours upfront, they second guessed themselves. Our Estimates are Terrible!: Page - 5

With this as a background the teams decided their next steps were: No more second guessing team estimates Increase focus on previous velocity to determine what can be done in Sprint so that Story Points really became the measure of capacity Increasing focus on use of buffers etc to avoid over- commit for release (Goldratt). This meant allocating a couple of Sprints in the release that were empty, where we didn t know what we were going to do. This was done at the top level release plan, not at the team level. In other words we told teams to work as normal (with the improved understanding of their true capacity). The Product Owner maintained the buffer at the release level and would then aggressively manage the influx of expanding work (whether by discovery by the team or as a result of improved understanding of the requirements) and ensure this buffer was not used too early in the release plan. 5. WHAT DID THIS LEAD US TO? 5.1 Feedback from the Team When asked, the Team said they got the following from the retrospective: Estimation is not just about how long something is. We need to make sure complexity (as represented in our story points scale) is part of the estimation process. We need to understand that we will never be 100% accurate in estimates That estimation really is a guessing game That the team had a problem over- committing That the team needed to pay attention more to the points being taken on then the hours That it is expected that there will be discrepancies between points and hours and be OK with it. We can trust our estimates The Team said the retrospective was a positive shot in the arm. We also asked the team what other things they think should be stressed in discussing this retrospective with others: People are unduly hard on themselves. The team really did think there were terrible at estimating, and this turned out not to be the case. Don't assume your instincts are wrong. The team really did feel like they were taking on too much work each time, but were unable to change the behavior. Just because you cannot quantify risk in hours doesn't mean there is no risk. Estimates help the team understand capacity. It is not just a management tool. There is value in capturing data. But only if you use it. 5.2 Why Wasn t the Team Able to Solve the Problem? The Team was asked why they were not able to solve the problem themselves: Inexperience with "agile" (actually points and expectations) Feeling that points were "just a management tool" Lack of understanding of how to use the data that they were collecting I think there was something more basic than this. The team did not take the time to step back from the problem and really determine what was happening. The references cited here had been talked about in training sessions, had been documented on internal blogs and so on, and so there was awareness about the Our Estimates are Terrible!: Page - 6

general ideas. But time is still required to formulate the discussion into something that will help the team and this time was not taken. 5.3 Getting the Message Out It is pretty clear that at SG&I we needed to conduct this discussion with just about every team. The smells were pretty prevalent. In particular (and something that gave us a lot of concern) we had survey information that showed chronic over- commitment across all teams (by about 141% on average). Because the survey was recent, we had a reason to publicize the results of the retrospective. We have a regular distribution at SG&I called Scrum Distributions that goes to all Product Owners, Scrum Masters, Management and anyone who has registered an interest. The contents of the distributions include both formal information (such as changes in guidelines) and more general information (such as learning, articles that people have found useful, and so on). I spoke with the Team about using their retrospective and the data as a case study, and the Team happily agreed. We then crafted a Scrum Distribution called Our Estimates are Terrible! This was blog post that provided background on what was done, provided the spreadsheet we used for the analysis, and what we learned as a result. Of course, it is not enough to simply say this kind of message once, and hope that you get traction. The materials were also incorporated in an advanced materials training session we provided for all Product Owners, Scrum Masters and management. We also included a discussion in this about the concept of relative error so people can do additional analysis on their errors (Helms). Additional materials were added to our corporate Wiki tool so that in the future people will be able to find the information and what was learned. This makes it easy to begin the discussion with the next person that says our estimates are terrible. And finally the result has been socialized through numerous one- on- one conversations with all levels of the organization. In general we have found that management has accepted the idea, although they still may not like what it means when some of the plans do not go as expected. 6. CONCLUSION I think the biggest surprise that came out of this discussion was the sway the traditional hour- based thinking had over everyone and how long it took for us to recognize the problem we were facing. In some ways the fact that we did use points and velocity for so much (e.g. - progress reporting on the release, planning) obscured the fact that hours and the associated estimating process was alive and well in many parts of our organization. I will say there is no magic here. We are not suddenly better. In reality we have an increasing awareness of the issue, and we have seen some improvement in our over- commitment problem (last survey indicated that average over- commit had gone down by about 7%.) This means that we still have a long way to go and, I suspect, we have not identified all the issues yet. 7. ACKNOWLEDGEMENTS A special thank- you goes to Jen Jackson and the Bootleggers team not only for the experience of the retrospective but also for allowing me to use the data to help the rest of the organization. Our Estimates are Terrible!: Page - 7

I am always appreciative of Intergraph and its management team. They have been very supportive of the both our on- going efforts at improvement and allowing me to publish information that at first blush may not present the company in its best light. After all, we are talking about problems we had! I d also like to thank Nanette Brown who mentored me through the process and made sure I actually got on with the commitment I made. There is no doubt that to and fro with her helped me clarify the message and everyone benefited as a result. REFERENCES Hans Samios Overcoming Traditional Project Release Reporting with an Agile Approach Focused on Change, Agile 2012 Conference Jeff Sutherland / Scott Downey Scrum Metrics for Hyper- Productive Teams: How They Fly like Fighter Aircraft, Agile 2010 Conference John Helm Lessons from Space Shuttle Disasters for Avoiding IT Project Disasters, Agile 2013 Conference Mike Cohn, Agile Estimation and Planning, Chapter 6 Eli Goldratt, Critical Chain Our Estimates are Terrible!: Page - 8