At Tejon Tech we have a cultural statement that says "We never customize, we always configure. " here's why...
Last night we held a UI Review discussion group meeting at a private room at the local Marco’s Pizza. I love Marcos pizza. One of the participants, a local computer guru and Silicon Valley veteran, made an interesting observation, he said from his experience that 75% of all major software projects fail in either budget, timeline, or ever working at all.
Why is that? I doubt that anyone starts a project thinking, “this project will probably waste a few hundred thousand of dollars, sidetrack the department for a year, hurt our reputation, and cause countless sleepless nights, but let’s just jump in and hope for the best.” I’m sure that every project begins with competent professionals who honestly believe that the project is needed and will be successful.
I believe the primary cause of project failure is custom code. Think about it this way, How many deployments of Microsoft Office have gone 300% over budget and taken an extra year to deploy? None. Because it ‘s all mainline production code. There’s no custom code in Office. (note that Access, Excel, and Word can be used to create custom applications, but I’m writing about the installation of Office itself, not using Office as a development platform.)
Customizing an existing application with custom code is risky for several reasons,
Are these seven reasons absolutes? No, of course not. One in four customization project succeed. And, professionals use specific techniques designed to mitigate these risks. But, these are the reasons why 75% of all large scale software projects fail.
Last night my friend pointed out another reason why he sees custom software projects fail. If the project takes more than a year, there’s a good chance of some personnel turn over that affects the project. A change of programmers, key stakeholders, project champion, or leadership could be enough of a change to alter the project requirements or derail the project altogether.
A typical large custom software project takes 18-24 month or longer. How much will the organization change in that length of time? Will the project, once complete, if it’s completed on-time, meet the needs of the changing organization?
For all these reasons, commissioning custom code to alter an existing product is risky at best. IT leadership knows this, so why would a ministry ever agree to customized software? Usually, it’s because they don’t see any other option.
The solution? Fully configurable software.