The differences between bespoke and off-the-shelf software are many. Off-the-shelf software is cheaper but has the disadvantage of being designed around a myriad of businesses, which makes it difficult to use. Many of the off-the-shelf software features are never used by companies and users often find other key requirements missing.
On the other hand, the advantage of bespoke software is its flexibility. Software solutions can be tailored to a business’s exact requirements. However, bespoke software has a reputation for being risky, expensive and taking much longer to complete than anticipated.
Shared component software is a compromise between the two; libraries of components are developed that can be shared across many different businesses. Most of the code is reused and only a small portion of the code is custom written for each business. This unique code is used to manage the components and create any new requirements that are too specific to be shared amongst other businesses. Software integration components are also developed to communicate between various common commercial software packages.
This type of software development can dramatically reduce the costs of bespoke software because many businesses can share the development and maintenance costs. Recently, new technologies in programming techniques such as object orientation and inheritance have made shared component software development easier to manage and maintain. The building blocks for shared component software don’t include any business data. Any text or headings are added when configuring the software, ensuring a unique software package for each business.
Sharing components between different businesses can dramatically reduce the development time. This leaves more time to focus on important business and change management issues, ensuring successful software development projects.
Article by Duncan Stainer