Dragging Software Development into the 21st Century

Companies spend billions of dollars every year on developing their own software applications or purchasing complex enterprise software applications. This includes not only the cost of software, but the hardware infrastructure required to support the software as well. Rather than spending this money on software development, a company should put it to better use to improve the core business of the company. That is, the company should be focusing on what it is that they are really in business for rather then being distracted by software development.

Current software development practices for enterprise applications often result in products that are too expensive to develop, acquire, implement, integrate and then maintain. The typical software development cycle starts with a base product that is developed and subsequently sold, if external, or delivered, if internal, to a client. If the base product is lacking in functionality, then additional modifications must be made to the base product, adding to the cost of development. Once modifications have been completed, the implementation and integration phase starts. This phase has high costs associated with it; usually surrounding customization in order to get the software to interface with existing legacy systems. Finally, annual maintenance and service fess are charged, which usually do not include future upgrades. Clients are frequently less than happy with the results. The software development entity is often unaware that the client is not happy until the next development cycle is well under way, at which point it is too late and too expensive to address the problems. This results in an endless cycle where the software developed for a client continuously lags behind the client’s actual needs. Financial and human resources, which could be used too much greater effect elsewhere, are absorbed into a cycle that could be avoided altogether.

One of the highest costs involved in software development is the cost of developers. Over the past few decades computers have automated most industries. Ironically, the one industry that has not benefited from automation is the software development industry. Writing software is still a manual process involving monotonous and repetitive tasks. Techniques, such as code reuse and code generation have been developed over the years to reduce the workload. However, developers are inherently resistant to change and to anything they perceive as being able to “replace” them. Either they do not trust someone else’s code, or they think they could write better code themselves. For whatever reason, developers wind up reinventing the wheel project after project and billing for that work. Since developers are reluctant to utilize tools and techniques in their own development, they become their own worst enemy. The computer is the greatest tool ever invented and developers, the ones that make this great tool work, are reluctant to take maximum advantage of it.

If there is an industry that should be automated it is the software industry. All business applications perform the same basic functions and they interact with a database the same way, doing inserts, updates, queries, deletes, etc. They interact with the user through a user interface allowing the user to input and retrieve data. The internal plumbing that ties everything together is the same. What makes an application unique is the business rules, logic, and workflows (how the user moves through the application). Ideally there would be a tool that would “create” these common features and help “manage” the unique parts.

A tool is needed that would allow a developer to focus on the “what” or the rules and workflows instead of the “how” or the plumbing. A tool is needed that would take care of the monotonous and repetitive tasks. These laborious tasks are precisely where a computer excels. This tool has been created and it is ready for those who can accept giving up total development control and let the computer do what it was invented to do: expedite commerce. For more information on how your business can benefit from custom software development visit www.cerkitek.com.