Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

Mohamed Sami

Advertisements

Personal website – Software Engineering & Architecture Practices 

Home Contact me About me  Need Help?

Follow Blog via


Email

Enter your email


address to follow
this blog and
receive
noti cations of new
posts by email.

Software Development Life Cycle Models


Email Address
and Methodologies


March 15, 2012 Mohamed Sami
Follow
            265 Votes
Introduction
Mohamed Sami
Software development life cycle (SDLC) is a series of phases
that provide a common
Personal understanding
website – Software of the
Engineering software Practices
& Architecture 
building process. How the software will be realized and
developed from the business understanding and
Home Contact me About me  Need Help?
requirements elicitation phase to convert these business
ideas and requirements into functions and features until its
usage and operation to achieve the business needs. The
good software engineer should have enough knowledge on
how to choose the SDLC model based on the project
Mohamed Sami
context and the business requirements.
https://melsatar.bl
Therefore, it may be required to choose the right SDLC og/about-me/
model according to the speci c concerns and requirements
of the project to ensure its success. I wrote another article View Full Pro le →
on how to choose the right SDLC, you can follow this link
for more information. Moreover, to learn more about
Software Testing life cycles and SDLC phases you follow the
links highlighted here.
Advertisements

In this article, we will explore the di erent types of SDLC


models and the advantages and disadvantages of each one
and when to use them.

You can think of SDLC models as tools that you can use to
better deliver your software project. Therefore, knowing
and understanding each model and when to use it, the
advantages and disadvantages of each one are important
to know which one is suitable for the project context.

Social

     


TypesMohamed Sami
of Software developing life cycles (SDLC)
Top Posts &
Personal website – Software Engineering & Architecture Practices 
Waterfall Model Pages
V-Shaped Model
Home
Evolutionary Prototyping Model
Contact me About me  Need Help?
Software
Spiral Method (SDM) Development
Iterative and Incremental Method Life Cycle
Agile development Models and
Methodologies
Waterfall Model The Software
Process
Description
Improvement
The Waterfall Model is a linear sequential ow. In which (SPI) - Reward or
progress is seen as owing steadily downwards (like a Risk
waterfall) through the phases of software implementation.
5 Steps to
This means that any phase in the development process
Software
begins only if the previous phase is complete. The waterfall
Development
approach does not de ne the process to go back to the
E ort Estimation
previous phase to handle changes in requirement. The
waterfall approach is the earliest approach and most Choosing the
widely known that was used for software development. right Software
development life
cycle model

Trade-o
Analysis
Technique -
Make the
decision easier

Tags


Agile Analysis
The usage
Application security
Projects which not focus on changing the requirements, for Architecture Architecture
example, projects initiated from a request for proposals Decisions Blackbox
Testing Business Analyst
Mohamed Sami
(RFPs), the customer has a very clear documented Design Incremental Model

requirements
Personal website – Software Engineering & Architecture Practices Iterative and 
Incremental

Advantages and Disadvantages


Home Contact me About me 
Development
Need Help?
Programming Rails
Advantages Disadvantages Requirements
Easy to explain to the users. Assumes that the Requirements Elicitation
Structures approach. requirements of a Requirements Engineering
Stages and activities are well system can be frozen. Ruby on Rails
de ned. Very di cult to go
Helps to plan and schedule back to any stage after SDLC SDLC Model

the project. it nished. Selection SDLC Phases

Veri cation at each stage A little exibility and Security Security


ensures early detection of adjusting scope is SDLC Security
errors/misunderstanding. di cult and expensive. Testing Security
Each phase has speci c Costly and required Testing Techniques
deliverables. more time, in addition Software Analysis
to the detailed plan. Software
Architecture Software

Software
Design
V-Shaped Model
Developmen
Description
t Software
It is an extension of the waterfall model, Instead of moving
down in a linear way, the process steps are bent upwards Developmen
after the implementation and coding phase, to form the t Life Cycle
typical V shape. The major di erence between the V-
Software
shaped model and waterfall model is the early test
Development
planning in the V-shaped model.
Methodologies
Software
Development
Process
Software
Engineerin

Software Process

Software Testing

g Software Life Cycle
Mohamed Sami Software Testing Life Cycle

Personal website – Software Engineering & Architecture Practices Spiral STLC Systems 
Development Life
Cycle System Software
Home Contact me About me  Need Help?
Development Testing
The Best SDLC model
The Right SDLC model
Waterfall Model White-
box testing WhiteBox

Testing

The usage

Software requirements clearly de ned and known


Software development technologies and tools are well- Categories
known
Select Category
Advantages and Disadvantages

