IT development methodologies(Relevant to Paper 2.1)
Professional Scheme
Relevant to Paper 2.1
A recipe for success
The use of information technology is now accepted as the norm - from the use of mobile phones to the acceptance of the Internet as a medium for communication and payment. Information technology now pervades schools, the workplace, transport, and retailing systems. We are now so used to IT integrating into our daily lives that few people even give a second thought as to how systems are designed, developed, and implemented into our environments.
We often read of unsuccessful or poor quality information systems. There are many high profile failures - from government-sponsored schemes such as new passport systems to those implemented by profit-making organisations. We hear less about successful information systems - perhaps because they are less newsworthy. But success stories do outweigh failures - they simply go unrecognised by the general user who takes the successful implementation for granted.
So why do some information systems succeed while others fail? The answer lies in the application of development methodologies which embody the tasks, skills, and procedures for the development of new information systems.
What is a development methodology?
A methodology is like a recipe for cooking. It identifies what will be required and how these ingredients will be combined together to produce the perfect meal. In short, a methodology has the following components:
- Documentation - this will be produced throughout the stages of the development, and includes the terms of reference, assessment of feasibility, detailed budgets, critical path analysis, and questionnaires. All of these will help to provide a body of evidence which will provide clarification and authorisation as the project progresses.
- Technique - this can be applied to improve the standardisation of modelling user requirements such as data flow diagrams, entity modelling, and entity life histories. All of these techniques enable a diagrammatic representation of the system to be created which can be verified by the user using simple notation and rule structures.
- Sequence - this allows the developer to identify the order in which the stages and activities are to be completed, enabling the breakdown and allocation of resources to related tasks. This will also improve the assessment of important timing and costing issues which make up the project as a whole.
- Overview - this enables the developer to identify how the documents and techniques fit into the stages. This is often achieved through the use of diagrams which represent each of the models and this gives a sense of direction and improves the planning, control, and integration of individual stages.
The application of a structured methodology during the development and implementation of a new information system helps to impose discipline on the process of the integration of stages and activities.
Examples of development methologies
Just as there are many recipes for the same dish, there are many ways an organisation can ensure successful IT development. The syllabus for Paper 2.1 has a requirement to understand the waterfall and spiral approaches, both of which gain their name from the way in which the stages are completed and are represented.
The waterfall approach is an iteration of the Systems Development Life Cycle (SDLC) introduced in the 1960s during the early years of systems implementation. The stages of the approach are shown in Figure 1.
Figure 1: The waterfall approach |
This overview enables the developer to get a picture of the way in which the stages are to be completed. The waterfall has a linear approach to development with each stage being completed in turn. There is also the opportunity at each stage to verify the outcomes of the previous stage. Documentation is produced during each stage, creating important reference criteria for evaluation later in the development. Each of these documents must be signed off to create a higher level of authorisation. The standard techniques (dataflow diagram etc) will be applied within the analysis and design stages, enabling the verification of the business and information technology views of the system. These diagrams show all the important quality assurance processes with the application of standard rules for construction, improving the ability to assess the accuracy of the outcome.
The benefits of the waterfall approach include:
- clear boundaries and sequence for each stage
- verification of outcome for previous stages
- improved planning and control activities as the development is broken into smaller stages.
However, there are a number of limitations in this approach. One in particular is that the review takes place after implementation which increases the likelihood of an installed system not meeting the requirements of the users for which it was developed. To address this problem, more recent development methodologies introduce a more evolutionary or iterative approach - one such methodology is known as the spiral approach, as shown in Figure 2.
Figure 2: The spiral approach |
At the beginning of the project when the requirements are first identified they may be poorly understood, but as the development goes through each of the four segments of the approach the needs of the development become clearer. Using an example of congestion charging, introduced by Transport for London two years ago, the spiral approach can be applied.
- Objectives of the new system are determined. These must closely match the business strategy. The system implemented by Transport for London had to record the number plates of the vehicles entering a specific zone and enable payment.
- Alternatives - a number of alternative solutions to meet the requirements are identified. In our example this included traffic wardens, a satellite global positioning system (GPS), and a camera recognition system.
- Modelling - a model of each proposed alternative is developed, often referred to as prototyping.
- Evaluation - results are recorded and compared to the initial objectives. For example, traffic wardens are found to be too labour and time-intensive, and GPS raises issues relating to Data Protection legislation. The final alternative, the camera recognition system, is identified as the most promising at the third rotation of the spiral.
The spiral approach enables the organisation to clearly determine what is needed and which solution best meets those needs. Once the final circle of the spiral is completed, the best alternative can be implemented by the organisation.
Hybrid approach
An alternative to the above two approaches is to combine both philosophies. This is known as the hybrid approach. An example of this methodology is known as the Structured Systems Analysis and Design Method (SSADM). This complex model enables the developer to evaluate the problem and analyse a number of solutions in the first stages (logical design) before considering the development and installation of the physical processes later in the development (physical design). The hybrid approach attempts to achieve the advantages of both the step-by-step approach of the waterfall and the iterative evaluation of the spiral, thereby providing a more accurate solution.
Conclusion
The use of a recipe, as any chef will tell you, does not always ensure success. Consider two chefs cooking from exactly the same recipe, using the same ingredients and equipment. Would you expect the outcome to be exactly the same? Almost certainly not, because of the human element in the process and the diversity of skills being employed. The answer, therefore, as to why the implementation of a new system is unsuccessful is largely due to human factors such as the experience and skills of the project manager. In short, the methodology itself can never guarantee success, but rather the way that it is applied and managed throughout all the stages of the development and implementation process.
Ruth Court is a subject specialist at FTC