# On Fuzzy and Case-Based Dynamic Software Development Process Modeling and Simulation Approach
## 5 A Case Study
### Experiment Data  
Firstly, we detailed which roles are the most important and necessary for an Agile SDP. These roles are: IT analyst (_analyst_ in input file); product owner (_po_ in input file); scrum master (_sm_ in input file); quality assurance specialist (_tester_ in input file); and developer (_developer_ in input file). An example of the input data is presented in Table 1. The order  
Figure 2: The architecture of an SDP simulation model. of tasks in an SDP must be listed so that it is clear which task has a higher priority and must be performed at an earlier stage of the process. The estimation column represents how much agent resources are required in order to complete the task. The role column assigned to each task means that this task can only be performed by this role. The role-agent mapping table is also an input (see Table 2). The second input file provides a list of agents and their number. Each agent has their own role, which means that this agent can do only those tasks assigned to their role (from Table 1). In this list, it is also necessary to specify all agents' HFs and provide a value for every factor from 1 to 5 (Excellent (5), Good (4), Moderate (3), Low (2), None (1)). For the experiment in this study, we used randomly generated input data based on a theoretical description of an SDP and practical experiences. The execution of the entire SDP in the company could involve many different roles, between which tasks are divided at different stages. Because of the case model, that shows which tasks and stages can be started dynamically and which can be started consistently, the distribution of tasks between roles can allow for maximum optimization, execution time, and choice of resources regarding the SDP. The main SDP roles are scrum master, product owner, analyst, developer, and tester. All SDP tasks and roles are mapped between them to assign all SDP activities to the appropriate role. During the experiment, the input data had to be examined and systematized. To simulate the CMMN model of the SDP, it is important to identify the execution time for each task. It is impossible to assess precisely and in detail the tasks of each SDP implementation activity as they strongly depend on the subject area in which the SDP takes place. Each subject has its own specifics which are relevant only to specific aspects, and this has a direct effect on the time it takes to execute a task. All of the agents involved in the simulation are brought together and assigned roles, according to which SDP tasks are then assigned. It is necessary to have all roles in order to successfully complete a process simulation, as not performing a particular task does not allow the whole simulation case to be completed. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Name** & **Order** & **Estimation** & **Role** \\ \hline create product backlog & 1 & 2 & po \\ sprint planning & 1 & 2 & sm \\ design & 1 & 4 & analyst \\ develop & 1 & 10 & developer \\ test & 1 & 3 & tester \\ deploy & 1 & 2 & developer \\ review & 1 & 1 & developer \\ daily scrum & 1 & 1 & developer \\ launch sprint & 1 & 1 & developer \\ sprint review & 1 & 2 & sm \\ sprint retrospective & 1 & 2 & sm \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Input data example. \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Name** & **Role** & **Motivation** & **Experience** & **Availability** \\ \hline Agent 1 & analyst & 1 & 4 & 3 \\ Agent 2 & po & 3 & 5 & 4 \\ Agent 3 & tester & 1 & 2 & 4 \\ Agent 4 & sm & 1 & 4 & 4 \\ Agent 5 & developer & 2 & 4 & 1 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: An example role-agent mapping and agent specifying table. The simulation also includes the priorities for each task, the estimated execution times, and the role of the agent or agents that will be able to perform the task. Agents with different roles can also perform the same tasks depending on their experience or competence. According to the agent, it is also possible to reduce or increase the scheduled execution time of the task.