Systems development can be a difficult task. Many projects have failed because they cost
much more than anticipated or they did not produce useful systems. Large projects are especially
difficult to control because: there can be conflicting goals; it is hard to ensure that subsystems
work together; business needs change during the development process; and there is
turnover among the MIS employees. The systems development life cycle evolved as a
means to deal with the complexity of large systems and provide the necessary controls to
keep projects on track. Systems analysis techniques are used to break projects into manageable pieces. Various
graphing tools, such as data flow diagrams, are used to display the relationships between the
components. Systems design techniques use the results of the analysis to create the new system.
The new system consists of interconnected modules. Each module has inputs, outputs,
processing steps, database requirements, manual procedures, and controls. At various stages
in the design process, managers and users are asked to sign off on the proposed system, indicating
that they will accept it with no further changes. In contrast to the rigid control embodied in the SDLC method, the prototyping approach
is iterative and creates an early working model of the system. Users and managers can see
the proposed input screens and reports and make changes to them. As the project develops,
the prototype goes from a simple mockup to a working system. Prototyping is sometimes
used in conjunction with SDLC during the design phase to lay out input screens and reports. A third way to build systems is for end users to develop their own projects using fourthgeneration
tools such as database management systems, spreadsheets, and other commercial
software. As the capabilities of commercial software tools increase, users can develop
more complex systems. The backlog facing MIS also encourages users to develop their
own systems. The potential dangers of user development, such as lack of testing, incompatibilities,
and unnecessary duplication, can be controlled by having MIS teams available to
assist end users. All three methods of developing systems involve five basic steps: feasibility and planning,
systems analysis, design, implementation, and maintenance. Prototyping and end-user
development typically focus on the design stage. However, managers need to remember that
implementation problems can arise with any new system, regardless of how it was created.
Similarly, there will always be a need to maintain and modify existing applications. It is
easy to forget these steps when users develop their own software. |