{"id":2239,"date":"2011-08-27T13:50:54","date_gmt":"2011-08-27T19:50:54","guid":{"rendered":"http:\/\/wordpress.reams.me\/?p=2239"},"modified":"2011-08-28T07:30:06","modified_gmt":"2011-08-28T13:30:06","slug":"estimate-acceleration-the-law-of-doubling-estimates","status":"publish","type":"post","link":"https:\/\/wordpress.reams.me\/?p=2239","title":{"rendered":"Estimate acceleration: the law of doubling estimates"},"content":{"rendered":"<p>Estimation is not a science, it is mostly guessing (hopefully based on prior experiences). In fact, a lot of web development is bespoke and and APIs change on a weekly basis. <\/p>\n<p>Because of this, I&#8217;ve noticed that the process of estimation is handed off to various stakeholders which, in order to factor in estimation risks, inflates numbers at each level (which is okay). <\/p>\n<p>In many cases an estimate originates with the folks expected to design and do the work: the Developer.<\/p>\n<p>From there, its communicated to someone higher up who will spot check this for budgeting purposes: the Manager.<\/p>\n<p>The estimate is then communicated (no matter the medium) to the folks responsible for the project: the Client.<\/p>\n<p>This typically is elevated to someone higher up who owns the project success, budget, etc.: the Bosses. <\/p>\n<p>An finally, if outsiders are to be affected (a website redesign, a new feature), some advanced communication is typically provided to: the Public.<\/p>\n<p>At each step, someone is hearing a number (dollars, hours, months) and sometimes recalculating before they turn around and tell the next stakeholder. If I, the Client, hear the feature will be done &#8220;this week&#8221;, I will tell my Boss &#8220;next week&#8221; in case something (inevitably) comes up, changes are required, someone gets sick, a hurricane hits, etc. <\/p>\n<p>This is not necessarily a symptom of mismanagement but an understanding that internal expectations are usually best-case. Hopefully the recipient&#8217;s experience has shown that &#8220;things happen&#8221; and any project may may have blind spots or unexpected events. Therefore, each person may turn around and double what they were just told. Some may see this as under-promising and over-delivering; I call it being realistic and conservative. <\/p>\n<p>If you follow the flow from Developer to Public, you should realize that a &#8220;1 month&#8221; project set to complete in January should probably be communicated in the press release as a March launch. This may seem crazy or unreasonable to the uninitiated&#8230;<\/p>\n<p>It&#8217;s much easier to have hard conversations about budgets or timelines early on (we are being intentionally conservative) than in the middle of a project (we didn&#8217;t expect this feature requiring this much work) or at the end when something isn&#8217;t quite done. This forces all kinds of pressure on everyone at each aforementioned level.  <\/p>\n<p>TL;DR: Estimates should accelerate at each level, from Developer up through Bosses because a bit of the &#8220;unexpected&#8221; needs to be factored in.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Estimation is not a science, it is mostly guessing (hopefully based on prior experiences). In fact, a lot of web development is bespoke and and APIs change on a weekly basis. Because of this, I&#8217;ve noticed that the process of estimation is handed off to various stakeholders which, in order to factor in estimation risks, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[9],"tags":[],"class_list":["post-2239","post","type-post","status-publish","format-standard","hentry","category-internet"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.reams.me\/index.php?rest_route=\/wp\/v2\/posts\/2239","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.reams.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.reams.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.reams.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.reams.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2239"}],"version-history":[{"count":4,"href":"https:\/\/wordpress.reams.me\/index.php?rest_route=\/wp\/v2\/posts\/2239\/revisions"}],"predecessor-version":[{"id":2255,"href":"https:\/\/wordpress.reams.me\/index.php?rest_route=\/wp\/v2\/posts\/2239\/revisions\/2255"}],"wp:attachment":[{"href":"https:\/\/wordpress.reams.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2239"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.reams.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2239"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.reams.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2239"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}