System Development Lifecycle

Welcome!

In previous blog of Project Management series, I wrote about project management framework. If you have not read that, you can read it here. Alongside Project Management framework following two concepts are the building blocks of Project Management, specially in the Software Development and IT Domain:


1. System Development Lifecycle (Phases)

2. System Development Approaches

In this blog I will briefly discuss about these two concepts.

System Development Lifecycle

Every system development lifecycle has seven major phases:

a. Requirement Analysis/Problem Definition

b. System Analysis

c. System Design

d. Construction

e. Testing

f. Implementation/Integration/Release

g. Operations and Support

(Since the words used as names in these phases provide a brief description on the definition of the phase, I am not going to elaborate much on that. Tools and techniques used for each phases and process of conducting each phase will be further elaborated in future blogs)

Figure: System Development Lifecycle

How and when this lifecycle and phases are adopted, determines the System Development Approach.

System Development Approach

There are different types of system development approaches. All of these can be broadly classified into two types:

a. Predictive Software Development

b. Adaptive Software Development

Each of these approaches can be further divided into techniques or models of system development.

a. Predictive Software Development Approach

In predictive software development, scope of the project is clearly articulated upfront. We try to achieve accurate prediction of schedule and cost in predictive software development.

There are many models and techniques that fall under predictive software development. I am going to discuss one of them below and discuss other predictive models in future blogs:

a.i) Waterfall Model:

Waterfall is a linear and sequential predictive software development model that is used mostly when risk must be tightly controlled. In this model, each phase of Software Development Lifecycle takes place one after the other sequentially in a linear fashion.

End of each phase can be thought of as milestones achieved and indication of moving towards the next phase. The deliverable from milestone achievement (completion of phase) are the inputs for the next phase.

Due to restrictive nature of this model and lack of change management, Waterfall model is considered to be a traditional model.

Figure: Waterfall Model

To counter the shortcomings of Waterfall model, Waterfall model with feedback loop was developed. In waterfall with feedback loop, after completion of each phase (milestone achievement) a feedback phase is added to address issue of change management.

Figure: Waterfall Model with Feedback Loop

This is it for now. In the next blog I will further explain following SDLC Models under Predictive Approach:

a.ii. Spiral Model

a.iii. Incremental Model

a.iv. Prototype Model

a.v. Rapid Application Development (RAD)

Keep in touch, keep reading and keep learning!

Bye!

Leave a comment