# data[].attributes.body
The selection of either custom-written or off-the-shelf system solution will depend on many factors. What is important is that the appropriate system solution is selected to fully meet the needs of the client.

# data[].attributes.body
Off-the-shelf is a term used to define any software that can be purchased, installed and used immediately. because off-the-shelf software has a large number of users, it is likely to have been tested by many people and a lot of the bugs will have been removed. It must be remembered that a piece of software can never be fully tested but the more testing that is done the more likely it is that it will work.

# data[].attributes.body
A custom-written solution is when the software has been written to meet the specified needs of the end user - usually an organisation. It is developed by a software provider who works with the user to determine the requirements of the system design. The software provider builds the system to meet these requirements, and then implements and tests it.

# data[].attributes.body
Off-the-shelf: either a on-off cost or a yearly rental cost, possibly thousands of pounds plus additional costs for each station it is used on.

Custom-written: need to hire the company/person to write the software which could cost many thousands of pounds; the end-user owns the system and can sell it to recoup some of the development cost.

# data[].attributes.body
Off-the-shelf: discussion groups, online help, books and training courses are readily available.

Custom-written: only likely to get support from the people who write the software - problems may arise if they choose not to support it or go out of business.

# data[].attributes.body
Off-the-shelf: may have to be altered and edited to fit the purpose, may never meet the purpose precisely; will have many additional features that may or may not be used , better to have them there and never use them rather than to want them and not to have them?

Custom-written: will fit the purpose precisely and do exactly what was asked, possible problems might arise if the analysis was wrong; if something is not specified then it will not be there in the final product.

# data[].attributes.body
Off-the-shelf: will have been tested by many individuals, bug fixes will be released regularly by the company.

Custom-written: will only have been tested by a few people and there may be many bugs, correcting them will take time.

# data[].attributes.body
Off-the-shelf: immediately available.

Custom-written: will take time to complete the analysis etc.

# data[].attributes.body
Off-the-shelf: choice between packages available but none may be an exact fit.

Custom-written: there is choice of who to get to write the software and the end user will have a lot of influence over the end product.

# data[].attributes.body
Off-the-shelf: likely to use a standard file format and the company is likely to release upgraded products; support for new peripherals and operating systems as standard.

Custom-written: new printers and drivers for peripherals may not be supported and major upgrades might not happen, if the software does not use a recognised file format it may not be possible to upgrade.

# data[].attributes.body
Off-the-shelf: may be already familiar with the new software.

Custom-written: unlikely to be familiar with the new software.

# data[].attributes.body
Off-the-shelf: likely to be larger than bespoke solution.

Custom-written: likely to be smaller than off-the-shelf solution.