IEEE Access (Jan 2024)
Using Axiomatic Design and Fuzzy Axiomatic Design for Risk Management in Software Development
Abstract
The software development process is a type of structural approach, also called the software development life cycle, that includes many different steps including planning, requirements analysis, design, implementation, testing, deployment and maintenance, and guides the developer team from start to finish, covering the stages to meet the end user’s needs and quality standards. The choice between agile and traditional software development life cycle (SDLC) methods significantly impacts the software development process, and developers must carefully consider which method to use to achieve a high-quality and sustainable end product. There are numerous SDLC models available and project managers and team members often select a model based on past experience rather than logical and rational decision-making process that can result in negative consequences, including software failures and budget overruns. To address these challenges, we chose to compare method selection between traditional and agile software development methodologies using Axiomatic Design (AD). AD provides a systematic and structured approach that takes into account the independence of functional requirements and allows for an explicit and mathematical evaluation of the properties of alternatives in decision problems. Our paper presents an objective and mathematical roadmap for selecting the appropriate SDLC model based on AD principles.
Keywords