Advantages Disadvantages
Simple and easy to use Very in exible, like the
Each phase has speci c waterfall model.
deliverables. Adjusting scope is
Higher chance of success di cult and expensive.
over the waterfall model The software is
due to the development developed during the
of test plans early on implementation phase,
during the life cycle. so no early prototypes of
Works well for where the software are
requirements are easily produced.
understood. The model doesn’t
Veri cation and validation provide a clear path for
of the product in the early problems found during
stages of product testing phases.
development. Costly and required more
time, in addition to a
detailed plan

Prototyping Model

Mohamed
Description Sami
Advertisements

Personal website – Software Engineering & Architecture Practices


It refers to the activity of creating prototypes of software

applications, for example, incomplete versions of the
Home It isContact
software program being developed. methat can
an activity About me  Need Help?
occur in software development and It used to visualize
some component of the software to limit the gap of
misunderstanding the customer requirements by the
development team. This also will reduce the iterations may
occur in the waterfall approach and hard to be
implemented due to the in exibility of the waterfall
approach. So, when the nal prototype is developed, the
requirement is considered to be frozen.

It has some types, such as:

Throwaway prototyping: Prototypes that are eventually


discarded rather than becoming a part of the nally
delivered software

Recent Posts

The 8 Software
Evolutionary prototyping: prototypes that evolve into the
Process
nal system through an iterative incorporation of user
Development
feedback.
Wastes
November 7,
2019

User-Centric
Design 
Mohamed Sami Principles
Personal website – Software Engineering & Architecture Practices August 15, 2019 
How to protect
Home Contact me About me  Need
rails Help?
application
from suspicious
and abuse
attacks? August
9, 2019

Business Model
Canvas July 13,
2019

Types of
Technological
Changes July 12,
2019

Incremental prototyping: The nal product is built as


separate prototypes. In the end, the separate prototypes
are merged in an overall design.

Extreme prototyping: used in web applications mainly.


Basically, it breaks down web development into three
phases, each one based on the preceding one. The rst
phase is a static prototype that consists mainly of HTML
pages. In the second phase, the screens are


programmed and fully functional using a simulated
services layer. In the third phase, the services are
implemented
Mohamed
The usage Sami
Personal website – Software Engineering & Architecture Practices 
This process can be used with any software developing
life cycle model. While this shall be chosen when you are
developing a system has Home Contact
user interactions. So,me
if the About me  Need Help?
system does not have user interactions, such as a
system does some calculations shall not have
prototypes.

Advantages and Disadvantages

Advantages Disadvantages
Reduced time and costs, but this Insu cient
can be a disadvantage if the analysis. User
developer loses time in confusion of
developing the prototypes. prototype and
Improved and increased user nished system.
involvement. Developer
misunderstanding
of user objectives.
Excessive
development time
of the prototype.
It is costly to
implement the
prototypes

Spiral Model (SDM)

Description

It is combining elements of both design and prototyping-in-


stages, in an e ort to combine advantages of top-down
and bottom-up concepts. This model of development
combines the features of the prototyping model and the
waterfall model. The spiral model is favored for large,
expensive, and complicated projects. This model uses


many of the same phases as the waterfall model, in
essentially the same order, separated by planning, risk
assessment, and the building of prototypes and
simulations.
Mohamed Sami
Personal website – Software Engineering & Architecture Practices 

Home Contact me About me  Need Help?

The usage

It is used in the large applications and systems which built-


in small phases or segments.

Advantages and Disadvantages

Advantages Disadvantages
Estimates (i.e. budget, schedule, etc.) High cost and
become more realistic as work time to reach
progressed because important the nal
issues are discovered earlier. product.
Early involvement of developers. Needs special
Manages risks and develops the skills to
system into phases. evaluate the
risks and
assumptions.
Highly
customized
limiting re-
usability

Iterative and Incremental Model 


Mohamed
Description Sami
Personal website – Software Engineering & Architecture Practices
It is developed to overcome the weaknesses of the

waterfall model. It starts with an initial planning and ends
Home
with deployment with the cyclic Contact
interactions me
in between. About me  Need Help?
The basic idea behind this method is to develop a system
through repeated cycles (iterative) and in smaller portions
at a time (incremental), allowing software developers to
take advantage of what was learned during the
development of earlier parts or versions of the system. It
can consist of mini waterfalls or mini V-Shaped model

The usage

It is used in shrink-wrap application and large system which


built-in small phases or segments. Also, can be used in a
system has separated components, for example, ERP
system. Which we can start with the budget module as a
rst iteration and then we can start with the inventory
module and so forth.


Advantages and Disadvantages

