Software Triangle
I was searching on images.google.com for diagrams about iterative software development, and I found this image. It’s a triangle with the vertices labeled as “schedule,” “functionality,” and “budget.” On each edge, a project meets its goals for two components, but lacks in the third one. It’s kind of like the Bermuda triangle of software development.
I think an agile development process would try to avoid this triangle, but would prefer to land on the edge of “on schedule and on budget, but reduced functionality.” The triangle misses another factor of software, which is quality. A project could deliver a full system on time at the right price, but be pretty buggy in production. I think quality is the worst sacrifice to make because it’s very frustrating to people when they aren’t given a chance to perform at levels that satisfy them. And it leaves developers with a code base that is expensive and painful to maintain. In other words, it reduces developers’ morale and costs more money in the long run when quality is sacrificed.
September 20th, 2004 at 10:28 am
Venting frustrations about work, Eric?
September 21st, 2004 at 8:02 am
The rant about quality gave me away, didn’t it.
September 21st, 2004 at 3:17 pm
Actually, the phrase about reduced developer morale was what gave it away for me…