- formation Technology
So far, we have talked about systems, information systems, and organizations (viewed as systems). This module is largely concerned with how we go about creating (or developing) information systems, in particular large and complex information systems. One approach to developing information systems is the Structured Systems Development approach. There are many other approaches, but the structured approach is very common, and although not ideal, many of the others are variations of it.
- The Software Crisis
Early computer systems’ development was fraught with problems. The term, ‘software crisis’, was coined as far back as the 1960s to describe the state that the software industry found itself in. It was characterized by systems which:
- were delivered much later than scheduled.
- cost more than the budget allowed.
Mor0e seriously however, was that the delivered systems:
- rarely met user requirements.
- remained unused.
- were discarded at considerable cost to the organization.
Many of the problems came as a result of the decrease in hardware costs, which has occurred over the years. With hardware, which had previously been the more expensive component of an information system, now at such a low cost, information systems, which before had been too expensive to implement, became feasible. This also meant that it was feasible to introduce computers to all areas of an organization. The result of these changes led to major software problems. Because the hardware in use was more powerful and more complex than before, bigger and more complicated software systems were needed to drive it. And, because hardware was less expensive, it became economically possible to apply software solutions to more and more widespread problems. Computerized IS began to be applied to new areas for many different kinds of reasons, for example:
- The current system might be unable to cope.
- They could help save money.
- They could provide better information for decision-making.
- They could provide better customer service.
- New technology could provide greater opportunities for organizations.
At that stage, the process for developing IS was, in effect, simple programming and most development work was done by programmers, who, although skilled in technical matters, were far from successful in social and communication skills; skills which are essential in finding out what the potential user wants from the new system. New systems were being developed in an ad hoc manner, whenever an organization saw the need for one. The programmer came up with a solution him or herself and started programming the new system. The user was generally not involved, which meant that systems were often inadequate or inappropriate for the users’ needs.
At that stage also, there were no recognized, formalized methods by which systems could and should be developed. Each programmer had his own informal, unique and rarely documented methods by which his software was developed. This diversity of methods made maintenance difficult, if not impossible, especially in those instances where the original programmer had left the organization.
As time went on, systems grew in size and complexity, making them more difficult to be developed by a single individual programmer. In addition, ad hoc, one-off solutions to problems were becoming less attractive and managers wanted more integrated systems.
As this situation got steadily worse, with programmers overworked and spending much of their time on maintenance and enhancements instead of on the more profitable development, the realization dawned that things
would have to change. It was recognized that errors discovered early in the development life cycle were much less expensive to fix than those which came to light in testing or implementation. It was becoming apparent that there was more to development than just programming. Development had to concern some analysis of the problem and design. More importance, therefore, was attached to the analysis and design stages of the development process and the idea of approaching development, using some structured, formal technique was established.
- Why Use Structured Techniques?
Structured techniques were introduced in an effort to overcome, minimize or avoid the types of problem mentioned previously. The primary objectives (there are others) of structured techniques are:
- achieve high-quality programs of predictable behavior.
- build easily maintainable programs.
- speed up system development.
- lower the cost of system development.
How do we achieve these Objectives?
To combat the problems inherent in the software crisis, a structured approach to development was felt to be the solution. Most large computer-based information systems are now developed in a sequence of steps called the Systems Development Life Cycle (or simply the systems life cycle). The key point is that it provides system builders with a structured approach to follow. It is used to:
- organize the large number of activities which are necessary in building a system.
- specify an orderly way to proceed through these activities.
- make it easier to solve problems as they occur in the development process.
- produce reports on project status, resource usage etc. as development progresses.
A number of different kinds of life cycle are used in practice, the most common systems development process takes an essentially linear approach, dividing the necessary tasks into a number of stages. No stage in the sequence can commence before the previous stage has been completed.
There is little consensus on the terminology, the subdivision or the exact content of each stage of the life cycle. In the next unit we will look at what systems analysts and designers do, before going into their methodologies.
Structured techniques of information systems development bring an integrated order into the providing of information services through the application of many facets of systems development. It is no longer enough that programmers can come up with a programmed solution to information problems in organizations; they must do it in a way that is effective, logical and functional, in other words, structured.