Nearly all information systems developments follow a structured approach. This is true of all projects. This chapter takes a critical look at both system development and project management. The development of computer systems is a complex process, one with many opportunities for things to go wrong. To try and control this complex process, a methodology was required that would bring more discipline to the computer system development process. There was a need to make more efficient use of the resources that were available. However, the use of accepted methodologies for system development has not guaranteed the successful implementation of information systems. There are still weaknesses in the traditional methodologies. This section examines some relevant current literature regarding the system development process and identifies areas of weakness that could be improved. In the UK the National Computing Centre in Manchester defined the system development process as a number of stages. Seven were identified: feasibility study; systems investigation; systems analysis; systems design; systems development; implementation; and review and maintenance. These stages were later revised but are still generally viewed as the key elements of the computer system development process. This defines the development process as a technical one. Many methodologies that have adopted this type of approach have become grouped under the heading of ‘hard systems methodologies’. This structured approach has proved popular with IS/IT professionals since it caters for their needs as technical staff who view information system development as systematic problem-solving. It is not surprising that some authors have a narrow view of what is entailed in the system development process. Some regard it as simply structuring hardware and software to achieve effective and efficient processing of the information system.
The majority of tools, techniques, and methodologies in the domain of IS and IT have been developed with large firms in mind. This is true of the support provided in the areas of project management, system development, risk management, benefits realisation, procurement, and the formulation of IS and IT strategies (Maguire, Koh, & Magrys 2007).Top
The System Development Life Cycle
Developing information systems has always been an expensive process. Even today in the United States it is estimated that fifty percent of all capital expenditure by organizations is spent on computers and telecommunications. As a number of computer projects failed dramatically increasing attention was given to controlling the development process. It was hoped that a structured approach to development, incorporating the ‘System Development Life Cycle’ (SDLC), would lead to a more efficient control of resources.
Even though the SDLC has become a traditional method it represents a significant improvement over a variety of undisciplined earlier approaches. The System Development Life Cycle is still viewed as being appropriate for medium-to-large computer projects (Hoffer et al. 2005). It is viewed as the traditional paradigm for managing the development of information systems. Even small-scale information system projects borrow techniques from the System Development Life Cycle.
The life cycle methodology is seen as being appropriate for computer development projects that are highly structured and well-defined. The system development life cycle is linear in nature. One stage finishes, is ‘signed off’ by users, and the project team move on to the next stage. It is generally accepted that once the system is under development no changes will be made until the system is finally implemented. The literature on information systems development focuses predominantly on technical issues. Even in the 21st Century when personal computers proliferate in most organizations, the technical aspects of systems development are still seen as being of paramount importance in the overall process.
During the 1960s and 1970s computerised information systems were developed using mainframe computers. Second and third generation programming languages were used for computerised systems. This meant that technical specialists were the main influences on system development. Senior management delegated the responsibility of developing information systems to a small team of technical experts within the organization, allowing them control over the process. This system development process was often resource-intensive.