How Custom Software is Developed
Published: August 10, 2012
In my previous blog post, I talked about four questions you should ask when evaluating whether your business is in need of custom software development vs. a package software solution. In this post, I’m going to talk about how custom software is developed and what to look for in a consulting partner. Let’s get started…
The interesting thing about custom software development is how many of the tasks do NOT involve the writing of code. Below are the phases our projects follow at Tribridge. Notice that only 1 out of 5 tasks involve writing code – #3 Build and Test. In this post, I will focus only on phases 1 and 2.
- Define – develop clarity of vision
- Design – analyze and document the functionality that will be built, define the technical custom software design
- Build and Test – the actual coding and testing of the custom software application
- Deploy – going “live” – making the software available to the intended audience
- Support – ensuring the software continues to run, fixing bugs, etc.
The goal of the Define phase is to ensure that the project team arrives at a mutual understanding of what the custom software will do, who the users are and what goals the software will attain for the company. Oftentimes, during the define phase, we come to the realization that what the client originally asked for isn’t entirely what they need. This can be quite a revelatory experience for our clients, and one in which we take a lot of pride in helping them to uncover their true needs.
During the Design phase, we work collaboratively to design and document the details of every piece of functionality required by the system – every page, button and business rule is clearly written down. When software is being coded by a developer, there can be no ambiguity. If the requirements are not stated clearly, a good developer will stop and ask for clarification. If the developer isn’t quite as good, experienced or lazy, he or she may just make the decision on your behalf (guess!). This is not a good thing and is at the root of many disconnects.
What to Look for In a Custom Software Consulting Partner
At Tribridge, we enter into every engagement assuming we’re building a long-term relationship with our clients. Because of this mindset, we want to understand every aspect of your business relevant to the project. Regardless of the custom software consulting partner you ultimately use, you should look for and strive to collaborate with consultants that are first and foremost analysts that:
- Ask you pointed questions about your business
- Actively listen and ask follow on questions
- Document your business processes
- Help to develop a roadmap for the future
- Confirm and clarify your needs
- Bring experience
- Illuminate gaps or inefficiencies in your processes
- Are able to reiterate the concepts or issues that you explain to them
- Facilitate meetings to ensure that everyone is heard, and that everyone gains a more detailed understanding of your business processes
- Build consensus among different business managers or departments
- Ask a lot of questions!
Stay tuned for my final blog post on what is required from you and your team to ensure success when it comes to working with your custom software consulting partner in the development of your software.