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 simulation 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个不同规模的项目进行了执行,并考察了两种场景。第一种场景基于初始资源集提供洞察,揭示了资源瓶颈的存在,特别是实施阶段编程人员的短缺。第二种场景采用一种通过逐步算法确定的资源水平,以实现零等待时间。研究结果显示了利用仿真作为一种安全有效的方式,对软件开发项目进行实验和规划的优越性。此类仿真允许软件开发项目的管理者对阶段和项目完成时间做出准确、有据可依的预测,并探索资源间的相互作用。