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.
翻译:本研究采用基于仿真的方法,适配瀑布模型,对软件项目及各个阶段的完成时间进行预估。同时,它指出了因资源水平欠佳可能导致的效率问题。我们利用SimPy(一种基于Python的离散事件仿真框架)实现了软件开发生命周期仿真。我们的模型在软件公司的背景下运行,涉及100个不同规模的项目,考察了两种情景。第一种情景基于初始资源集提供见解,揭示了资源瓶颈的存在,特别是实施阶段程序员的短缺。第二种情景采用通过逐步算法确定的、可实现零等待时间的资源水平。研究结果展示了利用仿真作为安全有效的实验和规划手段的优势,用于软件项目。此类仿真使软件项目管理方能够就阶段和项目完成时间做出准确、基于证据的预测,并探索资源与项目之间的相互作用。