O'Reilly logo

97 Things Every Software Architect Should Know by Richard Monson-Haefel

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 35. Scope Is the Enemy of Success

Dave Quick is the owner, chief architect, janitor, and sole employee of Thoughtful Arts. Thoughtful Arts develops off-the-shelf software for musicians and provides software design consulting for companies who develop music, or arts-oriented software.

Dave Quick
image with no caption

SCOPE REFERS TO A PROJECT'S SIZE. How much time, effort, and resources? What functionality at what level of quality? How difficult to deliver? How much risk? What constraints exist? The answers define a project's scope. Software architects love the challenge of big, complicated projects. The potential rewards can even tempt people to artificially expand a project's scope to increase its apparent importance. Expanding scope is the enemy of success because the probability of failure grows faster than expected. Doubling a project's scope often increases its probability of failure by an order of magnitude.

Why does it work this way? Consider some examples:

  • Intuition tells us to double our time or resources to do twice as much work. History[2] says impacts are not as linear as intuition suggests. For example, a four-person team will expend more than twice the communication effort as a team of two.

  • Estimation is far from an exact science. Who hasn't seen features that were much harder to implement than expected?

Of course, some projects aren't worth doing without some built-in size and complexity. ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required