Académique Documents
Professionnel Documents
Culture Documents
CYCLE (SDLC)
MOHAMED SAMI
AGENDA
Software
development
methodology
SDLC is a splitting of software
A framework that describes development work into
the activities performed at distinct phases (or stages)
Software
System each stage of a software containing activities with the
development
process
methodology
development project. intent of better planning and
Known management
as
The SDLC aims to produce a
high quality software that
meets or exceeds customer
Software Software expectations, reaches
development development
process life cycle
completion within times and
cost estimates
Define the
What should be or terminologies,
Project Planning
shouldn’t be built activities and
deliverables
Align project
Proper
progress visibility
documentation
with stakeholders
Software Development Life Cycle (SDLC) - Mohamed Sami 5
THE RIGHT CHOICE
• Selecting the right SDLC is a process in itself that organization can implement internally or consult for.
There are some steps to get the right selection
Assess the
Learn about Define the
needs of
SDLC Models criteria
Stakeholders
Waterfall
Extreme
programming V-Shaped
(Agile Model
development)
Models
Spiral Method
(SDM)
Advantages Disadvantages
Stages and activities are well defined Adjusting scope is difficult and expensive
Milestones are well understood Model doesn't provide a clear path for problems
found during testing phases
Each phase has specific deliverables Costly and required more time
Works well for smaller projects where requirements Needs very proper and detailed planning
are very well understood.
Process and results are well documented No continuous customer involvement to review the
output
Advantages Disadvantages
Verification and validation of the product in early Assumes that the requirements of a system can be
stages of product development frozen and known from beginning
Easy to use. Does not easily handle dynamic changes in
Stages and activities are well defined requirements
Higher chance of success over the waterfall model Inflexible and adjusting scope is difficult and
due to the development of test plans early on expensive
during the life cycle
Each phase has specific deliverables Costly and required more time
Works well for where requirements are easily Needs very proper and detailed planning
understood
No continuous customer involvement
Advantages Disadvantages
this can be disadvantage if the developer loses time User confusion of prototype and finished system
in developing the prototypes
Improved user involvement Developer misunderstanding of user objectives·
Advantages Disadvantages
Estimates (i.e. budget, schedule, etc.) become more High cost and time to reach the final product
realistic as work progresses
Changing requirements can be accommodated Needs special skills to evaluate the risks and
assumptions
Development can be divided into smaller parts and Highly customized limiting re-usability
more risky parts can be developed earlier which
helps better risk management
Users see the system early and give corrective Time spent planning, setting objectives, doing risk
feedback analysis and prototyping will be huge
A more accurate end product
Final Waterfall
Software Development Life Cycle (SDLC) - Mohamed Sami 20
ADVANTAGES AND DISADVANTAGES
Advantages Disadvantages
Produces business value early in the development life cycle Requires heavy documentation· Follows a defined set of
(Do you know why) processes
More customer involvement Partitioning the functions and features might be
problematic
Better use of scarce resources through proper increment Defines increments based on function and feature
definition dependencies
Can accommodate some change requests between Requires more customer involvement than the linear
increments approaches (It is advantage as well)
More focused on customer value than the linear Integration between iteration can be an issue if this is not
approaches considered during the development
Problems can be detected earlier
Advantages Disadvantages
Face to face communication and continuous inputs from Skill of the software developers
customer representative leaves no space for guesswork
The end result is the high quality software in least possible Ability of customer to express user needs
time duration and satisfied customer
Produces business value early in the development life cycle Documentation is done at later stages
(Do you know why)
Reduce the usability of components
Technology Others
• Is the SDLC appropriate for the size of our team and their skills?
• Is the SDLC appropriate with the selected technology we use for implementing the solution?
• Is the SDLC appropriate with client and stakeholders need and priorities
• Is the SDLC appropriate for the geographical situation (co-located or geographically dispersed)?
• Is the SDLC appropriate for the size and complexity of our software?
• Is the SDLC appropriate for the type of projects we do?
• Is the SDLC appropriate for our engineering capability?