Implementing new IT functionality can provide a windfall for a business. It can increase productivity and efficiency to unprecedented levels. It can also be an expensive failure. Implementing IT effectively requires a well-thought out and appropriate strategy. Fortunately, we have a number of templates to choose from. They vary in scope, but they all provide tools to help us analyze, design and implement IT while minimizing potential problems.
The Lifecycle, Analysis and Design
Systems development life cycle models arose in response to the sheer size and complexity of today’s systems. The Waterfall model is the most widely known life cycle model. It typically includes a planning and feasibility stage followed by an analysis stage in which overall goals are refined. The design and implementation stages then follow. After implementation, the system is tested, integrated and installed. From then on, the software is in the maintenance stage.
The Fountain model is similar in its elements. It takes into account, however, that there is a great deal of overlap between stages (Kay, 2002). The Spiral model emphasizes the need to continually go back and replicate each stage. It is a waterfall model, repeated many times.
The Build and Fix is the most simplistic of the models. It involves simply modifying the system until the end-user is satisfied. For large-scale IT implementation, this is a particularly risky and potentially costly method.
The Incremental method divides up and tests parts of the project separately. Feedback is gathered at each stage of the process. Feedback is also central to the Rapid Prototyping model. A prototype is created similar to the final product then tested for effectiveness. A number of hybrid models, such as the Synchronize and Stabilize method have emerged. This model uses the spiral approach, while also using development teams who work simultaneously (Kay, 2002).
The Structured Systems Analysis and Design model uses the waterfall framework. It relies on heavy documentation and contains several stages. First, the current system is analyzed. The current usage, data, functions and problems are evaluated. The ensuing Business Specification stage is designed to discover possible solutions, and then present them to the users for approval.
A Detailed Business Specification stage then follows. In this stage, management evaluates the benefits and potential risks of each option. Documentation may be obtained during this stage from the usage of various models. System functions are decided upon and prototypes developed.
The Logical Data Design and the Logical Process design stages assure the technical feasibility of the project. Update and enquiry processes are developed. The physical implementation needs of the user are also established. Finally, in the physical design stage the exact requirements, implementation limitations and specifications of the system are reviewed.
Many frameworks also exist for the programming phase of IT development. Object-oriented programming came in to being in the 1960’s for the purpose of maintaining software quality. Simply put, a computer program is a gathering of independent but interrelated objects (Shelley, 1995).
OOP does not focus on the organization of computation. Instead, it is concerned with how the text of the program is dissolved into modules. Viewing the process in these terms is the first step to developing more flexible and modular products. The method has shown its limitations in some situations, however. Other models, such as Aspect-oriented programming, attempt to resolve the cross-cutting issues not otherwise addressed.
The Unified Modeling Language (UML) is used to create an abstract model of the proposed system. It is a tool designed to be usable with most object-oriented programs. UML uses graphic notation and is easily expandable by the user.
Computer-aided Software Engineering (CASE) is a method of project organization that arose during the 1970’s. It was created with large, multifaceted projects in mind. CASE allows various participants to track the progress of the project. It also may contain a repository for specifications, code units, test results and business plans. The idea for CASE is borrowed from manufacturers of hardware and applied to software. CASE has been modified in recent years to be compatible with structured and object-oriented programming methods (Shelley, 1995).
Potential Problems and Conclusion
Many problems arise as the result of poor planning or usage of inappropriate models. For example, the Waterfall life cycle model has been found to be effective when the end user can specify his needs in advance. However, the model is much less effective in environments where the system must grow, adapt and change (Kay, 2002).
In some instances the complexity of the program may overwhelm programmers and produce a product prone to problems. The Object-Oriented Programming approach has been criticized in this regard. As with any method, it is not appropriate in all situations. Some models are also inappropriate for the end users of the technology. In some businesses the level of employee input is more important than in others. That is why a substantial amount of study must go into which model is appropriate for the users and for the technology proposed.
Models are a helpful tool for completing the increasingly complex task of IT implementation and maintenance. They are not necessarily solutions unto themselves, however. Plans should be adapted and philosophies changed as needs dictate. In the end success is not evidenced by how closely the model is followed. Success is the creation of a cost-effective system that meets the needs of the users and anticipates future needs.