Delays and budget overruns are just the tip of the iceberg: the biggest waste of money in software development.
Everyone in this market knows that software projects tend to be delayed and cost more than necessary. It’s already “in the price”.
But the real waste of money in software development is in the project:
- Excessive scope: too many features that aren’t used.
- Overly complex software: too much information, too many processes, too much control. This costs time, money, and focus: despite the excess, you often do not have the information, process, and control you really need.
- This complexity has consequences: it leads to poor UX, misleads users, and generates training and support costs.
- The more complex the software, the more likely it is to require additional infrastructure components. The higher the cost and effort to host and maintain.
In addition, software needs to evolve. Software with too much scope makes evolution expensive and complex. Add to that the extra costs of evolution and the costs of missed opportunities because the software has stopped evolving.
The main cause of wasted money on software development lies in how software projects are viewed, especially in comparison with other projects.
When building a new factory, you need to decide and design everything first. If you discover that the production line shed is too low for the machinery after it has been built, the loss is enormous.
That’s why a lot of time, effort and money is spent on design: to be sure of everything before starting work.
By bringing these same restrictions to software development, we are solving a non-existent problem. In a software architecture designed to be agile, the cost of change is not negligible, but it is much lower than in projects in other areas. So much less, in fact, that all the effort we make to preserve our investment generally ends up generating extra costs.
So what is the ideal project?
You do the bare minimum. Well done, because it’s the bare minimum. You put it into production and watch the results. After all, software is about people.
But how do you do that when the corporate bureaucracy won’t let you?
To start a project, you need a detailed business case, including costs and effort, vendors involved, problems to be solved, an overview of the solution, and a projection of expected results? Then you need to present the business case to a committee that meets two or three times a quarter, where you’ll be scrutinized to make sure you’ve thought of everything. (Thinking of everything is exactly what you don’t want to do.)
You also have to present the technical solution to an architecture committee, which also conducts a hearing on the technology, software architecture, scope of the solution, infrastructure needs, and processes.
In other words, the corporate bureaucracy is designed to make you do a lot of designing, a lot of planning, and a lot of thinking. It may sound good, but it’s the opposite of how software innovates.
Want to build really innovative software? Visie U.S. can help.