A Comparison Between Three SDLC Models Waterfall Model, Spiral Model, and Incremental/Iterative Model
A Comparison Between Three SDLC Models Waterfall Model, Spiral Model, and Incremental/Iterative Model
A Comprehensive St udy of Commonly Pract iced Heavy and Light Weight Soft ware Met hodolo…
Prof. Dr. Rizwan Qureshi
A Comparat ive St udy of Universally Accept ed SDLC Models for Soft ware Development
Int ernat ional Journal of Scient ific Research in Science and Technology IJSRST, Madhup Kumar
IJCSI International Journal of Computer Science Issues, Volume 12, Issue 1, No 1, January 2015
ISSN (Print): 1694-0814 | ISSN (Online): 1694-0784
www.IJCSI.org 106
conceptual schema, logical diagram design, and data 4. Iterative and Incremental Model
structure definition [4, 5].
3. Coding: In this phase the whole requirements will be This model combines elements of the waterfall model in
converted to the production environment. an iterative fashion. Moreover, each linear sequence
4. Testing: This phase deals with the real testing and produces deliverable increments of the software. The basic
checking of the software solutions that have been requirements are addressed in the first increment, and it is
developed to meet the original requirements. Also, it the core product, however, many supplementary features
is the phase where the bugs and system glitches are (some known, others unknown) remain undeliverable at
found, fixed up, and refined. this increment. This model constructs a partial
5. Maintenance: After the software is already released, it implementation of a total system. Then, it slowly adds
may need some modifications, improvements, errors increased functionality. Therefore, each subsequent
correction, and refinement accordingly. Thus, this release will add a function to the previous one until all
phase is the process of taking care of such concerns. designed functionalities are implemented [7, 8, 9, 10].
Table 1: Strengths and Weaknesses Comparison of Waterfall, Spiral, Incremental SDLC Models.
Waterfall Easy to understand and implement. All requirements must be known upfront When quality is more
Widely used and known. Inflexible. important than cost or
Define before design, and design before Backing up to solve mistakes is difficult, schedule.
coding. once an application is in When requirements
Being a linear model, it is very simple to the testing stage, it is very difficult to go are very well known,
implement. back and change something that was not clear, and fixed.
Works well on mature products and provides well-thought out in the concept stage. New version of existing
structure to inexperienced teams. A non-documentation deliverable only product is needed.
Minimizes planning overhead. produced at the final phase. Porting an existing
Phases are processed and completed one at a Client may not be clear about what they product to a new
time. want and what is needed. platform
Customers may have little opportunity to
preview the system until it may be too
late.
It is not a preferred model for complex
and object-oriented projects.
High amounts of risk and uncertainty,
thus, small changes or errors that arise in
the completed software may cause a lot
of problems.
Spiral High amount of risk analysis. Cost involved in this model is usually For medium to high-
Software is produced early in the software life high. risk projects.
cycle. Risk assessment expertise is required.
Strong approval and documentation control. Amount documentation required in When risk evaluation
Additional functionality can be added at a later intermediate stages makes management and costs
date. of a project very complex. are important.
Project monitoring is very easy and effective. Time spent for evaluating risks for small
Concerned people of a project can early review or low-risk projects may be too large. When significant
each phase and each loop as well because of Time spent for planning, resetting changes are expected.
rapid prototyping tools. objectives, doing risk analysis, and
Early and frequent feedback from users prototyping may be excessive. When users are not
Suitable to develop a highly customized Project’s success is highly dependent on exactly sure what
product. the risk analysis phase. their needs.
Provides early indication of insurmountable
risks.
Incremental/ Develop high-risk or major functions first. Requires good planning and design. On low to medium-risk
Risk is spread across smaller increments instead Requires early definition of a complete projects.
Iterative.
of concentrating in one large development. and fully functional system to allow for A need to get basic
Lessons learned at the end of each incremental the definition of increments. functionality to the
delivery can result in positive revisions for the The model does not allow for iterations market early
next increment. within each increment. On projects which have
Customers get important functionality early, and lengthy development
have an opportunity to respond to each build. schedules.
Each release delivers an operational product. On a project with new
Initial product delivery is faster. technology, allowing
Reduces the risk of failure and changing the the user to adjust to the
requirements. system in smaller
incremental steps rather
than leaping to a major
new product.
When it is high risky to
develop the whole
system at once.
Specification of All Yes Not all and Frequently Changed Not all and Frequently
the Requirements in the beginning Changed
Customer Involvement Low Low, After Each Iteration High, After Each Iteration
References
[1] www.en.wikipedia.org/wiki/Systems_development_life-
cycle
[2] http://www.craiglarman.com/wiki/downloads/misc/history-
of-iterative-larman-and-basili-ieee-computer.pdf
[3] Craig Larman and Victor Basili, “Iterative and Incremental
Development: A Brief History”, IEEE Computer, 2003.
[4] Y. Bassil “A simulation model for the waterfall software
development life cycle. International Journal of Engineering &
Technology”, 2(5): 1-7, 2012.
[5] Nabil Mohammed Ali Munassar and A. Govardhan, “A
Comparison Between Five Models Of Software Engineering”,
IJCSI International Journal of Computer Science Issues, Vol. 7,
Issue 5, , pp. 94 – 101, September 2010.
[6] Ashwini Majumdar, Gayatri Masiwal, P.M.Chawan,
“Analysis of Various Software Process Models” International
Journal of Engineering Research and Applications, Vol. 2, No.
3, 2012, pp. 2015-2021.
[7] N. Munassar and A. Govardhan, “A Comparison Between
Five Models Of Software Engineering”, IJCSI International
Journal of Computer Science Issues, vol. 7, no. 5, 2010.
[8] Ian Sommerville, Software Engineering, Addison Wesley,
9th ed., 2010.
[9] Jim Hurst, “Comparing Software Development Life Cycles,”
SANNS Software Security, 2014.
[10] Sanjana Taya and Shaveta Gupta, “Comparative Analysis
of Software Development Life Cycle Models,” IJCST Vol. 2, Iss
ue 4, Oct . - Dec. 2011