What is the life cycle exemplar for software product includes: requirements, design, construction, testing, and maintenance. This typical example applies to every product and not just the software ones. A tangible product also goes through the same life-cycle. And we know that maintenance is an integral part of a product’s life-cycle. In terms of a software product however, it has failed to historically receive the same degree of attention as the other phases. Traditionally speaking, development has had a much higher level of importance compared to that of maintenance in most organizations.
Major organizations today strive to juice out the most out of their development investments by keeping the software up and running for as long as possible. Remember the time when the world was threatened by the ‘Millennium bug’ or the Y2k (Year 2000)?
When writing complicated computer programs, computer engineers used two-digit code to write the year during the 1960s through the 1980s. The “19” was left out. Instead of a date reading 1990, it read 90. As the year 2000 came near, the computer programmers were struck with a realization that computers might not interpret ‘00’ as 2000, but as 1900. Those activities that were programmed on a daily or yearly basis would be damaged.
Australia at that time,invested millions of dollars in preparing for the Y2K bug and recalled almost its entire embassy staff from Russia prior to January 1, 2000, over fears of what might happen. From that point on, software maintenance took the express lane to triumph.
What is software maintenance?
By the means of simple definition, software maintenance is the work that is carried out on a software system once after it has become operational. This can include: understanding and documenting existing systems; extending existing functions; adding new functions; finding and correcting bugs; answering questions for users and operations staff; training new systems staff; rewriting, restructuring, converting and purging software; managing the software of an operational system etc. These functions vary with respect to various organizations.
Once the software product has been delivered successfully, the maintenance phase kicks in. Software maintenance is something that should be considered seriously by enterprises as the maintenance costs can be several times higher than the costs during the development. This costs can rise if the product has prolonged life.
Types of Front-end support activities
- Software problem management
- Participate in change management process
- Quality Control
- Technical Support
- Education and Training of customers
- Self-education and training
- Preventive maintenance
- Passive Requirements Elicitation
- Active Requirements Elicitation
- Monitoring the process
- Measure customer satisfaction
- Managing emergency cases
- Managing disaster recovery
- Manage customer profile
Knowledge is the most crucial aspect in software product maintenance and support services. Solving targeted problems require profound understanding of distinctive details that are relevant for that problem. These details can be of any type: details about software product like features, known bugs, etc, details about the hardware like disk drives, monitors, networks, etc, details about compatibility with other software business information systems, operating systems, telecommunications, etc, so on and so forth.