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 Comparison Between Three SDLC Models Waterfall Model, Spiral Model, and Incremental/Iterative Model
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.
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