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.