5 Software development
For many years, buying a software application or system meant that almost all of the development was done from scratch. That is to say, each act of development was unique or bespoke, just like the engineering done in the early years of the industrial revolution. Nowadays, less and less software is being developed in this way. Instead, software applications are available in shrink-wrapped boxes containing a CD-ROM or are downloadable from the internet. These are known as commercial, off-the-shelf software or COTS for short. The term product line is used to denote a set of related products that are sold by the same company. Software has also become a major component of mass-produced items, such as motor vehicles, televisions and mobile phones.
At the end of Section 5, you should be able to:
- understand why projects with software content are problematic and suggest ways in which phased development, prototype approaches or agile methods can help
- suggest reasons why projects with a software content are problematic
- describe the elements of a basic software development process
- describe the phased development life cycle
- draw up a brief plan for a phased development project based on a simple scenario of the project requirements
- describe the prototyping life cycle
- explain why agile methods might be chosen over proprietary methods for the development of software
- suggest ways in which phased development, prototype approaches or agile methods can contribute to the development of software.