An Economic Analysis of Software Development Process based on Cost Models
Software development process generally includes requirement analysis, design, implementation, and testing phases. The overall process is called Software Development Life Cycle (SDLC). Each of these steps was executed sequentially in earlier times, i.e. the output of a step is used as the input to the following step. This sequential execution is called waterfall process, and since the total duration of SDLC has been increasing, more dynamic models need to be employed in today’s software engineering methodologies. V-Shaped model, Spiral model, Incremental or iterative software development model, are some examples of these methodologies. On the other hand, due to the increase in the total number of projects for a company and due to the product variability, reusability aspect has entered into the domain. This aspect gained importance in the recent years, leading to the execution of framework-based models and software product line engineering process. In this study, the above methodologies are analyzed from an economic perspective with respect to their cost models. Reusability will require upfront investment, but the gain will be higher as the number of common software items increases, which are determined in commonality/variability analysis phase. Improvements in SDLC might also require organizational changes to adapt new methodologies. These considerations are discussed along with the cost model analysis, and a cost-evaluation criterion is provided in the paper.