3 Software Development Life Cycle
3 Software Development Life Cycle
Development
Life Cycle
(SDLC)
Introduction of SDLC
Learning Objectives:
PLAN
Planning &
Necessary Actions Designing
ACT DO
Coding &
Production
CHECK
Testing &
Evaluating
PDCA Cycle
PDCA is a successive cycle which starts off small
to test potential effects on processes, but then
gradually leads to larger and more targeted
change.
PLAN
Establish the objectives and processes necessary
to deliver results in accordance with the
expected output.
DO
Implement the new processes. Often on a small
scale if possible,
to test possible effects. either one or more of the
P-D-C-A steps.
PDCA Cycle
CHECK
Measure the new processes and compare the
results against the expected results to ascertain
any differences.
ACT
Analyze the differences to determine their cause.
SDLC
Waterfall Model
Incremental Model
Spiral Model
Agile Model
Waterfall Model
The Waterfall Model was first Process Model to
be introduced.
Design Document,
Design Design Classes
Code
Implementation
Test Report,
Test Change Requests
Advantages of Waterfall Model
This model is simple and easy to understand and
use.
It is easy to manage due to the rigidity of the model
– each phase has specific deliverables and a
review process.
In this model phases are processed and completed
one at a time. Phases do not overlap.
Waterfall model works well for smaller projects
where requirements are very well understood.
Disadvantage of Waterfall Model
Once an application is in the testing stage, it is very
difficult to go back and change something that was
not well-thought out in the concept stage.
Evaluation Engineering
Spiral Model Phases
Planning Phase: Requirements are gathered during
the planning phase.
Building Designing
2-3 Month
Planning
Building Designing
2-3 Month
Planning
Building Designing
Advantages of Agile Model
Advantages of Agile model
People and interactions are emphasized
rather than process and tools.
Customers, developers and testers constantly
interact with each other.
Working software is delivered frequently
(weeks rather than months).
Continuous attention to technical excellence
and good design.
Regular adaptation to changing
circumstances. Even late changes in
requirements are welcomed.
Disadvantages of Agile Model
In case of some software deliverables,
especially the large ones, it is difficult to assess
the effort required at the beginning of the
software development life cycle.
There is lack of emphasis on necessary
designing and documentation.
The project can easily get taken off track if the
customer representative is not clear what final
outcome that they want.
Only senior programmers are capable of taking
the kind of decisions required during the
development process.
Scrum and Sprint
Scrum, the most popular agile framework in software
development, is an iterative approach that has at its
core the sprint — the scrum term for iteration.
Scrum teams use inspection throughout an agile
project to ensure that the team meets the goals of
each part of the process.
Each sprint is divided into its own list of requirements.
Within each sprint, the development team builds and
tests a functional part of the product until the product
owner accepts it and the functionality becomes a
potentially shippable product.
Scrum teams deliver product features in increments at
the end of each sprint.
A product release occurs at the end of a sprint or after
several sprints.
Function of the Scrum and Sprint
within an Agile
Interview Questions
What are different phases in SDLC?