System Development Life Cycle (SDLC)



The System Development Life Cycle (SDLC) model or Systems Life Cycle (SLC) in the United Kingdoms, is a conceptual model used in project management as a guideline for developing systems or softwares. It is one of the most popular methodology to be use in many organizations today. It is known to have several alternative names - such as Classical Life Cycle Model, Linear Sequential Model, and Waterfall Model.

The SDLC is composed of process that starts from the beginning of a system to its end. There are different versions on the amount of steps it contains (with anywhere from 3 to almost 20 phases), but commonly accepted it falls under seven phases: Planning, Analysis, Design, Development, Testing, Implementation, and Maintenance. (In our textbook it is named differently - Concept, Inception, Elaboration, Construction, Transition, Production, and Retirement - both categories are identical)

external image software_lifecycle.jpg

Planning

This is the phase where the organization would have to identify whether there is a need for a new system to be develop for replacement of an old existing system. If yes, they would have to establish a plan for the project. It would have to list out the problems with the current system. Important parts of this phase is to define the system, set the project scope, and develop a project plan.

Things need to be planned:
  • Defining work position - who is doing what, when, and how?
  • What resources are needed
  • What are the options and alternatives?

Since every organizations uses a slightly different SDLC model, they might have project managers to compile a Concept Proposal for the upper management to approve the system until it can move onto the next phase. The Concept Proposal documents the problems with the current system and what would the new proposed system could do.

From eSSORTMENT
Different reports that could be submit to upper management:
  1. Feasible Study - Whether it will work or not?
  2. Cost/Benefit Analysis - Does the benefit that would be receive worth the cost?
  3. System Boundary - How far should the project go?
  4. Risk Management - What is the risk involved with it? What would happen if we do the project or don't do the project?

Analysis

The second phase of the SDLC is where the "analysts perform a throughly study of the organization's current procedures and the information systems used to perform tasks". (Fuller, Valacich, George, 2006) They would have to address the problem, then understand the problem, and lastly document the business requirements for the proposed system.

The Business requirements are detailed set of goals that has to be meet by the system in order to be successful. For example, a company might request its CRM system to be able to track all customer sales by product or geographical location. This states what the system would have to do from the business perspective. When gathering business requirements in this phase, many organizations uses the Joint Application Design (JAD) to aid them in their investigation.

Once all the business requirements are gathered up, the last step in the phase would be prioritizing them. Placing them in order, identifying which one is important and placing it one top.

Design

The main goal of this phase is to build a blueprint of how the system is going to work. Unlike the analysis phase, where people design a business requirement document, people in this phase would most likely to be focus on the technical aspect of the system. People in this phase would:
  • Design the technical architecture of the system. Where it would define the hardware, software, and telecommunications equipment that are required to run the system.
  • Design the system models. This includes building a Graphical User Interface (GUI), a database, screens, etc.

Development

In this phase, you take all the designs and transform them into an actual system.
  • The developers would have to find or build an operating system for the system to be perform on.
  • This is the stage where hardware would be installed and software that are needed in the system to be develop.
  • Coding is involved in this phase as well.
  • Debug/Error correcting are situated in this phase too.

Testing

Here, the end users, developers, and other people that would be using the system would have to perform numerous testings to verifies that the system is working properly, whether it meets all the requirements that it was proposed to do or not. This phase is crucial and usually done in numerous times. If bugs are found during this phase, the entire system would have to go back into the development phase to fix it.

Implementation

After passing the testing phase, the system is complete and ready to be install into the organization to replace the old system. There are 4 common methods on implementing systems for organizations to use. Every organization is different, therefore not every one of the implementation method could be successfully apply.

Implementation Methods:

  1. Parallel Implementation - using both the old and new system at the same time until the new system performs perfectly the way you wanted.
  2. Plunge Implementation - remove the old system completely and start using the new system.
  3. Pilot Implementation - having only a selected group of people using the new system until you are sure it is working properly, then adding the remaining people afterward.
  4. Phased Implementation - install the new system by departments (ex: accounting department, sales, marketing, etc) one by one.

Maintenance

Although the system was successfully implemented, but it would have to be constantly kept up-to-date. Whenever there are problem arise, bug occurs, new features requested, or other issues comes up - the development team would have to maintain it. This phase would go on forever, until a new system is proposed - therefore the entire cycle starts all over again.



Sources