22 System Development Life Cycle

Ms.Vinodini Kapoor

epgp books

 

 

 

1. Learning Outcome:

 

After completing this module the students will be able to:

  • Understand the concept of SDLC and its objectives.
  • Understand the various stages/phases in the process of SDLC
  • Understand the different models of SDLC and their respective advantages and disadvantages.
  • List various guidelines to be followed in building effective information systems.
  • Understand the application of the SDLC process.
  1. Introduction

 

The chief executive of the company asks to find a web enabled way to get information to and from the sales force in the company; what would be the best approach? Could one automate the process well enough to have updated information a click away? The method of resolving such an issue is termed as systems approach. This approach can be applied to the information system infrastructure to solve real world routine problems and is referred to as IS development.

 

The overall process by which information systems are designed and implemented within organizations is referred to as systems analysis and design. Within this process are contained activities that include the identification of business problems; the proposed solution, in the form of an information system (IS), to one or more of the problems identified; and the design and implementation of that proposed solution to achieve the desired and stated goals of the organization. The most common approaches are objected oriented analysis and life cycle approach.

 

The term system life cycle implies the development of a system. SDLC refers to a sequential set of activities one following the other, involved in end to end development of the system.

  1. Objectives of SDLC

 

The objectives of each phase of the SDLC are listed in exhibit 2. These can be simply stated as under:

  • To document and keep track of requirements across the development and implementation process.
  • To ensure that project planning is within the current and planned information technology infrastructure.
  • To predict and assess project risks at an early stage.
  • To deliver a quality system that lies within budgeted costs but fulfill tasks beyond expectation.
  • To ensure that system development requirements are clearly defined and subsequently satisfied.
  • It segregates the entire life cycle making it easier to process and evaluate each part of system development.
  1. Phases of the System Development Life Cycle

 

The sequential steps of the system development life cycle are depicted in figure 1 and are explained below:

 

The seven phases of the SDLC are explained below:

  1. System Investigation – The first stage of the SDLC assign priorities to various tasks to be undertaken. A feasibility study is essential at this stage to determine if the new system is a viable one or not. The system investigation stage is depicted in exhibit 3.

Exhibit 3: System Investigation

Image Source:https://image.slidesharecdn.com/investigationphaseindevelopment ofmiss-140701072225-phpapp02/95/investigation-phase-in-development-of-mis-3-638.jpg?cb=1404199584

Feasibility Studies

 

The process of development can be costly; hence, system investigation stage typically requires the development of a feasibility study. In this initial stage, the requirement of each resource is specified. An estimation of costs to be incurred, benefits derived and feasibility is assessed. Figure 2 elucidates the different types of feasibilities to be checked.

 

Operational Feasibility Economic Feasibility
To what extent will the organization priorities be
supported?
This is tested via parameters like savings, budgets,
investments, expenditure
To what extent the new system will solve
problems?
Cost/benefit analysis
How will the new system be aligned with the
organization structure?
Profits Maximization
Technical Feasibility Human Factors Feasibility
It assesses the network, software, supporting
hardware, interoperability and scalability.
Human resource allocation, supplier acceptance,
customer satisfaction,
Assigning the right people to the right tasks.
Legal/Political Feasibility
It takes into account the copyrights, licenses and
patents.
Authorizing bodies, government departments and
reporting agencies.

Fig2. Feasibility Studies in Context of SDLC

  1. System Analysis – This stage involves the analysis of the information related needs of various stakeholders. Further, it deals with development of functional requirements of the system that can meet business priorities and the needs of all those integrated with the system. It enables to develop logical models of current system. This stage is applicable to both for making an entirely new system or improving an existing one.System analysis comprises of the following:

 

Organizational analysis – To achieve effectiveness, it is imperative to know about the organizational culture, management qualification, values norms etc.

 

Present System Analysis Incase the company has some information system in existence then it essential to analyze that system from its perspective.

 

Functional Requirement Analysis These are end user requirements that comprise user interface requirements, processing requirements i.e., decision rules, calculations to convert input to output, storage requirements and control requirements measuring accuracy, validity, safety, security and adaptability.

  1. System Design The process lists the end to end requirements of hardware, software, manpower, network as well as data requirements to fulfill the functional requirements of the information system.

 

System design is the stage where the layout and design of the logical model takes place. Simply stated, it enables the system analyst to give an answer to the ‘how’ question. This implies how the system will fulfill the stated objectives. All system specifications are listed here. Two distinct aspects of system design are:

 

Conceptual Design It gives a broad layout of the system by highlighting the inputs and corresponding output. The input is received from the information system while the output is the performance requirement of the detailed design.

 

Detail Design The design as the name implies carries intricate information. From input and output to databases and program codes, all specifications are drawn up in detail. This is shown in exhibit 5 below. Further, the programming language to be used and compatible and the hardware and software platform is also decided.

 

4.  System Implementation To implement the system design the procurement of hardware and software as per specification of the solution architects takes place. The complete set or processes and procedures are tested. The implementation stage is incomplete without proper training of all essential stake holders responsible for working on the system. Hence, exhaustive training followed by an interactive session to clarify any doubts and incorporate any change requests is essential.

 

