Monday, October 29, 2007

SDLC Model

Every system or project has a "life cycle": a birth, life, and death. Here's a simple example of how it works.


Simple English

Techno-babble

Who Does What

Real-Life Example

Birth

"Vision
Statement"

Management or Marketing or Customer says "Wouldn't it be great if ..."

I'm the Chief Executive Officer of this company and I need a nice suit for shareholder meetings.

Basic
Needs

"Business
Requirements"

Business Analyst talks with stakeholders and documents the requirements.

I want to hide my big gut and make me look presentable and sophisticated and successful. Jeans and a T-shirt just won't do.

Specific
Needs

"Functional
Requirements"

Business Analyst and/or Systems Analyst investigates business requirements and available technology, develops a detailed plan and specifications.

Tailor proposes a 3-piece suit, wool, dark colour, with pin-stripes, expansion waist, etc.

Detailed
Design

"System Design
Document"

Systems Analyst produces detailed description of all processes, transaction files, etc.

Tailor shows CEO a drawing of proposed suit and how sophisticated he will appear.

Making
It

"Development"

Programmer uses Functional Requirements document and System Design document to write code.

Tailor cuts the cloth.

Basic
Testing

"Unit Testing"

Programmer tests the code he has written, on his own machine.

Tailor fits the bits of cloth together on a flat table, making sure everything will connect, and he hasn't reversed the sleeves.

Testing
Related
Things

"System Testing"

Programmers test related modules in a separate system test environment. Links or interfaces to other systems are "dummied out" or faked, as they are only interested in that one system at this time.

Tailor works on only the suit jacket, hanging it on a clothes dummy or mannequin. He does not work on the vest or trousers, just concentrates on the jacket. When done with the jacket, he works on the vest, and later the trousers.

Bringing
the
Parts
Together

"Integration
Testing"

Programmers and other testers test related systems in a separate Integration Test environment, similar to Production environment. They test the flow of data from one system to another, ensuring everything hangs together properly.

Tailor puts trousers, vest, jacket on a mannequin and ensures everything hangs together properly. Note that a mannequin is an approximation of the real thing.

At this point, the system is theoretically finished, and ready for production.
But the most important part has not yet been done: Acceptance.

Is it
what we
wanted?

"Acceptance
Testing"

Users test the software, with the original Business Requirements as a reference, ensuring the software does what the business wants, and poses minimal risk to the company.

CEO tries on the suit, and if acceptable, pays for it. If not acceptable, changes are made.

Use it

"Production"

Software is in regular use for 17.5 years.

CEO wears the suit at each shareholders
meeting for 17.5 years.

Death

"De-commissioned"

Software is replaced by something better.

CEO donates suit to Salvation Army.

No comments: