# On Fuzzy and Case-Based Dynamic Software Development Process Modeling and Simulation Approach
## 1 Introduction  
The software development process (SDP) is complex, dynamic [1], and knowledge-intensive [2] by its nature, and it is affected by a dynamically changing environment. Examples of such dynamic changes of environment include regulatory adaptations (e.g., changes in raw material prices), market evolution (e.g., stock price change), changes in customer behavior (e.g., rapid change in customer needs), process improvement, and policy shifts and exceptions. Existing approaches used to model, simulate, and adopt SDPs with regard to these changes insufficiently over the actual needs of businesses. Increasing numbers of authors are discussing the inadequate planning that causes the failure of software projects [3]. The reasons for these failures are investigated via different approaches. Some authors have already investigated possible influential factors in Agile or other software projects. For example, [4] emphasized such factors as national culture, organizational culture, and collaborative work environment as being influential regarding Agile adoption. Meanwhile, [5] considered the social and human factors that impact SDP and productivity. Their research was based on a survey and aimed to gather information on the perceptions of software development teams regarding the social factors that influence productivity. This information was then compared with the different variables of the software developers themselves. From this perspective, social and human factors play a significant role in the SDP and can influence the performance of the development team [6, 7]. Those factors can be considered characteristics of an individual based on their behaviors from both a social and individual perspective. This also can be seen from the Chaos Report [8], which indicates that the number of successful projects increases slightly from year to year [9]. Thus, there is a need in the area of SDP simulation, which allows us to view the SDP as a dynamic and knowledge-intensive business process (BP) that is highly dependent on human factors and business needs. In the literature, different BP modeling techniques can be observed based on different viewpoints. The most widely known are: (1) Business Process Modeling Notation (BPMN) [10]; (2) a flow chart [10]; (3) a Petri Net [10]; (4) rich pictures [11]; and (5) a Gantt chart [11]. However, since the SDP does not require a strictly predefined process flow, instead requiring that employees have access to all of the information relevant to a particular case and the freedom to make decisions [12], a case-handling approach is appropriate for this kind of process modeling. This approach also focuses on what can be done to achieve a predefined process goal rather than using a predefined workflow of the process that corresponds to the Agile work principle [13]. A case-handling approach is implemented in the Case Management Model and Notation (CMMN) [13]. Fuzzy logic offers a useful approach when modeling application domains requiring the incorporation of subjective information and significant uncertainties [14]. This approach is already used for software cost estimation, when solving the software effort estimation problem [15], or to make decisions in information security management for software-defined networks. The human factor (HF) is becoming a thoroughly discussed topic in different subject areas as it has a significant influence on different processes. Because calculating and predicting the influence of the HF is difficult and can differ according to subject areas, in this research we are going to use fuzzy logic to express HFs when simulating the SDP. Simulation in various complex BPs is already applied by organizations seeking to optimize long-established workflows [16]. BP simulation allows process executors to see a complete picture of the simulated process (i.e., the interdependencies of activities, the conditions for the execution of activities, and possible crashes or downtime locations). SDP simulation can help to plan the SDP and reduce its chance of failure.