2.5 Summary of Section 2
This section considered how you might approach the development of a good software system as follows.
- Large software projects are prone to problems because of their size and complexity.
- Software is inherently easy to change, and this makes it easy to introduce new errors (‘break’ it).
- Software development is similar to engineering when it involves a defined process with clear activities, each of which has one or more products that can be tested against the users’ requirements.
- A basic process for the development of software is a set of rules that define how a software development project should be carried out. It incorporates a number of activities, and a life cycle (or process model) that indicates how these activities are ordered. It helps to coordinate and control the use of those methods and any tools that support them.
- Process models can be sequential, iterative, incremental or some combination of these.
- A disciplined approach to software development implies that you must make some effort to record your activities from both a personal view and a project view. It means that documentation is an important task for all those who work on a project. In particular, it must be sufficient for the level of traceability required.
- An agile approach to software development puts an emphasis on people rather than on process or documentation, on short iterations and quickly working software, and on the acceptance that systems change. It also encourages practices that promote cooperative work in software development.