The Ground Rules for Building Custom SofwarePosted 2013-03-05 Email Print
Here's an account of the decision-making process that led ASD to build a custom software system, with a look at hits and misses and insight into best practices.
We did a significant amount of whiteboarding to plan the project, but we later realized that we should have done more. If you don’t spend enough time in the whiteboard room, it will show up later.
Elements that we didn’t include on the whiteboard later showed up as unexpected issues that we had to deal with on the spot before we could move forward with the project. It would have been more productive to invest additional time in whiteboarding to avoid the pop-up projects that showed up down the road.
Too Much Too Soon
Even though we took a phased approach, we still tried to do too much too soon when it came to adding features. We fell into the trap of wanting to overdesign the first screens and modules. We tried to take a big swing and hit a home run with the first iteration.
We have learned that we have to follow the lead of software companies and start with the basics and add additional features in future iterations.
Overlooking the Obvious
When you build a system from the ground up, you have to make decisions about every element. This level of detail caused us to overlook some of the basic features we took for granted in the old system.
For instance, pop-up windows were automatic in the old system, and we didn’t think to add them to the new system until users complained about having to switch back and forth between screens. In a project of this size and scope, it is easy to overlook simple features such as pop-up windows.
Developing a software platform is an expensive, time-consuming process. For this reason, we recommend researching the available off-the-shelf software options before developing a custom software platform. If there is a system on the market that can meet your needs, start there. You may not need to develop your own system.
If a system on the market meets most of your needs, but not all, see what customization options exist before you decide to build software from scratch. If no system on the market meets your needs and none can be customized to meet your needs, it might be time to consider building a proprietary system.
Looking back, we realize that we made the right choice for ASD by building a custom software platform, even though the process has not been without challenges. OMNI has helped us integrate all areas of our business so we can focus on what’s important to our customers.
Through the OMNI platform, we have been able to increase efficiency and improve customer service, and we plan to continually improve the platform over time to further improve operations.
Michael Castiglione is the operations manager of Automated Systems Design, which manufactures high-performance iCAT-ITS copper offerings, as well as iGLO-ITS fiber optic products. www.asd-usa.com