top of page

Incremental and Concurrent Development Model

daffaalmerf

Incremental model is a form of evolution from the waterfall model, performing iteration after all processes have finished [1]. The incremental model is a minor modification of the waterfall model but has a major impact on the development process. The modification itself is that the software development is divided into small increments instead of finishing it at once. It is done iteratively by enhancing the quality of the software. As all processes are finished in each iteration, the software is given to the client and provides feedback for the developer. This feedback is used to enhance the performance and features until it has fulfilled the client’s needs.

Figure 1. Incremental Model

Below are the advantages of using the incremental model:


1. Quick development

Software developed quickly during the Software Development Life Cycle (SDLC) since the software is divided into small increments. Small increments have higher flexibility in the development of the software.


2. High frequency of feedback

Small increments of the software allow clients to give feedback in each finished built. Miscommunication between clients and developers could be overcome, causing less cost and risk.


3. Updates

Changes made by the client is possible in each iteration which ease developers to understand what the client needs.


4. Low initial cost

Unlike the waterfall model, small increments allow iterations so that the software is not developed all at once. Therefore, the initial cost to start a software development using this model is low since it is broken down into small increments and keeps on developing in each iteration passed.


The advantages above are interesting, but developers need to consider the disadvantages which are as the followings:


1. Well-planned and well-designed

The incremental model requires clients and developers to plan and design the software development well to prevent misunderstanding. The software then will be broken down into small increments so that the essence of the software itself isn’t on the loose.


2. Having potential towards cost and inefficiency

The flexibility of this model provides a less cost and risky environment in developing software. The flexibility needs to be used wisely. Miscommunication and misunderstanding may lead to more iterations causing higher cost and inefficient time.


Concurrent development model is quite different from the incremental model. The incremental model is performed sequentially while the concurrent development model is performed simultaneously. Instead of having a linear process flow, development processed create a net-like workflow. It derives from the evolutionary process flow.

Figure 2. Concurrent Development Model

In the concurrent development model, each activity has a state and occurs concurrently. Transitions take place when an activity is triggered to move to another state [2]. Usually, these transitions are caused by inconsistencies and improvements. Therefore, concurrent development model can be defined as a series of activities, tasks, and associated states. Below are the advantages of this model:


1. High flexibility

2. New features and designs may be further added

3. Each component occurs simultaneously


Meanwhile, below are the disadvantages of this model:


1. Require a good teamwork

2. Least-planned design

3. Frequent errors and miscommunication during a process may trigger disruption in other states


This model is also known as the client-server model. It provides two different dimensions which are the system and component dimension [3]. The system dimension includes three activities: design, assembly, and use. Meanwhile, the component dimension includes two activities: design and realization. Clients consult their needs to developers. Developers then design the software. After designing, designs are being assembled and constructed. Then, developers implement the software to the clients.


References


[1] A. Alshamrani and A. Bahattab, "A Comparison Between Three SDLC Models Waterfall Model, Spiral Model, and Incremental/Iterative Model", International Journal of Computer Science Issues, vol. 12, no. 1, 2015 [Online]. Available: http://www.ijcsi.org/papers/IJCSI-12-1-1-106-111.pdf. [Accessed: 11- Sep- 2019]

[2] R. Pressman, Software Engineering: A Practitioner's Approach, 7th ed. New York: McGraw-Hill, 2010 [Online]. Available: http://dinus.ac.id/repository/docs/ajar/RPL-7th_ed_software_engineering_a_practitioners_approach_by_roger_s._pressman_.pdf. [Accessed: 12- Sep- 2019]

[3] A. Tucker, Computer Science Handbook, 2nd ed. Boca Raton: CRC Press, 2004 [Online]. Available:

https://books.google.co.id/books?id=hNLKBQAAQBAJ&pg=SA99-PA236&lpg=SA99- PA236&dq=system+and+component+dimension+client+server+system&source=bl&ots=5pbEq08wQl&sig=ACfU3U28JqnLiYrQG_VfW6fa59KCUfZWuA&hl=ban&sa=X&ved=2ahUKEwjf0JSL4M7kAhWOiHAKHTKgA94Q6AEwC3oECAkQAQ#v=onepage&q=system%20and%20component%20dimension%20client%20server%20system&f=false. [Accessed: 13- Sep- 2019]

880 views0 comments

Recent Posts

See All

Comments


Interested in our newsletter?

Thanks, stay tune!

© 2023 by ENERGY FLASH. Proudly created with Wix.com

bottom of page