There are a lot of businesses that could benefit from custom software. Unfortunately many small companies hire a firm to create software, have a horrendous experience and decide the custom software simply is to expensive to be cost effective. This is partially the fault of software developers that don’t know how to work with a client. However, many businesses looking for custom software, don’t really understand how software is made. They go into things expecting a magical process and do all kinds of things that make things that makes the process worse.
One of the biggest problems in creating custom software is knowing when to focus on look and feel and when to focus on functionality. A good software engineer is going to use a number of tools to automate things in the early stages of development. This means if you need a screen where you can fill out employee information, he will be able to get a functional form up and working without needing to write the code to display the words, “First Name”, the code to display the words “Last Name”, the boxes to type in the first and last name, etc. Instead he should be able to just program the screen to automatically create a form that lets you fill out the standard employee information.
This automatically generated form, may not be as pretty as what you’d like. It might have a blue background instead of the green you prefer and it might have some fields in a different order than what you want. However, it allows the developer to get something functional very quickly. This is vitally important because you may have a very different idea of how the application should work, once you are able to click through and actually do whatever that software does. Once the functionality is working and you know the software performs as expected, then it is time to go back through and make the software look the way you want.
The problem comes because many people are very visually oriented and will start asking the developer to change the way things look from the first meeting. You don’t want the developer spending 20 hours making a screen look pretty only to later discover that the screen isn’t needed after all. Lock in the functionality first and then come back through with a graphic designer and create the look and fine tuning to make it polished.