The overall quality of the training provided was not of a consistent level and was made very difficult, due to the fact that the system itself was constantly changing as modifications were being made. The staff was given minimal input into how the system would run so they felt left out and not valued. The overall training was delayed due to the implementation stage not being complete hence at the end of the day not enough training was given to make the staff fell confident with the system.
Ariane 5 Airline Report
The Ariane 5 system was practically the same as the existing system, which had been abolished. It mainly had all the same features, but it technically didn’t match the specification and requirements of the new system. Due to this the system ceased to function and major losses of data were due to the specification and design errors in the software. The code for the system was adapted from the previous system and didn’t comply with the requirements. The result of this was that the software design failed due to large errors of code and large amounts of important data about the flight control system was corrupted.
There was no evidence that the flight control system was adequately analysed and tested by the IRS. The testing stage had no injection of realistic data input and there was no attempt to perform a closed loop system test. Due to insufficient testing the back up server didn’t respond to the system failing and ceased to function. These errors would have been detected if a full testing regime had taken place to ensure that the system performed as expected.
The system developers assumed that because the systems were similar no training would be necessary. Basically the users were put in the deep end with no knowledge of what the system actually did and with no support facilities. This contributed to the failure of the system because users didn’t know what the system was doing and at the same time wouldn't have the knowledge to fix the problems.
(Question 2) Provide a comparative discussion in the context of software failures by comparing and contrasting the software development process, software quality issues and software project management of both systems.
Looking at the two systems there are different development processes, such as the London Ambulance service was a new designed system where as the Ariane 5 system was just an existing system being updated. They are distinctly different from each other, as we will see:
Development Process
The software development process is used to help the software developers gain knowledge into the proposed system and also the actual development of software. The LAS used some of the stages of the development process but didn’t meet all the criteria of the development process hence they didn’t investigate the proposed system correctly. They chose to miss stages and not to complete them so this led to the implementation of incomplete software that had involved a small amount of testing and training for the system as a whole. Both systems were tested individually but they were not tested with realistic data, this is one of the main factors, which led to both of their failures.
The Ariane 5 development process in comparison to the LAS was different. In order for this project to work correctly every piece of equipment had to be controlled exactly in order for the launcher to function. This meant that the attention was paid in the development and more importantly the testing to ensure full functionality. The Ariane 5 was developed differently as this system was an existing system, which just needed to be updated with the right information.
Software Quality
Both systems are similar in the sense that the failure of the software has lead to disastrous consequences.
The LAS system could not function properly with the increase in call levels and that the functionality was unreliable. As a whole the quality of the system generally lacked experience. Both systems had large amounts of code errors in their code. This identifies that general testing was not conducted and that the software houses were not experienced enough. They also declined to use the development process breakdowns, which would have ensured them a correct development process.
In contrast the LAS were given basic training on how to use the system, but they were not given enough to the extent that would be required. The Ariane 5 project on the other hand didn’t produce training as they presumed that the system was similar and no need for training.
Project Management
The Project Management Team of LAS based themselves on the Prince Project Management Methodology. They didn’t have any experience applying this methodology and it was not applied in a structured way through most of the project. One example of this would be that they didn’t ask the potential users they opinions or there views.
The Ariane 5 management was centred on the review process and the validation of the software design decisions from Ariane 4. This process, which included software modifications and testing decisions, was not conducted in the right sense and manor. It seemed to be done just for the sake of it instead of being used to achieve correct software.
(Question 3) Using your arguments in (1) and (2), provide concluding remarks as to how a large software system should be developed in general to minimise software failures.
There are many ways in which you may minimise software failures and from the knowledge of how these systems failed these are the key areas of fault and my recommendations.
The London Ambulance Service case study illustrated how a key group of individuals were marginalised throughout the analysis and design phase with the effect that they made little contribution to the shape of the final system. It would be advisable to include the users for them to make suggestions and contributions and also allow them to understand what kind of changes will be imposed with a new computerised system. The organisation would feel they would be part of the process if they too conducted a feasibility study, which would give them a basic knowledge of what the system would provide.
Once a project begins to miss milestones or deadlines repeatedly, alarm bells should start to ring in the heads of those responsible for the development. To allow completion of deadlines you must keep to a tight schedule and have weekly briefings on the work done so far.
A well designed and correctly implemented testing regime is perhaps the best ally management can have in ensuring that a system performs as expected. Testing of hardware is also very important as you must test it as a whole to see if it has the right specifications and if it can handle the extend of the information. A good training program must be provided to all staff using the system and the designers must realise that their users are not as technically minded as they are. The project managers must ensure that once project deadlines begin to slip, pre-implementation activities, such as training need to move to accommodate the changes.
One of the main factors that runs in common is that management are not aware of what is going on in the IS developments. To avoid this management need to keep in touch with the problems and issues concerning those working on the front line of the development.
Addition Sources Used
Software Failure, Software Management – Stephen Flowers
Software Engineering Theory & Practice – Shari Lawrence Pfleeger