Software Development LifeCycle (SDLC)
Software Development LifeCycle (SDLC)
DEVELOPMENT
LIFECYCLE (SDLC)
7 phases of SDLC
Planning
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.)
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.)