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.