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% |
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.