Use of a system development life cycle (SDLC) is regarded as a proper, disciplined approach to the analysis and design of traditional computer applications. The number of SDLCs is almost as numerous as the companies that use them.
- Goal of SDLCs
However, all SDLCs have the same goal and are fairly similar in the general way they achieve that goal. An eight -phase process explains how SDLC work. These eight steps are summarized below:
- Survey the situation.
- Study the current system.
- Define user requirements.
- Evaluate alternative solutions.
- Design the new system.
- Select new computer equipment and software.
- Construct the new system.
- Deliver the new system.
This whole process is started when a project request is submitted by someone within the firm because of a problem he/she has encountered that would appear to be able to be solved by a computer application. Once this has been done, the first step, survey of the situation is begun.
The purpose of this phase is to decide if resources of the firm should be committed to this project. A preliminary cost/benefit analysis is done to determine if the project is feasible and can therefore be approved for further development.
If the system is feasible and is important enough for the firm to commit its resources, then the current system is evaluated. This phase will help determine where problems in the current system exist and where opportunities for improvement can be found. A data flow diagram (see Unit 21 for more on flow diagrams) is constructed that traces the flow of documents and reports in the current system. Depending upon the size and complexity of the project, phases
Next, user requirements are determined. Users of the current system are questioned to give the analyst (the person developing the system) an idea of what users will expect the new system to do. During this phase, inputs, files, processing, and outputs for the new system are defined along with policies and procedures that will need to be implemented. The requirements, which are written down in a formal document are then used to continue the SDLC. Alternative solutions to the problem must be evaluated to help specify how much of the new system will be computerized, how data will be accessed (online or batch), whether the system will be centralized or distributed, etc. Alternatives will also be evaluated for technical, operational, and economic feasibility. Once this general evaluation is under way, then the detailed design of the new system can begin along with the search for new computer equipment and software.
In the design phase, the specific inputs, outputs, files, methods, and procedures (i.e. backup of files, security) are determined. These components are all gathered in a form which will be understandable to the computer programmer when he begins to construct the new system
During the construction phase, any software packages that have been purchased will be installed and modified along with programming any custom applications. As the programmers construct the system it is continually being tested to assure it is operating properly.
Finally the new system can be delivered to the user. However, before the new system is ready for use, files must be converted and the users must be trained.
Because this type of SDLC has been in existence for several years, many tools have been developed that can be employed to help make the development process proceed smoothly and to make sure that the new system is well documented. The use of an SDLC such as this has helped to make sure that the development of traditional systems are not plagued with the problems that exist in the current end-user environment.
- Will the SDLC Work in the End-User Environment?
What is immediately apparent from the preceding discussion is that a complete development of an SDLC is a very involved and time consuming process. In many instances, the use of structured tools have had a lack of support even by data processing workers who feel they take too much time to develop. The problem with a lengthy SDLC is that the user has a full-time job that he must be concerned with and does not have time to devote to such a major endeavor. However, several aspects of the end-user environment that are different from the data processing approach may permit streamlining the traditional SDLC.
First of all, steps one through four of the SDLC presented here would appear to be already accomplished, because the user is the person that is developing the application. The user knows he has a problem and has a fairly good idea that a computer solution would work. The need to survey the situation or study the current system is not as great because the user, more than anyone else, is most familiar with the system. He also has a fairly good idea what his requirements are for the new system and has probably evaluated some alternatives to his problem.
A second major distinction is that the user is less interested in developing a solution that will work perfectly the first time. His approach is most likely to develop a solution quickly (a prototype) that approximates what he envisions the ultimate capabilities will be. As he continues to use the application, it will be updated to account for any deficiencies. Therefore, a very structured design phase is also undesirable.
Third, after the user has decided on his first application and bought the hardware to meet his needs, he will probably have no need for additional equipment. Most subsequent applications will be developed on the same hardware. This should also hold true for the software that he will use for his application. The typical user will learn one or more sophisticated software packages have been purchased, there should be very little need for further software expenditures.
Although most companies have realized that this environment calls for a unique approach to an SDLC, there has been great difficulty in attempting to implement a plan that addresses these issues. The major problem in this endeavor is trying to decide who will make the decisions concerning the development and control of end-user computing. Usually both the MIS department and end users each feel they are most qualified to make these decisions. The MIS department argues that they are the ones qualified for the job. After all, they are the most knowledgeable about computer applications and how to solve the concerns involving end -user computing. The end users, on the other hand, struck out on their own in the first place because they were extremely dissatisfied with the solutions the MIS department had to offer. They now want control of their own environment. To resolve this conflict most firms have implemented one of three managerial approaches: the Monopolist, Laissez-Faire, and Information Center Approach.
The Monopolist Approach
The monopolist approach is used by firms who wish to keep a tight control over end-user computing. The Information System (IS) organization is given complete control of all computing resources, including both mainframe and micro computers. End-user computing is only allowed to grow at a very slow, controlled rate that is regulated by policies of the IS organization. For example, the acquisition of each personal computer is thoroughly researched to determine if it is really necessary and all applications must be approved and developed by the IS department. Firms that believe that the IS organization should have control of all information processing systems will adopt this approach.
This “go slow” arrangement solves many of the problem of end-user computing such as security, inadequate documentation, and incompatibility, but fails to satisfy the needs of the user. The huge backlog of applications that still persists and the inability of the user to get the exact system that he wants are problems that cannot be solved by using this approach.
In the past, this approach has failed or discontinued for several reasons. As was just mentioned, users are still faced with an enormous backlog of applications which causes some of them to circumvent the system and buy their own computers rather than go through the formidable IS department.
Another reason is that due to the constantly declining cost of microcomputers, any intensive research to justify their acquisition may cost more than the hardware itself. A third reason is that users are becoming more knowledgeable and capable of developing their own systems. They see no reason to wait months or years for an application they know they can develop themselves in only a few days. Finally, tight controls and extensive documentation are unnecessary for some applications the user could build quickly and use only one time.
This approach is basically trying to impose a traditional SDLC approach on the end-user environment. This assures that concerns about end- user computing will be dealt with. However, little has changed from the traditional approach and the user is probably no better off than when the IS was developing all applications.
The Laissez-Faire Approach
The laissez-faire approach is almost the exact opposite of the monopolist approach. In this system, departments within the organization are each given their own budgets for end-user computing needs. It is felt that each department will make better use of this money in acquiring systems tailored to their needs than by letting a central organization do it for them. IS managers have no say in the growth of end-user computing. While this approach allows for extreme creativity and perhaps greater short term user satisfaction it also has some major drawbacks.
The greatest problem with this approach is that there are many benefits that will be missed because no central organization is established. For example, the firm may miss out on quantity discounts offered by hardware and software vendors. Also, there may be extensive duplication of effort by many users developing the same systems because they are unaware of other similar applications. Not only might duplication exist, but an application that could be of major benefit to the whole firm may go unnoticed. Compatibility could also become a major concern if computer links between departments are to be established in the future. In the end the laissez-faire approach may fail because it proves too costly.
What happens in this environment is that an SDLC ceases to exist in any form. Users with very little training have not been taught and do not see a need for any type of an SDLC. There is usually insufficient/little backing up of files to protect information, no security measures for data, as well as other problems that have been outlined earlier. Although initial satisfaction of end users will probably be very high, it will likely diminish over time as
they become frustrated because applications that need to be changed have not been well documented or because they are continually losing important information.
The Information Center Approach
The Information Center (1C), which has been implemented by many firms and is known by many names in different organizations, is in the best position to deal with the problems concerning end-user computing. Those firms who have used the 1C to its potential have achieved good results. The main duty for information centers has been to purchase hardware and software that meets the needs of the end user while maintaining standards that ensure compatibility and a good use of resources. They determine what products will be used, where they will be bought, and how they will be maintained.
Many 1C managers in large corporations are also initiating policies and procedures to guide user development. For instance, companies are establishing guidelines to assure that systems are compatible which will help to guarantee that microcomputers and main-frame-based data resources and network facilities can be linked (e.g. such as the banks in Nigeria are currently doing).
The 1C has also been a catalyst in ensuring that data which is accessed by users from corporate databases is secure. This has been accomplished through policies that limit the types of applications that users are allowed to develop and what data they are allowed to have access to.
While it is true that ICs have shown much promise in dealing with problems concerning end-user computing, many corporations are seeing the demise of the Information Center. One reason is that in these organizations, strong initial support has begun to wane over time. The level of support is withdrawn by various means such as smaller budgets, less adequate facilities (or being forced to share facilities with others), and smaller staffing. Usually support is diminished when the belt must be tightened throughout the corporation. Since the 1C is one of the newest departments in most organizations, it is also one of the first to be cut.
Another reason for the decay of the 1C is their status as a support function. In many cases they are able to establish policies, but are unable to enforce them. Many times users are unaware that these policies even exist. This support role also makes it difficult for them to cost-justify their resources to corporate management. Because the 1C is usually created out of the MIS department, it is often unsure of exactly what its role should be. This is a difficult time for MIS people who must switch from the role of owner and operator of all corporate computers to the role of facilitator of the use of computers by users. This link with the MIS department has created other problems as well because of negative attitudes that persist toward users.
The information center has been the most recent structure set up by firms to address the end-user dilemma in an attempt to exploit its benefits. Of the three major management approaches, it has met with the most success. In this environment there is a realization that the uniqueness of end-user computing calls for a different approach than the traditional SDLC. Users are trained on the importance of backing up files, security of information, and documenting their programs. Once they have realized this importance, both the 1C and the users can work together on developing an SDLC that meets the unique needs of the end user environment. Thus SDLC is very different from a traditional approach. It is much less structured and consists of policies that must be followed by users who develop applications. What should make this system work where others have failed is that users will be involved in these decisions and have a voice in the development of the policies that govern them.
The various managerial approaches serve to highlight the involvement of users in the development of software to solve information system problems. While there is no emphasis in this unit on the superiority of any particular type of approach over others, nevertheless the mere concept of SDLC means evaluating an approach and weighing its effectiveness a s a problem-solving strategy.