Approaches to software development
◄Previous: Agile development

# 2.3 Choosing an appropriate process

By definition, a good software system must be fit for its intended purpose. It should therefore be evident that because software is needed for such a variety of purposes; there is no single development process that will suit all purposes. Consider the following reasons for building systems:

- to control a series of gates at level crossings
- to control a manufacturing process for chemicals
- to manage an international stock market
- to manage a supermarket
- to manage a public lending library
- to administer the activities of a university
- to help you manage your personal finances
- to control your television and video recorder
- to play a game on a mobile phone
- to manage electronic funds stored on a smartcard.

The people who use these systems will have different views about what it means to have a software system that is useful, usable, reliable, flexible, available and affordable. So it should be no surprise that there are different development processes for different types of system. Indeed software companies often specialise in developing software for specific kinds of business, such as banking or manufacturing.

◄Contents►Next: Choosing the appropriate level of formality

OpenLearn - Approaches to software development
Except for third party materials and otherwise, this content is made available under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 Licence, full copyright detail can be found in the acknowledgements section. Please see full copyright statement for details.