HOME

TheInfoList



OR:

Customised software (also known as bespoke software or tailor-made software) is
software Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consist ...
that is specially developed for some specific organization or other user. As such, it can be contrasted with the use of software packages developed for the
mass market The term "mass market" refers to a market for goods produced on a large scale for a significant number of end consumers. The mass market differs from the niche market in that the former focuses on consumers with a wide variety of backgrounds wi ...
, such as
commercial off-the-shelf Commercial off-the-shelf or commercially available off-the-shelf (COTS) products are packaged or canned (ready-made) hardware or software, which are adapted aftermarket to the needs of the purchasing organization, rather than the commissioning of ...
software, or existing
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, n ...
.


Considerations

Since custom software is developed for a single customer it can accommodate that customer's particular preferences and expectations, which may not be the case for commercial off-the-shelf software. Custom software may be developed in an iterative processes, allowing all nuances and possible hidden risks to be taken into account, including issues which were not mentioned in the original requirement specifications (which are, as a rule, never perfect). In particular, the first phase in the
software development process In software engineering, a software development process is a process of dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design, product management. It is also known as a software deve ...
may involve many departments, including
marketing Marketing is the process of exploring, creating, and delivering value to meet the needs of a target market in terms of goods and services; potentially including selection of a target audience; selection of certain attributes or themes to emph ...
,
engineering Engineering is the use of scientific principles to design and build machines, structures, and other items, including bridges, tunnels, roads, vehicles, and buildings. The discipline of engineering encompasses a broad range of more speciali ...
,
research and development Research and development (R&D or R+D), known in Europe as research and technological development (RTD), is the set of innovative activities undertaken by corporations or governments in developing new services or products, and improving existi ...
and general
management Management (or managing) is the administration of an organization, whether it is a business, a nonprofit organization, or a government body. It is the art and science of managing resources of the business. Management includes the activitie ...
.Joseph M. Morris (2001). ''Software Industry Accounting Tanga''. p.1.10 Large companies commonly develop custom software for critical functions, including
content management Content management (CM) is a set of processes and technologies that supports the collection, managing, and publishing of information in any form or medium. When stored and accessed via computers, this information may be more specifically referre ...
, inventory management,
customer management Customer relationship management (CRM) is a process in which a business or other organization administers its interactions with customers, typically using data analysis to study large amounts of information. CRM systems compile data from a ra ...
,
human resource management Humans (''Homo sapiens'') are the most abundant and widespread species of primate, characterized by bipedalism and exceptional cognitive skills due to a large and complex brain. This has enabled the development of advanced tools, culture ...
, or otherwise to fill the gaps present in existing software packages. In many cases, such software is
legacy software In computing, a legacy system is an old method, technology, computer system, or application program, "of, relating to, or being a previous or outdated computer system", yet still in use. Often referencing a system as "legacy" means that it paved ...
, developed before commercial off the shelf software or free software packages offering the required functionality with an acceptable level of quality or functionality became available or widely known. For example, the BBC spent a great deal of money on a project to develop its own custom digital media production and management software, but the project experienced troubles, and after many years of development, was cancelled. A key stated reason for the project cancellation was that it had become clear that commercial off-the-shelf software existed that was, by that point, adequate to the BBC's needs and available for a small fraction of the price. Custom software development is often considered expensive compared to off-the-shelf solutions or products. This can be true if one is speaking of typical challenges and typical solutions. However, it is not always true. In many cases, commercial off the shelf software requires customization to correctly support the buyer's operations. The cost and delay of commercial off the shelf software customization can even add up to the expense of developing custom software. Cost is also not the only consideration in the decision to develop custom software, as the requirements for a custom software project often includes the purchaser owning the
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the ...
, to secure the possibility of future improvement or modifications to the installed system to handle changing requirements. However, modern commercial off the shelf software often has
application programming interface An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
s (APIs) for extensibility - or occasionally, as in the case of
Salesforce.com Salesforce, Inc. is an American cloud-based software company headquartered in San Francisco, California. It provides customer relationship management (CRM) software and applications focused on sales, customer service, marketing automation, a ...
, a
domain-specific language A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging ...
(DSL) - meaning that commercial off the shelf software packages can sometimes accommodate quite a wide variety of customisations without the need to access source code of the core commercial off the shelf software system.Christian von Hirschhausen et Jürgen Bitzer,''The Globalization of Industry and Innovation in Eastern Europe: From Post-socialist Restructuring to International Competitiveness'',Edward Elgar Publishing - 2000, Additionally, commercial off the shelf software comes with upfront license costs which vary enormously, but sometimes run into the millions of US dollars. Furthermore, the big software houses that release commercial off the shelf software products revamp their product very frequently. Thus a particular customization may need to be upgraded for compatibility every two to four years. Given the cost of customization, such upgrades can also turn out to be expensive, as a dedicated product release cycle may have to be earmarked for them. However, in theory, the use of documented APIs and/or DSLs, as opposed to direct access to internal database tables and code modules, for customization can minimize the cost of these upgrades. This is because commercial off the shelf software vendors can opt to use techniques such as: * making "under the hood" changes while retaining
backward compatibility Backward compatibility (sometimes known as backwards compatibility) is a property of an operating system, product, or technology that allows for interoperability with an older legacy system, or with input designed for such a system, especiall ...
with customizations written for older API or DSL version(s) * supporting old API version(s) and new API versions simultaneously in a new version of the software * publishing guidance warning that support for old API or DSL versions is to be removed from the product in a subsequent version, to give customers more time to adapt customizations. The decision to build a custom software or go for a commercial off the shelf software implementation would usually rest on one or more of the following factors: * Finances - both cost and benefit: The upfront license cost for commercial off the shelf software products mean that a thorough cost-benefit analysis of the business case needs to be done. However it is widely known that large custom software projects cannot fix all three of scope, time/cost and quality constant, so either the cost or the benefits of a custom software project will be subject to some degree of uncertainty - even disregarding the uncertainty around the business benefits of a feature that is successfully implemented. * Supplier - In the case of commercial off the shelf software, is the supplier likely to remain in business long, and will there be adequate support and customisation available? Alternatively, will there be a realistic possibility of getting support and customisation from third parties? In the case of custom software, the software development may be outsourced or done in-house. If it is outsourced, the question is: is the supplier reputable, and do they have a good track record? * Time to market: commercial off the shelf software products usually have a quicker time to market * Size of implementation: commercial off the shelf software comes with standardization of business processes and reporting. For a global or national organisation, these can bring in gains in cost savings, efficiency and productivity, if the branch offices are all willing and able to use the same commercial off the shelf software without heavy customisations (which is not always a given).