Another important aspect is documentation which is of paramount importance. Documentation is essential in the form of product manuals, regular system updates, specification sheets and maintenance guidelines. This is because the solution architects who design the system may not always be physically present or serve the same organization. Also, it is essential to ensure that the hardware and software should be compatible and checked accordingly for scalability and incremental usage. The conversion is also one of the most critical and cumbersome activities in the system development life cycle. Data from the previous system has to be migrated to the new platform and all security and recovery measures have to be kept in mind.

  1. System Maintenance The smooth functioning of the new system can take place if it is updated as per the latest version upgrade. This process requires intervention of experts to control and monitor the process. The maintenance process involves handling system related queries, error reports, change request and debugging.

 

  1. Models of system development life cycle

 

Few years while ago, system development consisted of a programmer writing a code to solve a problem or automate a procedure. However, now the systems are far more complex and can handle a large number of tasks. They require test engineers, solution architects, analysts and coding experts who are able to sit together and scrub requirements as per changing business needs. Hence, lays the need to specifically choose a model suited to needs of the project. Different models or SDLC are discussed as under:

 

  1. The Waterfall Model – This model consists of different stages which are processed in a linear fashion. 

Requirement In this phase the requirement or ‘what’ of the system is defined. It is essential for the system designers to discuss and detail out the final requirements in a software requirement specification document (SRS).

 

Design – This stage determines the ‘how’ of the system. The outlined problem definition has to be converted to a format which system design can utilize. In other words, the user expectation is expected to be programmed here.

 

Coding – The system code is written here which will integrate all parts of the system design.

 

Testing- The code that is developed is tested during the testing phase. This involves unit testing for the lowest level of components, integration testing for groups of components and testing of the system as a whole. The last activity is usually the acceptance testing.

 

Operation & Maintenance– During this phase the system is debugged for any errors and fine tuned to perform to expected standards. New functionalities can be added and exiting features are updated.

 

The Waterfall Model has certain advantages and disadvantages as below

 

Advantages:

  • Every stage of the model has a clearly defined input.
  • A sequential set of activities take place to build the system.
  • Every task can be scheduled for a time frame where completion of one activity leads to the other.
  • Development process comprises a number of tasks from design to testing and troubleshooting and each phase precedes the other.

 

Disadvantages:

  • Projects may not always follow a strict sequential process.
  • It is assumed that all requirements are pre-specified in the beginning. This makes it very cumbersome to incorporate changes as per business needs.
  • The involvement of the user tends to be minimal from the design to testing phase where it is essential.
  • Larger projects involve a long delivery schedule.
  • V-Shaped Model – It is quite similar to the previous waterfall model. However, following the implementation phase the steps move up forming a v-shape as shown in Fig 4. The most important difference from the waterfall model is the detailed testing that occurs in this model.

The associated advantages and disadvantages are:

Advantages:

  • It is much simpler to understand.
  • The system carries out detailed testing in three stages which yield better results.
  • If requirements are clearly incorporated followed by detailed test scenarios, it is bound to give better results.

 

Disadvantages:

  • Despite incorporating testing at various stages the model is still very inflexible and change management is cumbersome.
  • Rectification of problems at later stages is still very time consuming and expensive.
  • Prototyping Model – The underlying concept in this model is to create a prototype or a draft version of the system to be developed (figure 5). This makes it easier to introduce changes as per client requirements. The developers can visualize the requirements better and avoid rework. This is an improvement from the waterfall model where making changes at later stages is very difficult. Thus, it can be stated that a final prototype implies that the system specification is finalized and no further changes will be incorporated.

 

Advantages

 

1. It reduces the time and underlying cost involved in re- work. Thus, it manages resources better.

2.  There is more handholding by different teams and increased user involvement in developing a prototype.

 

Disadvantages

  • Building the prototype may lead to iterative changes and requires more time.
  • The process of building the prototype is an activity requiring dedicated resources which tends to be expensive.
  1. Spiral Method (SDM)

 

This model imbibes the advantages of a top down and a bottom up conceptual framework in its design and prototyping stage itself. It is most suitable for projects that have high monetary stakes and are very complex. Although quite similar to the prototype model, the differences lie in the planning,prototyping, simulation and risk assessment stages. Largely, such systems are built in distinct phases. A diagrammatic representation is shown in Exhibit 6.

 

Advantages

  • With critical issues being identified earlier, the budgetary allocation become clearer.
  • Higher involvement of system developers help to assess and manage risk better.

 

Disadvantages

  • It takes more time and higher cost is incurred in completion of such systems.
  • Skilled experts are required for risk estimation and handling.
  • A system which is highly customized is largely centric to the requirements specified limiting its use later.
  • Iterative and incremental method – The aim to use this model is to minimize the weaknesses of the waterfall model. As shown in Exhibit 7, instead of a linear pattern, this method is depicted with cyclic interactions between entities.

The system is developed with a mechanism of repeated cycles called iterations which occur one at a time or incrementally. The developer can analyze the result during previous stages and utilize it further. It is used in large system like E Business Suite and ERP which are built-in small phases.

 

 

