Nuances of Software Maintenance
The life of your software does not end when it finally launches. In reality, its life has just begun.
Software is always evolving and it is never finished as long as it is used. No matter the motivation, software change is vital for the evolution and success of it.
There are four categories of software change:
... most commonly referred to as “bugs,” is the most typical change associated with maintenance work...
... is triggered by changes in the environment your software lives in. An adaptive change can be triggered by changes to the operating system, hardware, software dependencies and even organizational business rules and policies..
... refers to the evolution of requirements and features in your existing system. As your software gets exposed to users they will think of different ways to expand the system ...
... refer to changes made to increase the understanding and maintainability of your software in the long run...
Software Maintenance is an essential part of the software development life cycle; it is necessary for the success and evolution of your system.
What is software development?
... is the process of developing software through successive phases in an orderly way ... writing of code ... preparation of requirements and objectives ... the design ... meeting the objectives.
Typical phases of software development:
1) Identification of required software
2) Analysis of the software requirements
3) Detailed specification of the software requirements
4) Software design
In general, the development of commercial software is usually a result of demand in the marketplace, while enterprise software development generally arises from a need or a problem within the enterprise environment.