You are on page 1of 14

SOFTWARE

DEVELOPMENT
LIFECYCLE (SDLC)
7 phases of SDLC

Planning

Requirement Gathering and


Analysis

Design

Coding

Testing

Implementation

Maintenance
1. Planning
In the planning phase, project goals are
determined and a high-level plan for the intended
project is established. The planning phase involves
aspects of project and product management. This
may include:
 Resource allocation (both human and materials)
 Capacity planning
 Project scheduling
 Cost estimation
 Risks
2. Requirement Gathering & Analysis
 During this phase, all the relevant information is
collected from the customer to develop a
product as per their expectation. Any
ambiguities must be resolved in this phase only.
 Business analyst and Project Manager set up a
meeting with the customer to gather all the
information like what the customer wants to
build, who will be the end user, what is the
purpose of the product. Before building a
product a core understanding or knowledge of
the product is very important.
2. Requirement Gathering & Analysis
(Cont.)
 In the analysis phase, end user business requirements
are analyzed and project goals converted into the defined
system functions that the organization intends to develop.
 Business requirement gathering is the most crucial part
at this level of SDLC. Business requirements are a brief
set of business functionalities that the system needs to
meet in order to be successful.
 Depending on which software development methodology
is used, different approaches are taken in moving from
one phase to another. For example, in the waterfall or 
V model, the requirement analysis phase are saved in a
SRS (Software Requirement Specification) document
and needs to be finalized before the next phase can take
place.
3. Design
 The next stage of Software Development Life Cycle is
the Design phase. During the design phase, developers
and technical architects start the high-level design of
the software and system to be able to deliver each
requirement.
 The technical details of the design is discussed with the
stakeholders and various parameters such as risks,
technologies to be used, capability of the team, project
constraints, time and budget are reviewed and then the
best design approach is selected for the product.
 The design is usually kept in the Design Specification
Document (DSD).
3. Design (Cont.)

 In this phase, the requirement gathered


in the SRS document is used as an
input and software architecture that is
used for implementing system
development is derived.
 Various design documents are prepared
to determine how the system will be
going to work.
4. Coding
 After the requirements and design activity
is completed, the next phase of the
Software Development Life Cycle is the
implementation or development of the
software. In this phase, developers start
coding according to the requirements and
the design discussed in previous phases.
 In the development phase, all the
documents from the previous phase are
transformed into the actual system. 
4. Coding (Cont.)

 Regardless of methodology,
development teams should produce
working software as quickly as possible.
Business stakeholders should be
engaged regularly, to ensure that their
expectations are being met. The output
of this phase is testable, functional
software.
5. Testing
 During testing, experienced testers start to test
the system against the requirements.
 The testers aim to find defects within the system
as well as verifying whether the application
behaves as expected and according to what was
documented in the requirements analysis phase.
 Once a defect is found, testers inform the
developers about the details of the issue and if it
is a valid defect, developers will fix and create a
new version of the software which needs to be
verified again.
5. Testing (Cont.)

 Testers refer SRS document to make


sure that the software is as per the
customer’s standard.
 This cycle is repeated until all
requirements have been tested and all
the defects have been fixed and the
software is ready to be shipped.
6. Implementation
 Once the software has been fully tested
and no high priority issues remain in
the software, it is time to deploy to
production where customers can use the
system.
 Once a software is released to
production, there is usually a team that
look after any post-production issues.
6. Implementation (Cont.)

 During this phase, the system is


deployed to a real-life (the client’s)
environment where the actual user
begins to operate the system. All data
and components are then placed in the
production environment. This phase is
also called referred to as ‘delivery.’
7. Maintenance
 In the maintenance phase, any
necessary enhancements, corrections,
and changes will be made to make sure
the system continues to work, and stay
updated to meet the business goals. It is
necessary to maintain and upgrade the
system from time to time so it can adapt
to future needs.

You might also like