{"id":83,"date":"2014-02-26T18:17:17","date_gmt":"2014-02-26T22:17:17","guid":{"rendered":"http:\/\/betterrealities.com\/?p=83"},"modified":"2014-02-26T18:17:17","modified_gmt":"2014-02-26T22:17:17","slug":"triangle-class-problems","status":"publish","type":"post","link":"http:\/\/betterrealities.com\/?p=83","title":{"rendered":"Triangle-Class Problems"},"content":{"rendered":"<p>Most project managers are familiar with the phrase &#8220;fast, cheap, or good, pick two&#8221;. \u00a0It&#8217;s a classic formulation of a resource constraint tradeoff. \u00a0If you need it fast, you can spend more or lower the quality bar; if you need it cheap, it&#8217;s going to take longer or be lower quality; if you need it to be top-notch, you&#8217;re going to have to either spend the money or the time to get it there. \u00a0This triangle of constraints represents (in some ways) a particular version of <a title=\"Balloon-Class Problems\" href=\"http:\/\/betterrealities.com\/?p=76\" target=\"_blank\">balloon-class problems<\/a>: squeezing any one angle is going to put pressure on the other two; if you try to pressure all three, it&#8217;s likely to explode in your face.<\/p>\n<p>In my experience, though, things are rarely so clean. \u00a0For example, where does scope fall in these constraints? \u00a0Is it a sub-set of quality? \u00a0And labor cost factors into both fast and cheap; even if you&#8217;re running a small team, burn rate X time = money. \u00a0The idea that spending more money can make things faster also runs into problems with critical path and non-segmentable work (see <a href=\"http:\/\/en.wikipedia.org\/wiki\/The_Mythical_Man-Month\" target=\"_blank\">The Mythical Man-Month<\/a> on why 9 women can&#8217;t have a baby in 1 month). \u00a0In team situations (and almost all game development is team-based), you also run into problems because communication efficiency scales inversely with team size, and scaling a team is a risky and time-consuming proposition.<\/p>\n<p>People have tried to refine this triangle by making diamonds, or Star-of-David type diagrams, which really misses the point. \u00a0Project management is not a problem you can solve in the abstract. \u00a0Every team, every project has its own dynamics. \u00a0The triangle is a tool. \u00a0Like a forking move in chess, it allows the project manager to present clearly to other stakeholders that they must make a choice, and regardless of which choice they make, they are going to have to give something up. \u00a0It is a defense against outside forces who often want everything, or, for that matter, against inside forces that are not setting priorities realistically. \u00a0Its simplicity is its strength; it embodies the problem.<\/p>\n<p>Even though it&#8217;s not the most precise formulation, it&#8217;s still a useful tool. \u00a0It allows you to negotiate without saying no, a valuable move particularly when you&#8217;re managing up. \u00a0On the flip side, if you recognize that you&#8217;re getting this a lot from your team, you need to revisit the project priorities, risks, and mitigation plans; something has drifted out of alignment, and you may well be the one who is drifting.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Most project managers are familiar with the phrase &#8220;fast, cheap, or good, pick two&#8221;. \u00a0It&#8217;s a classic formulation of a resource constraint tradeoff. \u00a0If you need it fast, you can spend more or lower the quality bar; if you need it cheap, it&#8217;s going to take longer or be lower quality; if you need it &hellip; <a href=\"http:\/\/betterrealities.com\/?p=83\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Triangle-Class Problems<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3,2],"tags":[],"_links":{"self":[{"href":"http:\/\/betterrealities.com\/index.php?rest_route=\/wp\/v2\/posts\/83"}],"collection":[{"href":"http:\/\/betterrealities.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/betterrealities.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/betterrealities.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/betterrealities.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=83"}],"version-history":[{"count":2,"href":"http:\/\/betterrealities.com\/index.php?rest_route=\/wp\/v2\/posts\/83\/revisions"}],"predecessor-version":[{"id":87,"href":"http:\/\/betterrealities.com\/index.php?rest_route=\/wp\/v2\/posts\/83\/revisions\/87"}],"wp:attachment":[{"href":"http:\/\/betterrealities.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=83"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/betterrealities.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=83"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/betterrealities.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=83"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}