Litcius/Paper detail

Simulating the Software Development Lifecycle: The Waterfall Model

Antonios Saravanos, Matthew X. Curinga

2023Applied System Innovation40 citationsDOIOpen Access PDF

Abstract

This study employs a simulation-based approach, adapting the waterfall model, to provide estimates for software project and individual phase completion times. Additionally, it pinpoints potential efficiency issues stemming from suboptimal resource levels. We implement our software development lifecycle simulation using SimPy, a Python discrete-event simulation framework. Our model is executed within the context of a software house on 100 projects of varying sizes examining two scenarios. The first provides insight based on an initial set of resources, which reveals the presence of resource bottlenecks, particularly a shortage of programmers for the implementation phase. The second scenario uses a level of resources that would achieve zero-wait time, identified using a stepwise algorithm. The findings illustrate the advantage of using simulations as a safe and effective way to experiment and plan for software development projects. Such simulations allow those managing software development projects to make accurate, evidence-based projections as to phase and project completion times as well as explore the interplay with resources.

Topics & Concepts

Waterfall modelWaterfallComputer sciencePython (programming language)Software developmentSoftwareSoftware engineeringEconomic shortageContext (archaeology)Discrete event simulationResource (disambiguation)Software development processSystems engineeringSimulationEngineeringOperating systemPaleontologyPhilosophyGovernment (linguistics)ArchaeologyBiologyComputer networkHistoryLinguisticsSoftware Engineering Techniques and PracticesSoftware Engineering ResearchSoftware System Performance and Reliability