Is custom software an art, science, or some mixture of the two? As if there weren’t enough gray areas already, the answer is: both.
There is a science to software development. Your software provider should follow the systems development life cycle (see Software Development Process). They should have a standard system to determine your business needs, and translate those needs into a solution.
The art is in the translation, and falls mainly into two areas. The first area is documenting the business processes. Every business is different, and it is fascinating to learn their nuances. New ideas can streamline your processes, create new service offerings, and cut costs. The second area is in the design phase, also known as the “coffee and whiteboard” stage. Putting your business into software components definitely has an artistic flair. The components must be robust, extensible, and fast.
It truly is a fun process, and can be extremely exciting as both you and your provider work together to create a solution.
Stephen