Major fields


Construction

The construction industry uses custom software to manage projects, track changes, and report progress. Depending on the project, the software is modified to suit the particular needs of a
project owner In project management, an executive or project executive is a person who has ultimate responsibility for a project, and is a role defined in the recognized project management framework PRINCE2. It is appointed by the customer during the start of ...
, the design team, and the general and trade contractors. Project-specific data is used in other ways to suit the unique requirements of each project. Custom software accommodates a project team's particular preferences and expectations, making it suitable for most construction processes and challenges: * design development * tender calls * document control * shop drawing approvals * changes management * inspections and commissioning * way-finding Custom software developers use various platforms, like FileMaker Pro, to design and develop custom software for the construction industry and for other industries.


Hospitals

Hospitals can keep
electronic health record An electronic health record (EHR) is the systematized collection of patient and population electronically stored health information in a digital format. These records can be shared across different health care settings. Records are shared throu ...
s and retrieve them any time. This enables a doctor and his or her assistants to transfer the details of a patient through a network. Keeping patients' blood groups in a hospital database makes the search for suitable blood quicker and easier. Hospitals also use billing software, especially in their
dispensaries A dispensary is an office in a school, hospital, industrial plant, or other organization that dispenses medications, medical supplies, and in some cases even medical and dental treatment. In a traditional dispensary set-up, a pharmacist dispense ...
.


Places of education

Schools use custom software to keep admission details of students. They produce Transfer Certificates also. Some governments develop special software for all of their schools.
Sampoorna Sampoorna is a school management system project implemented by the Education Department of Government of Kerala to automate the system and process of over 15,000 schools in the state. Sampoorna is implemented by KITE (previously IT@School Project) ...
is a school management system project implemented by the Education Department of Government of Kerala, India to automate the system and process of over 15,000 schools in the state. These projects brings a uniformity for the schools.


Retail

Billing is a common use of custom software. Custom software is often used by small shops,
supermarket A supermarket is a self-service shop offering a wide variety of food, beverages and household products, organized into sections. This kind of store is larger and has a wider selection than earlier grocery stores, but is smaller and more limit ...
s and
wholesale Wholesaling or distributing is the sale of goods or merchandise to retailers; to industrial, commercial, institutional or other professional business users; or to other wholesalers (wholesale businesses) and related subordinated services. I ...
sellers to handle
inventory Inventory (American English) or stock (British English) refers to the goods and materials that a business holds for the ultimate goal of resale, production or utilisation. Inventory management is a discipline primarily about specifying the sha ...
details and to generate bills.