Advantages Disadvantages
Produces Requires heavy documentation.
Mohamed Sami
business value Follows a de ned set of
early in the website – Software
Personal processes.
Engineering & Architecture Practices 
development De nes increments based on
lifecycle. function and feature
Home Contact me About me  Need Help?
Better use of dependencies.
scarce resources Requires more customer
through proper involvement than the linear
increment approaches.
de nition. Partitioning the functions and
Can features might be problematic.
accommodate Integration between the
some change iterations can be an issue if it is
requests between not considered during the
increments. development and project
More focused on planning.
customer value
than the linear
approaches.
We can detect
project issues and
changes earlier.

Agile Model

Description

It is based on iterative and incremental development,


where requirements and solutions evolve through
collaboration between cross-functional teams.

Scrum Agile Model



Mohamed
The usage Sami
Personal website – Software Engineering & Architecture Practices
It can be used with any type of the project, but it needs

more engagement from the customer and to be
interactive. Also, we can useHome
it when theContact me
customer needs About
to me  Need Help?
have some functional requirement ready in less than three
weeks and the requirements are not clear enough. This will
enable more valuable and workable piece for software
early which also increase the customer satisfaction.

Advantages and Disadvantages

Advantages Disadvantages
Decrease the time required to Scalability.
avail some system features. The ability and
Face to face communication and collaboration of
continuous inputs from the customer to
customer representative leaves express user
no space for guesswork. needs.
The end result is the high-quality Documentation is
software in the least possible done at later
time duration and satis ed stages.
customer. Reduce the
usability of
components.
Needs special
skills for the team.

Here is a consolidated presentation to illustrate most of


the popular software development models.


Mohamed Sami
Personal website – Software Engineering & Architecture Practices 

Home Contact me About me  Need Help?

1 of 27

Cite this article as: Mohamed Sami, (March 15, 2012).


"Software Development Life Cycle Models and
Methodologies," in Mohamed Sami - Personal blog.
Retrieved November 13, 2019, from
https://melsatar.blog/2012/03/15/software-
development-life-cycle-models-and-methodologies/.


Mohamed Sami
Personal website – Software Engineering & Architecture Practices 

Home Contact me About me  Need Help?

Help to do more!

The content you read is available for free. If you’ve liked


any of the articles at this site, please take a second to help
us write more and more articles based on real experiences
and maintain them for you and others. Your support will
make it possible for us.

$5.00

Also published on Medium.


Mohamed Sami
Advertisements

Personal website – Software Engineering & Architecture Practices 

Home Contact me About me  Need Help?

Share this:

 Facebook  LinkedIn  Twitter  Email  Pinterest 1

 Tumblr Print  WhatsApp Pocket 


Skype

 Telegram  Reddit

Like this:

Loading...


Related
Mohamed Sami
Personal website – Software Engineering & Architecture Practices 
Choosing the right The best SDLC What do you need
Home Contact me About me  Need Help?
Software model to know about the
development life May 5, 2017 Software
cycle model In "Software Development
March 21, 2012 Engineering" phases
In "Requirements June 13, 2017
Engineering" In "Software
Engineering"

Summary

Article Name

Software Development Life Cycle Models and


Methodologies

Description

Software development life cycle (SDLC) is a series


of phases that provide a common understanding
of the software building process.

Author

Mohamed Sami

Publisher Name

https://melsatar.blog

Publisher Logo

 Requirements Engineering, Software Engineering 


Advantages and Disadvantages, Agile, Agile Development, Agile
Model, Application Development Process, Development Models,
Di erent Development Methodologies, Di erent SDLC Stages,
Extreme programming, Incremental Model, Iterative and
Incremental Development, Iterative Model, Process Models, Project
Life Cycle Models, Prototyping, Prototyping Model, Scrum, SDLC,
SDLC Model Selection, SDLC models, SDLC Phases, SDLC Process,


SDLC Process Steps, SDLC Stages, SDLC Steps, SDM, Security SDLC,
Software Deployment, Software Development, Software
Development Life, Software Development Life Cycle, Software
Development Methodologies, Software Development Phases,
Mohamed Sami
Software Development Process, Software Engineering, Software Life
Cycle, Software
PersonalProcess,
websiteSpiral, System
– Software Software Development,
Engineering & Architecture Practices 
Systems Development Life Cycle, The Best SDLC model, The Right
SDLC model, V-Shaped, Waterfall Model
Home  335 Comments
Contact me About me  Need Help?

← Software Security Testing in Choosing the right Software


SDLC development life cycle model →

335 thoughts on “Software Development Life


Cycle Models and Methodologies”

← Older Comments

Software Development Company says:


October 31, 2019 at 12:25 PM

Something is related to software you may be like it


because here are some di erent tips of software
development in digital world.

 Loading...
  0  0  Rate This

Reply
misha kapoor says:
October 11, 2019 at 9:05 AM

Thank you for providing such nice piece of article.


