{"id":23072,"date":"2018-10-12T15:47:59","date_gmt":"2018-10-12T19:47:59","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=23072"},"modified":"2018-10-12T15:47:59","modified_gmt":"2018-10-12T19:47:59","slug":"the-math-behind-project-scheduling-bug-tracking-and-triage","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2018\/10\/12\/the-math-behind-project-scheduling-bug-tracking-and-triage\/","title":{"rendered":"The Math Behind Project Scheduling, Bug Tracking, and Triage"},"content":{"rendered":"<p><a href=\"https:\/\/www.usenix.org\/conference\/srecon18europe\/presentation\/pennarun\">Avery Pennarun<\/a> (via <a href=\"https:\/\/news.ycombinator.com\/item?id=18104435\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"https:\/\/www.usenix.org\/conference\/srecon18europe\/presentation\/pennarun\"><p>Many projects have poorly defined (and often overridden) priorities, hopelessly optimistic schedules, and overflowing bug trackers that are occasionally purged out of frustration in a mysterious process called &ldquo;bug bankruptcy.&rdquo; But a few projects seem to get everything right. What&rsquo;s the difference? Avery collected the best advice from the best-running teams at Google, then tried to break down why that advice works&mdash;using math, psychology, an ad-hoc engineer simulator (SimSWE), and pages torn out of Agile Project Management textbooks.<\/p><p>We&rsquo;ll answer questions like:<\/p><ul><li>Why are my estimates always too optimistic, no matter how pessimistic I make them?<\/li><li>How many engineers have to come to the project planning meetings?<\/li><li>Why do people work on tasks that aren&rsquo;t on the schedule?<\/li><li>What do I do when new bugs are filed faster than I can fix them?<\/li><li>Should I make one release with two features or two releases with one new feature each?<\/li><li>If my bug tracker is already a hopeless mess, how can I clean it up without going crazy or declaring bankruptcy?<\/li><\/ul><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Avery Pennarun (via Hacker News): Many projects have poorly defined (and often overridden) priorities, hopelessly optimistic schedules, and overflowing bug trackers that are occasionally purged out of frustration in a mysterious process called &ldquo;bug bankruptcy.&rdquo; But a few projects seem to get everything right. What&rsquo;s the difference? Avery collected the best advice from the best-running [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2018-10-12T19:48:01Z","apple_news_api_id":"275d09b7-aa71-4f8f-a067-48ac88b52df0","apple_news_api_modified_at":"2018-10-12T19:48:01Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","apple_news_api_share_url":"https:\/\/apple.news\/AJ10Jt6pxT4-gZ0isiLUt8A","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[44,738,71],"class_list":["post-23072","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-bugtracking","tag-conference","tag-programming"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/23072","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=23072"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/23072\/revisions"}],"predecessor-version":[{"id":23073,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/23072\/revisions\/23073"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=23072"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=23072"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=23072"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}