Major project successes


Major project overruns and failures

Failures and cost overruns of government IT projects have been extensively investigated by UK Members of Parliament and officials; they have had a rich seam of failures to examine, including: * The NHS National Programme for IT *
Rural Payments Agency The Rural Payments Agency (RPA) is an executive agency of the UK Department for Environment, Food and Rural Affairs (Defra). Prior to Brexit, the RPA delivered the European Union (EU) Common Agricultural Policy (CAP) payments to farmers and trad ...
computer systems. On 15 March 2006 the Chief Executive Johnson McNeil was sacked when a deadline of 14 February for calculating Single Payment Scheme entitlements was missed. *
Universal Credit Universal Credit is a United Kingdom social security payment. It is means-tested and is replacing and combining six benefits for working-age households with a low income: income-related Employment and Support Allowance, income-based Jobseeker' ...
- the first trial could not even perform the most basic functions correctly; behind schedule and reportedly the project has been restarted. * 1992 - LASCAD - the London Ambulance Service's new computer-aided despatch system - temporary crashes causing delays in routing ambulances. A previous attempt to develop a custom despatch system for the London Ambulance Service had also been scrapped.


Advantages and disadvantages

When a business is considering a software solution the options are generally between creating a spreadsheet (which is often done in
Microsoft Excel Microsoft Excel is a spreadsheet developed by Microsoft for Microsoft Windows, Windows, macOS, Android (operating system), Android and iOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a macro (comp ...
), obtaining an off-the-shelf product, or having custom software created specifically to meet their needs. There are five main criteria involved in selecting the correct solution: Although initial assessments of the options according to these criteria may deviate sharply from the reality of the eventual solution when put into practice, due to factors such as cost overruns, insufficient training, poor product fit, reliability of the solution, etc. These factors need to take into account the running of the business, its industry, size and turnover. As such the decision can only be made on a business-by-business basis to determine if it warrants a custom development, as well as ownership of the software.


Advantages

Custom software will generally produce the most efficient system as it can provide support for the specific needs of the business, which might not be available in an off-the-shelf solution and will provide greater efficiency or better customer service. Given a suitable approach to development, such as DSDM, custom software will also produce the best or most well-targeted service improvement. Businesses can tailor the software to what their customers want instead of having to choose a package that caters for a generic market. For example, one printing business may want software that responds in the shortest time, whereas another printing company may focus on producing the best results; as these two objectives often conflict, an off-the-shelf package will normally sit somewhere in the middle whereas with custom software each business can focus on their target audience. Although not always the most suitable for larger or more complex projects, a spreadsheet allows less technical staff at a business to modify the software directly and get results faster. Custom software can be even more flexible than spreadsheets as it is constructed by software professionals that can implement functionality for a wide range of business needs.


Disadvantages

The main disadvantages of custom software are development time and cost. With a spreadsheet or an off-the-shelf software package, a user can get benefits quickly. With custom software, a business needs to go through a
Software development process In software engineering, a software development process is a process of dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design, product management. It is also known as a software deve ...
that may take weeks, months, or with bigger projects, years. Bugs accidentally introduced by software developers, and thorough testing to iron out bugs, may impede the process and cause it to take longer than expected. However, spreadsheets and off-the-shelf software packages may also contain bugs, and moreover because they may be deployed at a business without formal testing, these bugs may slip through and cause business-critical errors. Custom software is often several times the cost of the other two options, and will normally include an ongoing maintenance cost. This will often make custom software infeasible for smaller businesses. These higher costs can be insignificant in larger businesses where small efficiency increases can relate to large labour cost savings or where custom software offers a large efficiency boost.


Hybrid model

Particularly with modern cloud software, a hybrid model of custom software is possible in which the main focus is on the commercial off the shelf software - mainly the mismatch between its features, functions and the business requirements, preferences and expectations. The idea here is to buy a commercial off the shelf software which satisfies maximum number of requirement and develop custom software (extensions or add-ons) to fill the gaps left by it. This is the standard approach used when implementing
SAP ERP SAP ERP is an enterprise resource planning software developed by the German company SAP SE. SAP ERP incorporates the key business functions of an organization. The latest version of SAP ERP (V.6.0) was made available in 2006. The most recent SA ...
, for example.


See also

*
Bespoke The word ''bespoke'' () has evolved from a verb meaning 'to speak for something', to its contemporary usage as an adjective. Originally, the adjective ''bespoke'' described tailor-made suits and shoes. Later, it described anything commissioned t ...
*
Software development Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development invo ...


References

{{Authority control Computing terminology