# Simulating the Software Development Lifecycle: The Waterfall Model
## 4 Results
Large-sized projects, which required a greater number of the respective resources to initiate their phases, experienced the greatest number of delays as well as the greatest wait times for resources. These findings would strongly advocate for the development of targeted strategies, with an emphasis on the implementation and design phases, and their respective resources, to substantially mitigate delays and decrease wait times across the board. We ran a second simulation using a stepwise algorithm to identify and set resources to a level that resulted in zero-wait times. Simulation cycles ran recursively until there were no delays for any resources for a certain number of iterations (i.e., three). When a delay occurred, the total number of the resource which was lacking was incremented by one. In total, 40 runs of the simulation were required. For the analysis phase, it was identified that 15 analysts would be needed, in lieu of the initially speculated 5, to address the earlier identified delays. With respect to the design phase, the designer count was raised from 5 to 18. Successively, we examined the implementation phase; the number of programmers was substantially increased from 10 to 38. The next phase to be examined was testing. We ascertained that the necessary number of testers was 49, rather than the original number of 20 testers. Lastly, the originally proposed level of 5 maintenance personnel for the maintenance phase was increased to 10. These values are summarized in Table 7. \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multirow{2}{*}{**Phase**} & \multirow{2}{*}{**Resource**} & \multicolumn{3}{c}{**Number of Delays**} & \multicolumn{3}{c}{**Mean Wait Time**} \\  & & & & & **for Resource** & \\ \hline  & & Small & Medium & Large & Small & Medium & Large \\ \hline Analysis & Analyst(s) & 1.000 & 1.000 & 5.000 & 0.010 & 0.069 & 0.388 \\ Design & Designer(s) & 6.000 & 8.000 & 17.000 & 0.525 & 0.380 & 1.030 \\ Implementation & Programmer(s) & 21.000 & 26.000 & 34.000 & 5.344 & 7.422 & 9.707 \\ Testing & Tester(s) & 2.000 & 2.000 & 10.000 & 0.111 & 0.120 & 0.796 \\ Maintenance & Maintenance personnel & 0.000 & 0.000 & 0.000 & 0.000 & 0.000 & 0.000 \\ \hline All phases & All resources & 30.000 & 37.000 & 66.000 & 1.250 & 1.799 & 2.728 \\ \hline \hline \end{tabular} Note: Units for mean wait time represent simulated units of time.  
\end{table} 
Table 6: Count of the number of times that a resource is unavailable for use as well as the mean wait time to acquire that resource in Scenario 1. \begin{table}
\begin{tabular}{c c c c} \hline \hline \multirow{2}{*}{**Phase**} & \multirow{2}{*}{**Resource**} & \multicolumn{2}{c}{**Scenario 1**} & \multicolumn{1}{c}{**Scenario 2**} \\  & & **(Intuition)** & **(Zero-Wait)** \\ \hline Analysis & Analyst(s) & 5 & 15 \\ Design & Designer(s) & 5 & 18 \\ Implementation & Programmer(s) & 10 & 38 \\ Testing & Tester(s) & 20 & 49 \\ Maintenance & Maintenance personnel & 5 & 10 \\ \hline \hline \end{tabular}
\end{table} 
Table 7: Number of original and optimized resources as well as their corresponding phases. The second scenario, after adjusting the number of resources in each phase to achieve zero-wait, took 5754.000 units of time to complete. Indeed, we observe that there are no longer any delays to procure respective resources, as can be seen in Table 8, which lists the number of times a delay occurred, as well as the maximum, mean, and standard deviation of wait times for resources across iterations by size of project. The simulation also provided insight regarding project durations; the findings are presented in Table 9 which follows. Overall, we see the fastest project in the second scenario (zero-wait) being completed in 33.000 units of time, this being a large-sized project. The longest project took 168.000 units of time, once again, a large-sized project. The mean completion time for projects for Scenario 2 irrespective of size was 57.540 units of time.