Schedule: The software maintenance schedule can have an impact on software development and software quality. Overly frequent maintenance may cause development delays or possibly program instability. On the other side, if maintenance is performed infrequently, bugs and other issues may build up, increasing the probability of software failure.
Izquierdo-Cortazar et al. (2011) investigated the effect of corrective maintenance on software development. The process of finding, analyzing, and repairing problems or faults in software programs is referred to as corrective maintenance. It emphasized the importance of early detection and rectification of issues in order to keep the project on schedule. Bugs that are discovered early can be corrected before they cause major delays. On the other side, if defects go unnoticed for an extended period of time, they might pose substantial issues that cause significant delays in the project schedule. The researchers employed a case study approach to perform the study and analyzed data from a software development project that required corrective maintenance. They analyzed project data and ran computer simulations to examine the influence of various corrective maintenance procedures on schedules for the project .
Similarly, Edward E. Ogheneovo(2016) explored the relationship between software complexity and maintenance costs. Specifically, the study aims to investigate whether there is a positive relationship between software complexity and maintenance costs, and to identify the factors that contribute to this relationship. The study focuses on software systems developed using the Object-Oriented Programming (OOP) paradigm, which is widely used in modern software development.
Ogheneovo conducted the study by analyzing data from five software systems built by a single organization. He measured the complexity of software systems using many software complexity metrics, such as the number of classes, the number of methods, and the depth of inheritance. He also gathered information on the maintenance costs for each software system, such as the number of repair requests and the time and effort required to complete each one. The research emphasizes the significance of smart software design in reducing software complexity and lowering maintenance costs. Modularization and encapsulation are two design principles that software development organizations can use to reduce reliance among software components and simplify program development and maintenance .
The authors define software complexity as the difficulty of understanding and modifying a software system. They claim that complicated software is more expensive to maintain since it demands more effort and time to comprehend, modify, and test. The authors studied a sample of COBOL programs from three distinct organizations. To assess the program’s complexity, they utilized a statistic known as cyclomatic complexity. They also gathered information on the program’s maintenance expenditures, such as the time spent on maintenance, the number of lines of code updated, and the number of errors made during maintenance. Figure 2 depicts the costs of fixing bugs in a typical software life cycle. The cost of fixing bugs in the maintenance stage looks to be substantially higher than the cost of fixing issues in all other stages combined, as seen in the figure. As a result, there is a need to properly build software by having solid design and ensuring that the software is fully tested to remove flaws as much as possible before the product is published to the market or customers in order to lower the expenses of maintaining the software.