{"id":1101,"date":"2011-07-07T15:11:23","date_gmt":"2011-07-07T15:11:23","guid":{"rendered":"http:\/\/blog.agilityfeat.com\/?p=101"},"modified":"2011-07-07T15:11:23","modified_gmt":"2011-07-07T15:11:23","slug":"estimates-qa-points-man-hours-and-reality-factors","status":"publish","type":"post","link":"http:\/\/34.200.113.64\/en\/blog\/2011\/07\/estimates-qa-points-man-hours-and-reality-factors\/","title":{"rendered":"Estimates Q&#038;A: Points, Man-hours, and \u00abreality factors\u00bb"},"content":{"rendered":"<p>What&#8217;s the deal with story points and agile estimation techniques, and why can&#8217;t we just improve our estimates over time?\u00a0 That&#8217;s part of the question that a friend of mine asked recently, and I&#8217;m going to respond to it in this blog post.<\/p>\n<p>My friend is relatively new to agile and so he has been asking lots of excellent and probing questions.\u00a0 Here is an email he sent me:<\/p>\n<blockquote>\n<div>Agile practitioners estimate work in terms of points and then after  each sprint determine their velocity so that they can make better  estimates about how much work remains in terms of real time. \u00a0<strong>Is there a better way to do this?<\/strong> I propose that we estimate the amount of work remaining in real  man-hours. \u00a0Then, after each sprint, we estimate our reality_factor as  (reality_factor = estimated_hours \/ actual_hours_taken). \u00a0The goal being  that the reality_factor should converge to 1 as we get better at  estimating time that it takes to do things.<\/div>\n<div>Benefits:<\/div>\n<ul>\n<li>If anyone asks how much work is left, you don&#8217;t have to do a calculation using the velocity to get to real man-hours.<\/li>\n<li>As  you converge, the meaning of real man-hours is universal. \u00a0With points,  you have to re-converge to the meaning of 1 point whenever you start a  new project or work with a new group.<\/li>\n<\/ul>\n<div>Drawbacks:<\/div>\n<div>\n<ul>\n<li>You have to keep careful track of time.<\/li>\n<\/ul>\n<div>What do you think?<\/div>\n<\/div>\n<\/blockquote>\n<div>\n<div>He asks a very reasonable question, and he comes up with a very reasonable solution.\u00a0 Unfortunately, we&#8217;ve been down this road before in software development, and that&#8217;s why the idea of story points exists.<\/div>\n<div><\/div>\n<div>I don&#8217;t believe the reality factor will ever converge very close to 1, because of the inherent human biases in estimation. \u00a0And keeping careful track of time is a large drawback, since it is generally demotivating and encourages people to underreport the amount of work they are doing so that their initial estimates look more accurate. \u00a0That is a self-destructive cycle but one that developers do anyways.<\/div>\n<div>\n<p>&nbsp;<\/p>\n<p>Man-hours is also a deceptively simple metric, because it implies that adding more people (ie, more man-hours) to a project will speed it up. And so managers are often tempted to add more people to a project late in the process in order to speed up delivery, but this rarely has\u00a0 the positive effect desired. \u00a0In fact, it may slow the team down further.<\/p>\n<p>So keeping velocity separate from a metric like man-hours is an intentional obfuscation.\u00a0 It also addresses a very important issue in estimation.\u00a0 Generally speaking, we are not very good at estimating things in absolutes.\u00a0 When we try to estimate in absolutes (ie, a concrete number like 2 days), we tend to give our most optimistic estimate, and often it&#8217;s a gut reaction.\u00a0 There are so many uncertainties in software development that it&#8217;s very hard to estimate in absolute terms.<\/p>\n<p>Fortunately, most people are much better at estimating in relative terms.\u00a0 We still won&#8217;t be perfect, but it&#8217;s much easier to say that \u00abTask B is twice as hard as Task A\u00bb.\u00a0 This sort of relative estimate is much more likely to be accurate than saying \u00abTask B will take 10 hours and Task A will take 5 hours.\u00bb<\/p>\n<p>If we plan based on these relative estimates, we are much more likely to be accurate in our sizing of how hard a task is.\u00a0 And if we stay consistent in that relative sizing across estimates, then we can look at our historical velocity.\u00a0 Historical velocity is an absolute number, but&#8217;s that okay.\u00a0 We can say definitively that the team accomplished 25 points of work in the last iteration.\u00a0 And so that is a number grounded in reality, and so it provides a frame of reference for the relative estimates of story points.<\/p>\n<p>So, would a \u00abreality factor\u00bb help in estimation?\u00a0 I argue that it would not, because the formula that my friend proposes above is still based on an absolute metric of hours that we simply aren&#8217;t good at estimating in.\u00a0 Historical velocity serves the same purpose that my friend is trying to account for with a reality factor, and yet it still lets us stay in the world of relative estimation, which is a world we are much more likely to succeed in.<\/p>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>What&#8217;s the deal with story points and agile estimation techniques, and why can&#8217;t we just improve our estimates over time?\u00a0 That&#8217;s part of the question that a friend of mine asked recently, and I&#8217;m going to respond to it in this blog post. My friend is relatively new to agile and so he has been [&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],"tags":[5,11,12,13],"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>Estimates Q&amp;A: Points, Man-hours, and &quot;reality factors&quot; - 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\/en\/blog\/2011\/07\/estimates-qa-points-man-hours-and-reality-factors\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Estimates Q&amp;A: Points, Man-hours, and &quot;reality factors&quot; - AgilityFeat Panama Software Test Center\" \/>\n<meta property=\"og:description\" content=\"What&#8217;s the deal with story points and agile estimation techniques, and why can&#8217;t we just improve our estimates over time?\u00a0 That&#8217;s part of the question that a friend of mine asked recently, and I&#8217;m going to respond to it in this blog post. My friend is relatively new to agile and so he has been [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/agilityfeatpanama.com\/en\/blog\/2011\/07\/estimates-qa-points-man-hours-and-reality-factors\/\" \/>\n<meta property=\"og:site_name\" content=\"AgilityFeat Panama Software Test Center\" \/>\n<meta property=\"article:published_time\" content=\"2011-07-07T15:11:23+00:00\" \/>\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=\"4 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\":\"WebPage\",\"@id\":\"https:\/\/agilityfeatpanama.com\/en\/blog\/2011\/07\/estimates-qa-points-man-hours-and-reality-factors\/#webpage\",\"url\":\"https:\/\/agilityfeatpanama.com\/en\/blog\/2011\/07\/estimates-qa-points-man-hours-and-reality-factors\/\",\"name\":\"Estimates Q&A: Points, Man-hours, and \\\"reality factors\\\" - AgilityFeat Panama Software Test Center\",\"isPartOf\":{\"@id\":\"https:\/\/34.200.113.64\/#website\"},\"datePublished\":\"2011-07-07T15:11:23+00:00\",\"dateModified\":\"2011-07-07T15:11:23+00:00\",\"author\":{\"@id\":\"https:\/\/34.200.113.64\/#\/schema\/person\/c8d60d597071526db386b2b8a4afac64\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/agilityfeatpanama.com\/en\/blog\/2011\/07\/estimates-qa-points-man-hours-and-reality-factors\/\"]}]},{\"@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\/1101"}],"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=1101"}],"version-history":[{"count":0,"href":"http:\/\/34.200.113.64\/en\/wp-json\/wp\/v2\/posts\/1101\/revisions"}],"wp:attachment":[{"href":"http:\/\/34.200.113.64\/en\/wp-json\/wp\/v2\/media?parent=1101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/34.200.113.64\/en\/wp-json\/wp\/v2\/categories?post=1101"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/34.200.113.64\/en\/wp-json\/wp\/v2\/tags?post=1101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}