Software
Development Life Cycle (SDLC) aims
to produce a high-quality system that meets or exceeds customer expectations,
works effectively and efficiently in the current and planned information
technology infrastructure, and is inexpensive to maintain and cost-effective to
enhance.
Each phase of SDLC produces deliverables required by the next phase in the
life cycle. Requirements are translated into design.
Code is produced according to the design. Testing
should be done on a developed product
based on requirement. Deployment should be done once the testing was completed. It aims to produce a high-quality system that meets or exceeds
customer expectations, works effectively and efficiently in the current and
planned information technology infrastructure, and is inexpensive to maintain
and cost-effective to enhance.
A typical Software Development Life Cycle (SDLC) consists of the following phases:
1. Requirement Phase:
Requirement gathering and analysis is
the most important phase in software
development lifecycle. Business Analyst collects the requirement from the
Customer/Client as per the clients
business needs and documents the requirements
in the Business Requirement Specification (document name varies
depends upon the Organization. Some examples are Customer Requirement
Specification (CRS), Business Requirement Specification (BRS) etc., and
provides the same to Development Team.
2. Analysis Phase:
Once the requirement gathering and
analysis is done the next step is to define
and document the product requirements and get them approved by the customer. This is done through SRS (Software Requirement Specification) document. SRS consists of all the product
requirements to be designed and developed during the project life cycle. Key
people involved in this phase are Project Manager, Business Analysist and
Senior members of the Team. The outcome of this phase is Software Requirement Specification.
3. Design Phase:It has two steps:
HLD – High Level Design –
It
gives the architecture of the software product to be developed and is done by
architects and senior developers
LLD – Low Level Design –
It
is done by senior developers. It describes how each and every feature in the
product should work and how every component should work. Here, only the design
will be there and not the code.
The outcome from this phase is High Level Document
and Low Level Document which works as an input to the next phase.
4. Development Phase:
Developers of all levels (seniors,
juniors, fresher’s) involved
in this phase. This is the phase where we
start building the software and start writing the code for the product. The
outcome from this phase is Source Code Document (SCD) and the developed product.
5. Testing Phase:
When
the software is ready, it is sent to the testing department where Test team tests it thoroughly for different defects. They either test the software manually or using automated testing tools depends
on process defined in STLC
(Software Testing Life Cycle) and ensure that each and every
component of the software works
fine. Once the QA makes sure that the software is error-free, it goes to the
next stage, which is Implementation. The outcome of this phase is the Quality Product and the Testing Artifacts.
6. Deployment & Maintenance Phase:
After successful testing, the product is
delivered/deployed to the customer for their use. Deployment is done by the
Deployment/Implementation engineers. Once when the customers start using the
developed system then the actual problems will come up and needs to be solved
from time to time. Fixing the issues found by the customer comes in the
maintenance phase. 100% testing is not possible – because, the way testers test
the product is different from the way customers use the product. Maintenance
should be done as per Level Agreement.
No comments:
Post a Comment