09 August 2013
Software Maintenance and System Maintenance: Critical to the Value of an Application
It is very easy for people without IT or software development experience to imagine that such careers are spent diligently typing away in front of the glow of a monitor, bringing innovative software into existence with almost magical ease. In fact, many job profiles for software positions tend to feed into this perception. However, it is inaccurate on two counts:
- New software development is only part of the job, and the purpose of software is to reduce effort, not add to it.
- The rest of development time is dedicated to software maintenance and system maintenance, ensuring that existing software is running well and fulfilling its functions.
Software Development Lifecycle (SDLC)
The key to understanding software development is to realize that it is not a write once and walk away activity; it can actually be likened to raising and caring for a living thing. Not surprisingly, the methodologies for managing software projects fall under an umbrella called the Software Development Lifecycle (SDLC).
The SDLC takes many forms – Waterfall, Scrum, Iterative, Lean, Extreme, etc. – all of which involve a different pace and different idea of how to convert customer requirements into a living, value-creating system. What they all have in common, however, is that they are based on the understanding that software grows organically.
Software is Dynamic
When an organization decides to use a software application in order to aid it in its goals, it is not only paying for a raw collection of bits. Rather, it is paying for the foundation of a solution tailored to its business goals, with the ability to remove the hidden obstacles to growth.
Of course, there is a great deal of “off-the-shelf” software that can solve specific business needs, but such software virtually always comes with its own maintenance needs and requires an ongoing relationship with the vendor.
In any case, the organization must understand that the long term value of the software comes from its ability to adapt to changing business requirements and continue to deliver value in a highly dynamic world.