# On Fuzzy and Case-Based Dynamic Software Development Process Modeling and Simulation Approach
## 5 A Case Study
### ANFIS in SDP Simulation  
In this step, we loaded a HF dataset into ANFIS and performed FIM optimization. For this stage, we generated a dataset with all possible combinations of HF parameter values. We took possible values for three HF parameters and assigned possible deviations from the estimated task execution time value. These possible deviations are values that show how the initial parameter values (in columns 1-3) could vary because of HF influence. For example: if employee motivation, experience, and availability are low, the possible deviation value from the estimated task execution time is 1. In Table 3, a snapshot of input values is presented. Table 4 presents experts' opinions, in numbers, on the possible deviations according to the HF values from Table 3. These experts were selected from various role groups as follows: four project managers (\(ex_{1}\)-\(ex_{4}\)) and four specialists--developers, analysts, and quality assurance specialists (\(ex_{5}\)-\(ex_{8}\)). Experts were interviewed to determine the importance of the attributes presented, after which findings were processed [51]. The correctness of expert answers was determined, and the results were acceptable. For the prediction of possible deviations in HF values, we used all possible combinations for the values of the three described HF factors (motivation, experience, and availability). All possible values were contained in 125 rows, so we divided the dataset and took 70% of the data for training, 15% for testing, and 15% for checking. ANFIS hyper-parameters for optimization with crisp data are shown in Table 5. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Numeric Value** & **Possible Deviation Value** & **Explanation** \\ \hline
[1; 2) & Very high & 30\% above estimated time \\
[2; 3) & High & 20\% above estimated time \\
[3; 4) & Moderate & 10\% above estimated time \\
[4; 5) & Low & No deviation from estimated \\
5 & None & 10\% below estimated time \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Possible deviation explanation according to numeric value. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Motivation** & **Experience** & **Availability** & **Possible Deviation** \\ \hline
2 & 1 & 1 & 1.3333 \\
3 & 1 & 1 & 1.6667 \\
4 & 1 & 1 & 2 \\
5 & 1 & 1 & 2.3333 \\
1 & 2 & 1 & 1.3333 \\
2 & 2 & 1 & 1.6667 \\
3 & 2 & 1 & 2.3333 \\
4 & 2  
Fuzzification and MFs are obtained from the input data in Layer 1 (Motivation, Experience, and Availability). Each MF is shown as an adaptable node, as can be seen in Figure 4. By compiling all feasible MF pair combinations, the fuzzy rules are created, and Layer 2 of the ANFIS network is formed. As a result, we now have 27 pairs of three inputs. The rule strengths are provided as non-adaptive nodes in Layer 3 after being adjusted. Moreover, in Layer 4, defuzzification is performed, and fuzzy rules are applied by adopting each node. The summation layer, or Layer 5, contains a single, fixed, non-adaptive output of the whole ANFIS network that has been obtained. The Fuzzy Inference Controller's 27 fuzzy rules and MF parameters are then put into ANFIS. As a result, those MF parameters and fuzzy rules from FIS are optimized in ANFIS using objective, precise data. Following this optimization, the fuzzy rules and optimized parameters are retransmitted to the Fuzzy Inference Controller. The Fuzzy Inference Controller also performs inference using the optimized MF parameters and fuzzy rules.