I’m glad to leave a comment. Expect more articles
in the future


 Loading...
  0  0  Rate This

Reply
Mohamed Sami
Shah Maqsood Baberh says:
October
Personal 4, –2019
website at 8:37
Software PM
Engineering & Architecture Practices 
The best and clear, thanks
Home Contact me About me  Need Help?

 Loading...
  1  0  Rate This

Reply
Mohamed Sami says:
October 4, 2019 at 9:39 PM

Thank you Shah

 Loading...
  0  0  Rate This

Reply
sreenivasulu gajula says:
September 27, 2019 at 12:42 PM

what is the di erence between the paradigms and


models

 Loading...
  0  0  Rate This

Reply
Pingback: Software life cycles – Whacky's blog

mirza umair says:


August 20, 2019 at 8:32 AM


i need a book where i can cover all the topics

thanks
 Loading...
Mohamed Sami
  Personal
1   0  website
Rate–This
Software Engineering & Architecture Practices 

Home Contact me
Reply
About me  Need Help?
Mohamed Sami says:
August 20, 2019 at 8:45 AM

You can read this book, it is a great reference


for software engineering practices
https://www.amazon.com/Software-
Engineering-Sommerville-Ian-2015-08-
20/dp/B01N5JMQ7L/ref=asap_bc?ie=UTF8

 Loading...
  1  0  Rate This

Reply
Pingback: How to apply Scaled Agile Framework (SAFe)
to the real projects?

horiya says:
July 28, 2019 at 3:33 PM

can you explain the di erence between models


and methodologies?

 Loading...
  1  0  Rate This

Reply
Mohamed Sami says:
July 29, 2019 at 5:04 PM


Hi Horiya, methodology can be considered as
the approach to achieve speci c objectives or
goals, for example, the steps, tools,
techniques, process and life cycle itself.
Mohamed Sami
The model is a theoretical and simpli ed
abstraction
Personal websiteof things, for
– Software example,
Engineering & car model, Practices
Architecture 
data model, application model. So, you can see
the development process overall as a model
Home Contact me About me  Need Help?
with di erent types. each one has a
methodology of speci c steps, practices, tools,
to achieve this model goal.

I hope this clari es a little bit the di erence.

 Loading...
  1  0  Rate This

Reply
horiya says:
July 30, 2019 at 2:03 PM

Thank you for this clari cation.


So, you are saying that the overall
structure of the development process can
be taken as a model and each model of
SDLC has its own speci cations like steps
and techniques and these speci cations
are called methodologies? and I have
another question…
Are waterfall, agile, lean, and iterative
models, methodologies or are they both?

 Loading...
  0  0  Rate This

Reply
Mohamed Sami says:
July 30, 2019 at 2:12 PM

Hi again, they are mixed because the


model has a common known steps
but the development methodology
can use waterfall as a model but the

Mohamed Sami
steps in use at the project context may
be di– Software
Personal website erent some how, not
Engineering exactly Practices
& Architecture 
typically a waterfall. Please contact me
by email if you need any further
Home Contact me About me  Need Help?
clari cation.

 Loading...
  0  0  Rate This

Reply
Kelvin Ndisi says:
June 25, 2019 at 8:22 PM

whats the di erence between a methodology and


a model? Agile is a methodology or a model?

 Loading...
  0  1  Rate This

Reply
Mohamed Sami says:
July 4, 2019 at 9:53 PM

Hi Kelvin, sorry for late reply. I’m busy these


days. Methodology can be considered as the
approach to achieve speci c objectives or
goals, for example, the steps, tools,
techniques, process and life cycle itself.

The model is a theoretical and simpli ed


abstraction of things, for example, car model,
data model, application model. So, you can see
the development process overall as a model
with di erent types. each one has a


methodology of speci c steps, practices, tools,
to achieve this model goal.

I hope this clari es a little bit the di erence.


Mohamed
 Loading... Sami
  2   website
Personal – Software
0   Rate This Engineering & Architecture Practices 

Home Contact meReply


About me  Need Help?
Pingback: ICTPRG504 – Knowledge Evidence] – matts
technical journal

preeti agarwal says:


April 18, 2019 at 7:27 AM

It is a nice blog. Thanks to give such a valuable


knowledge.

 Loading...
  1  0  Rate This

Reply
Mohamed Sami says:
April 19, 2019 at 12:42 AM

Thank you

 Loading...
  0  0  Rate This

Reply
Pingback: Keep it SAFe and sound: applying principles of
Scaled Agile Framework to the real projects |

← Older Comments

Let me know your thoughts


Mohamed Sami
Enter your comment here...
Personal website – Software Engineering & Architecture Practices 

Home Contact me About me  Need Help?

You might also like