Advantages

 

1.  Such a system is more viable for business and organizational applications.

2.  Change management is easier between the incremental steps.

3.  It helps to rectify errors at each stage before moving on the next one.

 

Disadvantages

 

1.Such systems where it is easier to make iterative changes require continuous documentation. All application interfaces and integrations used at each stage have to be clearly mentioned.

2.The interaction with end user is equally important. Making iterative changes is a task to be carried out with accuracy.

3. Integrating the different iterations can be an issue if this is not considered during the development.

  1. Agile development

 

It is based on the concept of repetitive changes, where requirements and solutions require collaboration between cross-functional teams. It has numerous industry wide applications and requires large amount of user involvement. An agile system model is represented in Fig 6.

 

 

Advantages

 

1.  It reduces the time required to incorporate certain features.

2.  One on one communication as well as inputs from clients leaves no room for rework.

3.  It helps in development of information system that can carry out complex tasks and yet are built in least possible time frames.

 

Disadvantages

 

1.The system should be scalable which implies it can add higher load or capacity onto the existing hardware.

2.It is important for the system analyst to be competent enough to understand and interpret user requirement.

3. It may get difficult to interpret changes in the initial stages if documentation is focused on later stages.

 

Case Study: The unmatched consulting experience at Centric.

 

 

A now leading US based regional bank grew substantially from its initial days of a small community based bank. From the very start, the financial institution was working and focusing on processes. As operations grew larger and the customer base increased and it was time to analyze the methodology intricately, the audit and compliance team identified those projects which were not in line with the bank’s ideology and needed changes. A technology oriented solution was the need of the hour to ensure quality parameters in all facets of the banking systems.

 

The banks’ research and development team identified a consultancy based firm and partnered with Centric Inc. Their aim was to develop a system development life cycle methodology to enable them to manage technology. Their focus was on quality parameters across all aspects of the system development.

 

Centric’s expertise helped to develop a system which could meet delivery schedules and fulfill business commitments within agreed time frame. They built a requirement management methodology to capture requirements from various stakeholders.

 

A software solution was built that could input client’s requirement and generate the bill of material and costing sheet corresponding to the complete solution.

 

Another important aspect that was catered to was of acceptance testing. At each stage the system checked for precision and achievement of quality standards as per industry benchmarks. The development of the system was tracked and monitored by experts to ensure timely deliverables. The consulting expert also ensured an exhaustive training of the system and necessary documentation.

 

6. Considerations in SDLC in building information systems.

 

The following are certain guidelines to be kept in mind in the context of system development life cycle for building effective information systems.

 

To follow the SDLC phases sequentially in order by completing one phase before commencing the next phase. This is imperative because when phases are bypassed or rushed, one can expect problems with the developed information system.

 

Understanding all the requirements help to create a better design and a good design helps avoid problems in later phases.

 

It is cost effective to complete one phase before moving to the next phase, to reduce the chances of rework. However it is essential that while you work on a particular phase, you also should consider the impact of your decisions on later phases.

 

The ability to overlap phases is especially important when one is working on a system that must be developed rapidly.

 

Powerful project management tools and techniques are available to help you to manage multiple tasks in system development process.

 

To lay focus on end products

 

The end products are representative of an achieved milestone which depicts the completion of specific phase.

 

Management assigns checkpoints to mark the achievements and estimate project timelines. It is important to debug the system for errors and perform trial run to ensure the output is obtained as per requirements. If the system gives unexpected results then required changes should be incorporated well in time.

 

Meeting quality standards is very essential and management focus is important here to specify the standards to be met.

 

Estimate required resources

 

Management needs to know the cost of developing and operating the proposed information system. Cost estimation at the start of each phase and successive phases as well as operation cost estimate is essential to undertake critical business decisions.

 

This is helpful in resource and budget allocation.

  1. Summary

There are a numerous SDLC models and frameworks that can be chosen depending on project characteristics. However, choosing the right model is a key factor and is dependent on various conditions and scenarios. Prima Facie, the requirements of the system play a key role. Requirements that are strict and immutable, may lead to adoption of a waterfall approach, but if requirements may require repetitive changes and are unfolded as the system functions, an iterative or agile approach is most suited. Secondly, system deliverables and timelines are crucial factors. In case of rigid timelines and a tight schedule, a model that carries extensive documentation may prove to be unsuitable and slow. The project’s dimension is one of the most influential factors. Higher the complexity of the project, the more exhaustive is the model and may require a larger team of system experts to put their efforts together and design the system. A waterfall model is most suited where teams are geographically dispersed. For smaller teams that tend to work closely an agile model is most suited. Choosing the right model is the most tactical step of system development. As information systems shall continue to be fundamental to modern business and organizational setups, SDLC models will also continue to be built, researched and utilized.

you can view video on System Development Life Cycle

Web Resources

  1. http://www.springer.com/978-1-4614-9253-5
  2. http://centricconsulting.com/case-studies/system-development-life-cycle-better-faster-cheaper