The TOP-5 wrong reasons to do large projects
Software and service development projects do not need to be large. Knowledge work has the advantage over other domains (e.g. manufacturing or civil engineering) that we can do great things with small group of people.
Actually, doing things with smaller group is a competitive advantage: having less people during development and truly understanding the value for customer, the service or product can be done with less costs. I am not talking 5%-10% here; I am talking 5x or 10x improvement.
However, large projects do exist and their existence is defended with plausible-sounding arguments. Here are the TOP-5 arguments I hear when I propose doing things in a smaller scale.
#5: “You can not build a multi-national safety-critical air-traffic control system with a small team”
No, I can not. But what limits other people in other context shouldn’t be limitation in my work. The fact that some things may need to be large does not mean that everything could be large. Luckily this argument is more on the “academic discussion” side and easy to overcome in a discussion about a real project.
#4: “If we do a project with 20 great people instead of our normal 500 people, then will those 480 people lose their jobs?”
I don’t see how a company would fire people when it starts doing same value with less people (i.e. ROI improves). Could the other 480 people do more value in other small projects? Well, they could lose their jobs if they were hired to do things that should not be done at all.
This is a weird argument, as if someone would enjoy working as a clog in a large machine or purpose of the organization would be doing large projects. But hey, it gives an impression that manager cares about people.
#3: “Large projects are actually a good thing, cost-effective and all that”
They are not. The interesting part here is what “cost-effective” means. Yes, with 500 people you probably have smaller relative cost of setup and project management cost (visible overhead) than with a project of 50 people. But the invisible cost — internal failure demand — for large projects is huge. People sit in meetings, wait for others and fix problems that late integration brings. But that looks efficient, because everyone is busy.
#2: “Large projects are not good, unless you do it Lean” (or any other current fad)
This sounds more plausible than #3. But then again: if Lean is the magic word, would not it give even greater benefit if you apply it for a small project? You would get best of both worlds: less fixed costs + the benefit of Lean.
What is interesting here, Lean (and other) are often used to fix a problem that should not even exist. “With our Lean approach you can manage the whole value-chain” raises a question “Why did you screw up your value-chain so badly it needs management?”
#1: “You don’t have anything that would make our projects smaller overnight” (..so we continue doing large projects)
I call this “The stretch pants argument”. In other words: “I have grown out of my clothes and need to wear something tomorrow, so the only thing I can do is to buy stretch pants“.
This arguments true: There is no silver bullet. Changing from “big band, big upfront design, silo organization and tons of failure demand” is not going to be easy! It requires not only discipline but also new kind of thinking. It requires that organization stops organizing itself inside-out and start organizing outside-in, against value demand.
You can not delay your fitness program any further. If you have pressure from competition, downhill in sales and de-motivated personnel, the only thing you can do is to change how the work works. Trying to “do Agile in large projects” or “manage backlogs between the teams” is not going to take you much further.
It is unfortunate that these arguments take the discussion away from the real problems. Large-scale is a problem and it is caused by some harmful system conditions. Becoming fast, Agile and successful requires change in system conditions. Stop being big in your next project and change anything you need to achieve that. If not, what is your favorite excuse?