09/13/2012
How to buy the correct software for your company: Out of the box versus special development versus in house: pros and cons
In general, the scope of the decision for a business software solution falls in 3 categories: either buy it from someone who has a product that fits your needs, get someone to develop a tailored application specific to the resolution of your needs or, use your internal IT department if they have the bandwidth to do development work.
When the requirements of a company are extremely unique, it may be necessary to get either an outsider or an insider to do the development work. If the staff is already on the payroll this may be the least costly way to accomplish a completely tailored solution. However, one important consideration is time: how long is the development work going to take? And if the developer is an external individual or firm, this can add to a healthy bill! However, the result can be the exact solution for the corporation's needs, completely suited to the procedures and workflows.
An important consideration when deciding for a tailored solution is the fast rate of growth in the technology world. Therefore it sometimes happens that the technology has changed by the time the solution is completed! And there may be better and faster ways to do different things, but the company cannot take advantage of them due to the fact that they are operating on old platforms. Many companies have not been able to move on upgrades of our solutions due to links to customized applications in Microsoft Access version 2, which has not been supported for a number of years!
The other part of this equation (which is quite important) is the human factor. There is always the risk, with both internal and external developers, of having the developer leave in the middle. Perhaps the developer may move to another industry, city or company. If the work was not completed thoroughly enough and the application development structure was not documented properly, it will take a large amount of effort for someone else to figure out how it works. This is an important piece of information while troubleshooting, modifying, improving or upgrading it. And then again, this process can be costly.
Many of the solutions that are currently in the market contain literally millions of lines of code. And even with the big names in the market, who have the capacity of having dedicated programmers and engineering departments to seek that all the details (such as documentation) are covered, when environment pieces change, such as the operating systems in computers, it takes them some time to get back up to speed. Many hours of research and testing need to be done before the release of a upgraded solution can be performed.
The other side of this coin is the applications developed by companies that are dedicated to this activity. The software industry offers a huge number of specialized solutions for all kinds of industries. However, as anything that is geared towards a good number of companies, these applications are often going to miss some of the requirements of a business.
The advantages of investing with a solution offered in the market by well known publishers are:
• Quality of the product: as mentioned previously, developing any application is a costly proposition. Companies who are dedicated to this activity usually rely on the best talent to drive their products to be competitive, appealing and to solve the issues at hand.
• Keeping up with the technological pace: as we all know, there are companies that have the lead on the direction of technology. And these changes sometimes happen faster than what anybody can predict! A strong publisher is always updated on the coming trends, and prepared to face them. This is probably the number 2 downfall with especially developed products: the developers take time to get acquainted with change and to implement it in the products.
• Competitiveness: a re-known publisher will always aim to providing quality products at reasonable prices in order to remain competitive in the marketplace. Owners of their solutions usually get a big benefit from this.
• Support: it is the norm for established publishers to house an internal customer support area, as well as in some cases maintaining a reputable network of resellers that are trained and geographically available to service end users. This eliminates the concern of losing the few people (or only person in many cases) that know how your software was built and operates.