Out of the Software Crisis

Small is Successful

By Baldur Bjarnason,

A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.

Gall’s Law, from The Systems Bible (John Gall, 2002)

I am overly fond of citing Gall’s Law. It is one of the few ‘laws’ of systems and software development I know of that is generally correct with very few exceptions. It’s also one of the most widely ignored and disregarded laws of software development.

How many projects have you been involved with where the scope was much too broad at the start?

How many large-scale software projects do you know of that were successful?

Every project begins with ambitions—dreams of the great things we’re going to build. We see the future clearly. We can’t wait to get there. So, we put together glorious plans. This is how we work.

Too big and too complicated is the software industry watchword—a rallying cry that unites all coders and managers.

It isn’t because complex works. We have plenty of data that shows it doesn’t.

The Standish Group has been collecting data on software project success and failure over the past few decades. Even though the details vary, one thing has always been consistent: big projects fail, and small projects succeed.

From their 2015 report:

SUCCESSFUL CHALLENGED FAILED TOTAL
Grand 6% 51% 43% 100%
Large 11% 59% 30% 100%
Medium 12% 62% 26% 100%
Moderate 24% 64% 12% 100%
Small 61% 32% 7% 100%
The Chaos Report 2015 resolution by project size

Small is successful. Ten times more successful.

Our industry wastes so much money on big projects that are unsuccessful.

What Do You Do When Big Projects Are A Recipe For Failure?

Beginnings are always the most important. It’s vital that you be ruthless when cutting scope for a project that’s just starting. If possible, the plan should be to accomplish one thing and one thing only. If that works—remember, small projects can still fail—then you expand on that one thing with another.

If you can get it past your management, you do one small thing at a time. This may sound like a wasteful approach to software development but, as the Standish Group reports demonstrate, the savings you get from a much higher project success rate should more than pay for it.

Small projects cost less, are less risky, and can, with thought, still build up to accomplish the ambitious goals we all suffer from in software development.

Small works.

And, circling back to Gall’s Law, where we started, this is exactly what you’d expect to see if Gall’s Law were true.

Big only works if it’s built up as a series of small things.

Join the Newsletter

Subscribe to the Out of the Software Crisis newsletter to get my weekly (at least) essays on how to avoid or get out of software development crises.

Join now and get a free PDF of three bonus essays from Out of the Software Crisis.

    We respect your privacy.

    Unsubscribe at any time.