See Appendixes C and D for overviews of Euromethod and ISO 12207, both of which offer advice on process model selection.
Both Euromethod and ISO 12207 provide advice on this.
Euromethod distinguishes between the construction of an application and its installation. It is possible to use different approaches for these two stages. For example, an application could be constructed using a one-shot strategy but then be released to its users in increments. The only combinations of construction and installation strategies that are not feasible are evolutionary installation with any other construction approach than evolutionary.
In general, Euromethod suggests that where uncertainty is high then an evolutionary approach is to be favoured. An example of uncertainty would be where the users' requirements are not clearly defined. Where the requirements are relatively certain but there are many complexities, for example, where there is a large embedded system that is going to need a large amount of code, then an incremental approach might be favoured. Where deadlines are tight, then either an evolutionary or an incremental approach is favoured over a one-shot strategy, as both tactics should allow at least something to be delivered at the deadline, even if it is not all that was originally promised. Students about to plan final year projects would do well to note this.
This chapter has stressed the need to examine each project carefully to see if it has characteristics that suggest a particular approach or process model. These characteristics will also suggest the addition of specific activities to the project plan.
The classic waterfall process model, which attempts to minimize iteration, should lead to projects that are easy to control. Unfortunately many projects do not lend themselves to this structure. Prototyping often reduces project uncertainties by allowing knowledge to be bought through experimentation. The incremental approach encourages the execution of a series of small, manageable, 'mini-projects' but does have some costs.
1. A bank which provides loans to home buyers has a long history of implementing computer-based information systems to support the work of its branches. It uses a proprietary structured systems analysis and design method. It has been decided to create a computer model of the property market. This would attempt for example to calculate the effect of changes of interest rates on house values. There is some concern that the usual methodology used for IS development would not be appropriate for the new project.
(a) Why might there be this concern and what other approaches should be considered?
(b) Outline a plan for the development of the system that illustrates the application of your preferred methodology for this project.
2. A software application is to be designed and built to assist in software cost estimation. It responds to certain input parameters and produces initial cost estimates to be used at bidding time.
(a) It has been suggested that a software prototype would be of value in these circumstances. Explain why this might be.
(b) Discuss how such prototyping could be controlled to ensure that it is conducted in an orderly and effective way and within a specified time span.
3. An invoicing system is to have the following components: amend invoice, produce invoice, produce monthly statements, record cash payment, clear paid invoices from database, create customer records, delete customer.
(a) What physical dependencies govern the order in which these transactions are implemented?
(b) How could the system be broken down into increments which would be of some value to the users. Hint - think about the problems of taking existing details onto a database when a system is first implemented.
4. What are the features of the following that contribute to an open systems architecture as recommended by Tom Gilb:
(d) Jackson Structured Programming.
Was this article helpful?