{"id":1094,"date":"2011-02-22T14:31:03","date_gmt":"2011-02-22T14:31:03","guid":{"rendered":"http:\/\/blog.agilityfeat.com\/?p=63"},"modified":"2011-02-22T14:31:03","modified_gmt":"2011-02-22T14:31:03","slug":"burning-hours-and-points-together","status":"publish","type":"post","link":"http:\/\/34.200.113.64\/en\/blog\/2011\/02\/burning-hours-and-points-together\/","title":{"rendered":"Burning hours and points together"},"content":{"rendered":"<p>About a month ago I was working with a team planning another iteration for the project, when we had an interesting discussion about how to manage our burndown.<\/p>\n<p>On all of our previous sprints, our burndowns were based on hours.\u00a0 That is, for each day of the sprint, team members would revise their estimates of the time left for any tasks they were working on.\u00a0 Typically (though not always), this means they were revising their estimates downward, and so the curve trends downward over the course of the sprint.\u00a0 At the end of the sprint, it ideally reaches zero on the last day as all the tasks are completed.<\/p>\n<p><img loading=\"lazy\" src=\"http:\/\/farm5.static.flickr.com\/4114\/4878371197_77b54a2a1b.jpg\" alt=\"Example burndown using range estimates\" width=\"500\" height=\"292\" \/><\/p>\n<p>On the projects for that particular company we have traditionally always burned down by hours.\u00a0 What I like about that is you get a real sense of it things are going astray.\u00a0 Because you often end up revising estimates upward early in a sprint, it&#8217;s a way to show that as you started to dive into tasks, things turned out to be more complicated than you expected.\u00a0 If that&#8217;s only happening on a few tasks, it&#8217;s not a big deal and while your burndown may initially be a little flat, the iteration is still probably not in jeopardy and you can usually recover.<\/p>\n<p>But if the burndown takes a significant jump up, perhaps because lots of tasks are taking longer than expected, then you know you have a serious problem that needs to be addressed.\u00a0 Burning down hours makes it easier to a team to raise this red flag, in a way that burning points down does not.<\/p>\n<p><a href=\"https:\/\/agilityfeat.com\/wp-content\/uploads\/2011\/02\/BurndownGoneWrong.jpg\"><img title=\"BurndownGoneWrong\" src=\"https:\/\/agilityfeat.com\/wp-content\/uploads\/2011\/02\/BurndownGoneWrong.jpg\" alt=\"An example of a burndown that is going very poorly and the estimates are staying above the high bounds\" width=\"500\" \/><\/a><\/p>\n<p>The other thing that I like about burning down by hours is that it provides an easy way for the team to estimate in ranges.\u00a0 As I&#8217;ve indicated in many <a href=\"https:\/\/agilityfeat.com\/2010\/08\/software-estimation-using-range-estimates-in-scrum\/\" target=\"_self\" rel=\"noopener noreferrer\">other posts and in talks I&#8217;ve done at conferences<\/a>, I love estimating in ranges (ie, 4-8 hours), instead of in single points (ie, 5 hours).\u00a0 Range estimation allows me to more accurately communicate the risk and uncertainty of a task.\u00a0 A wide range indicates larger risk and uncertainty than a narrow range.<\/p>\n<p>When I make my initial estimates for an iteration in ranges, then I can put some nice boundaries around my burndown, as I&#8217;ve also discussed in other posts.<\/p>\n<p>However, there is also a good case to be made for burning down in points.\u00a0 In this recent project, one team member had joined from another company and he made the case for burning down in points.\u00a0 His preference was based in part because burning down by hours can always be \u00abgamed\u00bb, ie, you can remove tasks from the iteration or just give misleading estimates in order to make the burndown look better.\u00a0 Furthermore, burning down by story points gives a clear indication of what is truly done, and at what point in an iteration the story is complete.\u00a0 By doing so, you keep the team more focused on what is truly done, and less focused on the way you got there (ie, the tasks estimates).\u00a0 No less than Jeff Sutherland, co-creator of Scrum has stated that <a href=\"http:\/\/scrum.jeffsutherland.com\/2009\/04\/sprint-burndown-by-hours-or-by-story.html\" target=\"_blank\" rel=\"noopener noreferrer\">\u00abThe best teams I work with burn down story points.\u00a0 They only burn down when a story is done.\u00bb<\/a><\/p>\n<p>The rest of the team expressed some hesitation about going this route.\u00a0 In part because we liked the use of ranges and felt that it forced us to be more conservative in the stories and tasks we take on in a sprint.\u00a0 And in part because we felt the burndown would communicate less because most stories would not end up being done until the very end of the iteration.<\/p>\n<p>However, our fears that no stories would get marked done until near the end of the sprint may have been symptomatic of another problem:\u00a0 our stories were simply too big.\u00a0 Jeff Sutherland notes in his blog post that <a href=\"http:\/\/scrum.jeffsutherland.com\/2009\/04\/sprint-burndown-by-hours-or-by-story.html\" target=\"_blank\" rel=\"noopener noreferrer\">\u00abto do this, the team needs to have small stories.\u00bb<\/a> If the story is not small enough for each developer to have multiple stories during the sprint, then burning down by points may not work well.\u00a0 I&#8217;ve heard Mike Cohn say that on average each developer should have 2-3 stories in an iteration, and I would say that is the minimum needed to make this approach work.\u00a0 I wonder if a slightly smaller breakdown so that everyone has 4-5 stories would probably work even better.<\/p>\n<p>Both approaches have a lot of merit to them however, and so why not do both?\u00a0 I realized this was an option when I attended an <a href=\"http:\/\/www.agilerichmond.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Agile Richmond<\/a> talk recently, given by Guy Beaver, co-author of <a href=\"http:\/\/www.amazon.com\/Lean-Agile-Software-Development-Achieving-Enterprise\/dp\/0321532899\/ref=sr_1_1?ie=UTF8&amp;qid=1298285479&amp;sr=8-1\" target=\"_blank\" rel=\"noopener noreferrer\">\u00abLean Agile Software Development\u00bb<\/a><\/p>\n<p>Guy described using both charts on the same projects, in what he called an \u00abAgile V\u00bb burndown configuration.\u00a0 Basically you put a burndown of hours on the left, and a burnup of story points on the right.\u00a0 Ideally as your hours burndown goes to zero and your points burnup goes to 100% complete, you get a rough V shape at the end.\u00a0\u00a0 Some teams have even superimposed the two charts on one plot (using both an hours and points scale on the y-axis), to get an \u00abAgile X\u00bb shape in their burndowns\/burnups.<\/p>\n<p><img loading=\"lazy\" title=\"gb0307-1\" src=\"http:\/\/www.agilejournal.com\/images\/stories\/articles\/gb0307-1.jpg\" border=\"0\" alt=\"gb0307-1\" hspace=\"5\" vspace=\"5\" width=\"575\" height=\"206\" \/><br \/>\n<em>Image from this post by <a href=\"http:\/\/www.agilejournal.com\/articles\/columns\/column-articles\/274-the-agile-v-scorecard\" target=\"_blank\" rel=\"noopener noreferrer\">Guy Beaver on Agile Journal<\/a><\/em><\/p>\n<p>You can see a post from Guy on this topic <a href=\"http:\/\/www.agilejournal.com\/articles\/columns\/column-articles\/274-the-agile-v-scorecard\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>, where he describes how this approach results in an \u00abAgile-V Scorecard.\u00bb\u00a0 I particularly like how he describes that this approach has benefits for a new team to help them keep focus on delivering value.\u00a0 He also describes how for a mature team, this approach allows them to realize early in an iteration when enough stories aren&#8217;t being delivered (you should be able to knock out a couple early in the sprint), and therefore some obstacles must exist that need to be removed.<\/p>\n<p>I like this idea, since it combines the best of both worlds.\u00a0 As long as you are not adding a lot of overhead in asking developers to both re-estimate their hours remaining on a daily basis, as well as track when a story is \u00abdone\u00bb, then it seems like a good path to try.\u00a0 If you combine it with my range estimation techniques on the burndown, then you are getting the benefit of the conservative estimation techniques, as well as the \u00abfocus on completion\u00bb of the burnup.\u00a0 Those are mutually beneficial strategies to follow.<\/p>\n<p>There are even additional benefits that such a combined approach may encourage.\u00a0 As one commenter on this forum post notes, <a href=\"https:\/\/www.xing.com\/net\/agilemethods\/best-practices-18274\/sprint-burndowns-with-time-or-story-points-remaining-20378762\/20417613\/#20417613\" target=\"_blank\" rel=\"noopener noreferrer\">\u00abwith this combination you can detect multi-tasking.\u00bb<\/a> If the burndown of hours is progressing fine, but no completed stories are reflected on the story point burnup, then the team may be multitasking between stories too much.\u00a0 So having both charts will encourage the team to follow good lean and kanban practices of limiting the work in progress, and just getting things done.<\/p>\n<p>In this particular project I mentioned at the beginning, after some discussion we ultimately decided to stick with the hours burndown rather than switch to the points burndown.\u00a0 Only one team member wanted the switch, and we were reluctant to change directions mid-project.\u00a0 But it was a good discussion and it got me thinking about how to address both sets of valid concerns.<\/p>\n<p>After hearing Guy&#8217;s talk and doing more research, I think the next time I&#8217;m in that situation I will not allow it to be a choice of one or the other.\u00a0 Doing both may offer significant benefits and I&#8217;m curious to try it out.<\/p>","protected":false},"excerpt":{"rendered":"<p>About a month ago I was working with a team planning another iteration for the project, when we had an interesting discussion about how to manage our burndown. On all of our previous sprints, our burndowns were based on hours.\u00a0 That is, for each day of the sprint, team members would revise their estimates of [&hellip;]<\/p>","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":""},"categories":[4,16],"tags":[5,9,10,11,12,13,14,15],"jetpack_featured_media_url":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v15.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Burning hours and points together - AgilityFeat Panama Software Test Center<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/agilityfeatpanama.com\/blog\/2011\/02\/burning-hours-and-points-together\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Burning hours and points together - AgilityFeat Panama Software Test Center\" \/>\n<meta property=\"og:description\" content=\"About a month ago I was working with a team planning another iteration for the project, when we had an interesting discussion about how to manage our burndown. On all of our previous sprints, our burndowns were based on hours.\u00a0 That is, for each day of the sprint, team members would revise their estimates of [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/agilityfeatpanama.com\/blog\/2011\/02\/burning-hours-and-points-together\/\" \/>\n<meta property=\"og:site_name\" content=\"AgilityFeat Panama Software Test Center\" \/>\n<meta property=\"article:published_time\" content=\"2011-02-22T14:31:03+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/farm5.static.flickr.com\/4114\/4878371197_77b54a2a1b.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\">\n\t<meta name=\"twitter:data1\" content=\"6 minutes\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/34.200.113.64\/#website\",\"url\":\"https:\/\/34.200.113.64\/\",\"name\":\"AgilityFeat Panama Software Test Center\",\"description\":\"AgilityFeat Panama offers customized, multilevel web and mobile software testing for a variety of industries.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/34.200.113.64\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/agilityfeatpanama.com\/blog\/2011\/02\/burning-hours-and-points-together\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"http:\/\/farm5.static.flickr.com\/4114\/4878371197_77b54a2a1b.jpg\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/agilityfeatpanama.com\/blog\/2011\/02\/burning-hours-and-points-together\/#webpage\",\"url\":\"https:\/\/agilityfeatpanama.com\/blog\/2011\/02\/burning-hours-and-points-together\/\",\"name\":\"Burning hours and points together - AgilityFeat Panama Software Test Center\",\"isPartOf\":{\"@id\":\"https:\/\/34.200.113.64\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/agilityfeatpanama.com\/blog\/2011\/02\/burning-hours-and-points-together\/#primaryimage\"},\"datePublished\":\"2011-02-22T14:31:03+00:00\",\"dateModified\":\"2011-02-22T14:31:03+00:00\",\"author\":{\"@id\":\"https:\/\/34.200.113.64\/#\/schema\/person\/c8d60d597071526db386b2b8a4afac64\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/agilityfeatpanama.com\/blog\/2011\/02\/burning-hours-and-points-together\/\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/34.200.113.64\/#\/schema\/person\/c8d60d597071526db386b2b8a4afac64\",\"name\":\"arin\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/34.200.113.64\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"http:\/\/0.gravatar.com\/avatar\/cc498e210512c707ed769986dd745896?s=96&d=mm&r=g\",\"caption\":\"arin\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"http:\/\/34.200.113.64\/en\/wp-json\/wp\/v2\/posts\/1094"}],"collection":[{"href":"http:\/\/34.200.113.64\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/34.200.113.64\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/34.200.113.64\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/34.200.113.64\/en\/wp-json\/wp\/v2\/comments?post=1094"}],"version-history":[{"count":0,"href":"http:\/\/34.200.113.64\/en\/wp-json\/wp\/v2\/posts\/1094\/revisions"}],"wp:attachment":[{"href":"http:\/\/34.200.113.64\/en\/wp-json\/wp\/v2\/media?parent=1094"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/34.200.113.64\/en\/wp-json\/wp\/v2\/categories?post=1094"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/34.200.113.64\/en\/wp-json\/wp\/v2\/tags?post=1094"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}