Do you have an idea for custom software? Does your company need a new business application software designed to solve critical business needs? If the answer is yes, what do you need to know to get a custom software solution working for you?
Of course, if you are a large business you have IT staff to help you with these questions, but if you are looking to take the next step into custom software, it’s important to know what questions to ask. The three general areas that need to be addressed are: what do I need to know before starting development, how do I select a software developer, and what happens after deployment.
Define the Problem
The first of these items can and probably should take place before you even start looking for software developers. You need to define as thoroughly as possible what you are looking to do with your custom software. If it is to speed up and clarify an existing process, you should be gathering all of the information about that process as it exists. Talk to those that are involved in the process. Gather all of the data that goes into the process, and what results are expected. Try to think of any exceptions or abnormalities that you occasionally have to compensate for. Even something as simple as defining what data types are expected can speed up development. For example, think of all the way phone numbers are written. How they are stored and how they are displayed can vary widely. How do YOU want them input and displayed? Little items like this matter, and can take valuable time and money to fix later.
If you are developing a new process or business idea, these items are still critical, but now you must define all of your parameters from your business needs. This gives you flexibility to determine exactly what it is that is important to you, but can also lead to what is sometimes called “analysis paralysis.” Often you can take your business needs and divide them into two groups, the “must-haves” that are mission critical, and the “nice-to-haves” that may save time, but aren’t as vital to the business needs. Then you can make a business case for the “nice-to-haves” on a case-by-case basis, and only include those that make the cut. Remember, it never hurts to ask how much extra effort something you’d like to implement may take!
Pick the Right Software Developer
Of course, there will always be changes in any custom software development process. That is part of the business and a fact of life for any software development project. This brings up the second part of the process, picking a software developer. There are a large number of software development companies out there, so how do you pick one? This question can’t be answered definitively as there a number of factors that play into the selection. You may have special requirements for security or working with legacy systems that some companies may not have experience working with. You may only want to work locally. The list is long and complicated, but the general qualities you should be looking for are relatively simple.
One of the first criteria should be longevity. If they have been in business for a decade or more, they must be doing something right, and chances are they will be around to service what they sell long after the start-up down the street has closed its doors. Next, are they up on the new technology and processes? This is a bit harder to pin down. Certifications can help, but that may also mean they may not be using the best tools for the job. If they are locked into one type of language for development, it may not be the best fit for your application. Look for breadth of experience to go along with their established staying power. Finally, how well do they communicate? Do they respond to questions and the inevitable changes that take place quickly? This is where you talk to references provided by the software developer. Ask the references how the software developer handled changes, upgrades, and support after the deployment.
Deployment and Beyond
What happens after deployment of your software? Who owns the code? Where are the backups, and who controls them? These are all critical issues that need to be addressed at the beginning of the project, but come into focus near the end. Unless the company is willing to provide a reduced rate so they can resell the software, it should be written in the contract that you own the code, and receive a copy of the final system and any changes that take place. This should be stored in a repository with backups. Also, any data that goes with the software should be backed up at least daily with an off-site storage. These are the absolute minimum requirements. A detailed recovery plan should be in place for any mission-critical software.
There are many more details to be examined when creating custom software. Each project is different and has unique challenges. But this should give you an idea of the complexity of the process leading from defining your own needs, selecting a software developer that fits those needs, and what you need to know after bringing the software application to fruition.
If you wish to discuss Custom Software Development or any other software needs, give Netkinetix a call for a free consultation. Our phone number is 608.796.0560.
Let's Get Started - Call us at: 608.796.0560