{"id":39,"date":"2019-02-27T03:01:12","date_gmt":"2019-02-27T03:01:12","guid":{"rendered":"https:\/\/serioussemicolons.wordpress.com\/?p=39"},"modified":"2019-02-27T03:01:12","modified_gmt":"2019-02-27T03:01:12","slug":"better-time-estimates-with-relative-weights","status":"publish","type":"post","link":"https:\/\/blog.bryant.ai\/?p=39","title":{"rendered":"Better Time Estimates with Relative Weights"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">This past weekend I was working on my side project (which is a secret, sorry!) and I was trying to find a good way to organize the issues in priority order. I came across a fantastic article on the <a href=\"https:\/\/www.atlassian.com\/agile\/project-management\/estimation\">Atlassian Agile Coach&nbsp;<\/a>which presents a system for estimation using issue weights ranging from 0 to 100.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The special thing about this range is that it&#8217;s comprised of numbers <strong>roughly&nbsp;adhering&nbsp;to&nbsp;a&nbsp;Fibonacci&nbsp;sequence, like so: <\/strong> <br><\/p>\n\n\n\n<p style=\"font-size:34px;text-align:center;\" class=\"has-text-color has-background has-very-light-gray-color has-very-dark-gray-background-color wp-block-paragraph\">0, 0.5, 1, 2, 3, 5, 8, 12*, 20, 40, 100<\/p>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\"><em>*In the article this value is 13, but I changed it to 12 because that&#8217;s a workday-and-a-half and made more sense.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So it&#8217;s not too far of a leap to translate these weights to <em>man-hours&nbsp;of&nbsp;effort<\/em>. In other words, I realized that an issue with a weight of 8 should take me one full work-day to complete.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I liked that paradigm, so I made a bunch more:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"635\" height=\"515\" src=\"https:\/\/blog.bryant.ai\/wp-content\/uploads\/2019\/02\/rws.png\" alt=\"\" class=\"wp-image-40\" srcset=\"https:\/\/blog.bryant.ai\/wp-content\/uploads\/2019\/02\/rws.png 635w, https:\/\/blog.bryant.ai\/wp-content\/uploads\/2019\/02\/rws-300x243.png 300w\" sizes=\"auto, (max-width: 635px) 100vw, 635px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">So what do we do with this data? Well, besides providing a decent time estimate for the issue, issues can be sorted by weight and organized into sprints. We can also make burndown charts, which are <em>super<\/em> cool:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1429\" height=\"714\" src=\"https:\/\/blog.bryant.ai\/wp-content\/uploads\/2019\/02\/bdc.png\" alt=\"\" class=\"wp-image-41\" srcset=\"https:\/\/blog.bryant.ai\/wp-content\/uploads\/2019\/02\/bdc.png 1429w, https:\/\/blog.bryant.ai\/wp-content\/uploads\/2019\/02\/bdc-300x150.png 300w, https:\/\/blog.bryant.ai\/wp-content\/uploads\/2019\/02\/bdc-1024x512.png 1024w, https:\/\/blog.bryant.ai\/wp-content\/uploads\/2019\/02\/bdc-768x384.png 768w\" sizes=\"auto, (max-width: 1429px) 100vw, 1429px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">So here we can see the project is on progress, with some slight deviations in ticket times around days 6-8. This kind of information is valuable to managers to see where bottlenecks are.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&lt;!\u2013 wp:paragraph \u2013&gt;<br \/>\n&lt;p&gt;This past weekend I was working on my side project (which is a secret, sorry!) and I was trying to find a good way to organize the issues in priority order. I came across a fantastic article on the &lt;a href=&#8221;https:\/\/www.atlassian.com\/agile\/project-management\/estimation&#8221;&gt;Atlassian Agile Coach\u00a0&lt;\/a&gt;which presents a system for estimation using issue weights ranging from [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[9,19],"class_list":["post-39","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-agile","tag-development"],"_links":{"self":[{"href":"https:\/\/blog.bryant.ai\/index.php?rest_route=\/wp\/v2\/posts\/39","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bryant.ai\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bryant.ai\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bryant.ai\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bryant.ai\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=39"}],"version-history":[{"count":0,"href":"https:\/\/blog.bryant.ai\/index.php?rest_route=\/wp\/v2\/posts\/39\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.bryant.ai\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=39"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bryant.ai\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=39"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bryant.ai\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=39"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}