Simulating the Software Development Lifecycle: The Waterfall Model

08/07/2023
by   Antonios Saravanos, et al.
0

(1) Background: This study employs a simulation-based approach, adapting the waterfall model, to provides estimates for projects and individual phase completion times. Additionally, it pin-points potential efficiency issues stemming from a suboptimal resource level. It further demonstrates how one can go on to identify a resource level that effectively eliminates bottlenecks and curtails the idle time of resources. (2) Methods: We implement our software development lifecycle using SimPy, a discrete-event simulation framework written in Python. Our model is executed on 100 projects of varying sizes over three stages. The first, pre-optimization, provides insight based on the initial set of resources. This is followed by the optimization stage, which serves to identify the optimal number of resources to eliminate bottlenecks and minimize idle time. The third stage, post-optimization, evaluates the resource optimized model. (3) Results: The analysis of the simulation-generated data reveals the presence of resource bottlenecks during the pre-optimization stage, particularly in the implementation phase. These dissipate after optimization. (4) Conclusions: The findings emphasize the advantage of using simulation as a safe and effective way to experiment and plan for software development projects. Such simulations also allow those man-aging software development projects to make accurate, evidence-based projections as to phase and project completion times and identify optimal resource levels and their interplay. In particular, understanding the tradeoffs between experiencing delayed completion times and procuring additional resources to alleviate any bottlenecks.

READ FULL TEXT

page 9

page 20

research
02/28/2021

Architectural Challenges in Migrating Plan-driven Projects to Agile

Software development has steadily embraced agile software development me...
research
05/23/2021

What can developers' messages tell us? A psycholinguistic analysis of Jazz teams' attitudes and behavior patterns

Reports that communication and behavioral issues contribute to inadequat...
research
09/19/2020

Dynamic Scheduling and Workforce Assignment in Open Source Software Development

A novel modeling framework is proposed for dynamic scheduling of project...
research
09/24/2022

Systematic Mapping Protocol – Agile strategies for software development according to technical and environmental complexity factors

Software development projects management is a complex endeavor because i...
research
04/30/2023

Containerization of a polyglot microservice application using Docker and Kubernetes

This project investigates the benefits of containerization technology in...
research
03/13/2023

Automatic Identification and Extraction of Assumptions on GitHub

In software development, due to the lack of knowledge or information, ti...
research
05/08/2023

FlaPy: Mining Flaky Python Tests at Scale

Flaky tests obstruct software development, and studying and proposing mi...

Please sign up or login with your details

Forgot password? Click here to reset