We've all seen the "iron triangle" (cost, scope, time). If all three are fixed, your project is a death march to failure. The usual joke is "pick two." 1/5
The fourth factor, quality, is implicit becuase the people who came up with the metaphore actually belived that high quality was not negotiable. We all know how that worked out. However, the presence of quality actually renders the whole triangle thing untrue. 2/5
High quality is more a matter of culture and training than time. It takes no more time to produce quality code, it just takes knowledge of how to do that. High quality also shortens development time. 3/5
The time spent writing tests is more than made up in the speed at which you can work if you trust the code and the fact that you can work intuitively when you have those tests. Quality and scope are orthoganal, I think. 4/5
So, adding quality invalidates that "pick two" joke. Quality reduces time, thereby lowering costs and allowing greater scope. If you're stuck in an iron-triangle system, increase quality to provide some give. 5/5
You can follow @allenholub.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.