By the end of this chapter, you will be able to:
Mastering these skills will help you keep computer systems reliable and efficient—an essential part of any modern workplace.
Computer software maintenance is a critical responsibility for ICT technicians in Kenya, ensuring that software systems remain efficient, secure, and aligned with user requirements. This chapter explores the systematic approach to maintaining computer software, focusing on how to plan, schedule, and execute maintenance activities. In dynamic environments such as county government offices or banking institutions, timely software maintenance mitigates risks of downtime and data breaches, supporting seamless service delivery. Understanding software maintenance schedules and updates equips ICT technicians with the tools to enhance system reliability and user satisfaction.
Developing a software maintenance schedule is foundational for effective management of the software lifecycle in professional ICT settings. It involves planning maintenance activities to anticipate and resolve software issues proactively. For example, in a university's IT department, a well-structured maintenance schedule minimises disruptions during critical academic periods such as examinations and registration. This section covers the nature of software maintenance, how to prepare a maintenance schedule, the types of maintenance, and the role of updates in sustaining software health.
Software maintenance refers to the modifications and updates applied to software after its initial deployment to correct faults, improve performance, or adapt it to a changed environment. This activity is essential because software systems evolve due to changing user needs, operating environments, or emerging security threats. In a public hospital, for instance, software maintenance ensures that the patient management system remains compliant with new health reporting requirements and compatible with updated medical devices. The process extends the useful life of software and protects investments in IT infrastructure.
Software that is not maintained gradually becomes slow, insecure and incompatible with the equipment around it. Regular maintenance keeps systems reliable, protects data and lets an organisation get full value from the software it has paid for. For example, a SACCO that maintains its member records system regularly avoids sudden failures on days when members queue to make deposits.
The main reasons software maintenance is important are:
Impact on organisational efficiency: effective software maintenance reduces system downtime, improves user satisfaction and safeguards data integrity. For example, a retail business using point-of-sale software benefits from maintenance that prevents transaction errors and supports new payment methods, maintaining customer trust and the flow of work.
Preparing a software maintenance schedule involves planning maintenance tasks on a structured timeline so that interventions happen on time without disrupting critical operations. The schedule guides ICT technicians in managing workloads and allocating resources. In a county government office, where several applications support service delivery, a maintenance schedule coordinates updates so that two activities do not clash or take down the same service at once.
The table below is an illustration of how entries in a schedule can be laid out for a small organisation. Real frequencies depend on the criticality of each system and the vendor's advice.
| Software | Maintenance activity | Frequency | Preferred window |
|---|---|---|---|
| Antivirus | Virus definition update | Daily, automatic | Early morning, before work starts |
| Operating system | Security updates after testing | Monthly | Weekend night |
| Accounting package | Data backup, then patch installation | Weekly backup, patches as released | After closing time |
| Device drivers | Check and update for faulty devices | Quarterly or when a fault appears | Off-peak hours |
| Office applications | Version upgrade | Yearly, when planned | School or office holidays |
| Name | Specification | Use |
|---|---|---|
| Calendar applications | Shared calendar with reminders, available in common office suites and web services | Reserve maintenance windows and remind technicians and users |
| Project management software | Task boards or timelines | Assign tasks, track progress and show deadlines |
| Automated maintenance systems | Software that triggers updates and backups on set times | Run routine updates and backups without manual intervention |
Software maintenance does not always run smoothly, and technicians must plan for the obstacles that can delay or reduce the quality of the work. Understanding these challenges helps in preparing realistic schedules and in justifying maintenance budgets to management.
Software maintenance encompasses various activities that address different aspects of software evolution and support. Recognising these types helps ICT technicians apply the appropriate intervention efficiently and plan the right amount of time and budget for it. ICT teams in universities, hospitals or banks encounter all of these types in their routine responsibilities.
Adaptive maintenance involves modifying software so that it remains compatible with a changing environment, such as new hardware, a new operating system version or changed business rules. The software's function stays the same, but the way it connects with its surroundings is adjusted. Example: a cooperative society updating its client management software so that it runs correctly on the latest version of its operating system is carrying out adaptive maintenance.
Perfective maintenance enhances existing software by improving performance, usability or adding minor features, without altering its core functionality. It responds to user requests and to opportunities for improvement rather than to faults. Example: a retail company optimising its inventory software so that stock queries return faster, or adding a new report layout, demonstrates perfective maintenance.
Preventive maintenance anticipates potential problems by making changes that reduce the chance of future faults. It includes restructuring code to make it easier to maintain, updating security settings, cleaning up databases and checking backups. Example: a hotel's booking system undergoing a security review and a database clean-up before the busy tourist season, so that it is protected against cyber-attacks and slow performance, reflects preventive maintenance.
Corrective maintenance focuses on fixing identified faults or bugs so that the software returns to its intended working state. It is carried out after a fault has been reported or detected. Example: a hospital's patient record system may require corrective maintenance to resolve data entry errors caused by a software glitch.
Emergency maintenance is a form of corrective work that addresses critical issues causing system failures or security breaches and needing immediate attention, outside the normal schedule. An example is a SACCO's online banking platform receiving an urgent patch after a vulnerability is found to be exploited by hackers.
Software updates are essential components of maintenance. They involve installing new versions or patches to improve software functionality, security or compatibility. Updates range from small bug fixes that correct errors and feature updates that add capabilities, to large service packs and version upgrades. For ICT technicians in financial institutions or educational facilities, managing updates is a routine task that supports operational stability.
A service pack is a comprehensive collection of fixes, security patches and minor improvements released together by the vendor as a single installable package. It saves technicians from installing dozens of separate patches one by one and brings a computer to a known, consistent level. Example: when setting up a new computer in a college laboratory, a technician can install the latest service pack for the operating system so that all earlier fixes are applied in one step.
A version upgrade replaces the installed software with a newer major release that usually brings a changed interface, new features and improved performance. Unlike a small patch, it may need a new licence, more powerful hardware and conversion of existing data to the new format. Example: an office moving from an older release of its word processing and spreadsheet suite to the next release should first check that the computers meet the hardware requirements and that existing files will open correctly.
Security upgrades are patches and releases that close vulnerabilities which attackers could use to steal data, damage files or take control of a system. They are released when a weakness is discovered, so delay leaves computers exposed. Example: an accounts office that applies operating system security patches promptly reduces the risk of ransomware reaching the files that hold payroll and supplier records.
A device driver is a small program that allows the operating system to communicate with a hardware component such as a printer, graphics card, network adapter or scanner. Updated drivers fix hardware faults, improve performance and allow devices to work with a newer operating system. Example: if a school's new printers fail to print after an operating system upgrade, a technician downloads the latest driver from the manufacturer and installs it to restore printing.
Utility programs such as antivirus software, disk clean-up and defragmentation tools, backup software and file compression tools support the running of a computer. They need to be updated so that they remain effective, for example antivirus programs must receive new virus definitions regularly to recognise recent threats. Example: a technician in a cyber café sets the antivirus to update its definitions every day and updates the backup tool so that it can read the newer file formats being used.
Updates reach computers in different ways, and the method chosen depends on how critical the system is, how many computers are involved and the quality of the internet connection. Choosing the right method reduces risk and saves technician time.
Updates can occasionally cause new problems, such as incompatibility with other programs or failed installations. Following good practice protects users and data, and gives the technician a way back if something goes wrong.
Create a free account to open more of this chapter.
Free: practical guides, quick cards, workplace scenarios and more.
Create a free accountThis chapter explored the development of a software maintenance schedule, emphasizing the importance of regular maintenance to ensure software reliability and performance. It outlined the preparation of such schedules and detailed the various types of software maintenance, including adaptive, perfective, preventive, and corrective. The chapter also examined different computer software updates, such as service packs, version upgrades, security updates, device driver updates, and utility program updates. Monitoring software functionality was discussed with a focus on tools and the use of operating system event logs, alongside the types of event logs commonly used. The process and significance of conducting software upgrades and updates were covered, highlighting their role in maintaining software effectiveness and security. Finally, the chapter addressed safety procedures during software maintenance activities, detailing the use of personal protective equipment and proper handling of tools and equipment to safeguard users.
Type: Individual
| Tools & Equipment | Materials |
|---|---|
| Working computer with Windows 10 operating system | Microsoft Office suite installed |
| Internet connectivity | Software maintenance schedule template document |
| S/N | Item | Quantity |
|---|---|---|
| 1 | Working computer with Windows 10 operating system | 1 Pc per Candidate |
| 2 | Internet connectivity | Shared |
| 3 | Microsoft Office suite installed | 1 Pc per Candidate |
| 4 | Software maintenance schedule template document | 1 Pc per Candidate |
| Items to be Evaluated | Marks Available | Marks Obtained | Comments |
|---|---|---|---|
| TASK 1: Prepare Software Maintenance Schedule | |||
| Observed use of appropriate PPE and adherence to computer laboratory rules (Award 1 mark or zero) | 1 | ||
| Opened and reviewed the provided software maintenance schedule template document (Award 2 marks or zero) | 2 | ||
| Researched and identified key software maintenance tasks (e.g., updates, backups, testing) (Award 4 marks or zero) | 4 | ||
| Outlined a clear timeline for each maintenance task within a 12-month schedule (Award 4 marks or zero) | 4 | ||
| Included responsible personnel or roles for each maintenance activity (Award 3 marks or zero) | 3 | ||
| Saved the completed maintenance schedule document correctly using the filename 'Maintenance_Schedule.docx' (Award 2 marks or zero) | 2 | ||
| Demonstrated ability to explain the importance of each maintenance task during oral questioning (Award 4 marks or zero) | 4 | ||
| Sub-Total | 20 | ||
| PRODUCT CHECKLIST | |||
| Completed software maintenance schedule document includes all required tasks, timelines, and assigned roles (Award up to 8 marks based on completeness and clarity) | 8 | ||
| Schedule is logically structured and formatted professionally in Microsoft Word (Award up to 4 marks for document presentation and formatting) | 4 | ||
| Timeline covers a full 12-month period with realistic and achievable task scheduling (Award up to 4 marks for timeline accuracy and feasibility) | 4 | ||
| Sub-Total | 16 | ||
| GRAND TOTAL | 36 | ||
Type: Individual
| Tools & Equipment | Materials |
|---|---|
| Working computer with Windows 10 operating system | Sample software maintenance scenarios document |
| Microsoft Word software | |
| Internet connectivity |
| S/N | Item | Quantity |
|---|---|---|
| 1 | Working computer with Windows 10 operating system | 1 Pc per Candidate |
| 2 | Internet connectivity | Shared |
| 3 | Microsoft Word software | 1 License per Candidate |
| 4 | Sample software maintenance scenarios document | 1 Copy per Candidate |
| Items to be Evaluated | Marks Available | Marks Obtained | Comments |
|---|---|---|---|
| TASK 1: Identify and Classify Software Maintenance Types | |||
| Observed candidate following computer laboratory rules and using appropriate software tools (Award 2 marks or zero) | 2 | ||
| Identified and listed the four types of software maintenance: Adaptive, Perfective, Preventive, Corrective (Award 1.5 marks for each correct type listed) | 6 | ||
| Provided clear and correct explanations for each software maintenance type (Award 2 marks for each clear and accurate explanation) | 8 | ||
| Gave practical and relevant examples for each type of software maintenance (Award 2 marks for each appropriate example) | 8 | ||
| Typed and formatted the report professionally using Microsoft Word (Award 4 marks for correct formatting, spelling, and saving) | 4 | ||
| Sub-Total | 28 | ||
| PRODUCT CHECKLIST | |||
| Report contains all four types of software maintenance correctly classified and explained with examples (Award 12 marks for completeness, accuracy, clarity, and presentation) | 12 | ||
| Sub-Total | 12 | ||
| GRAND TOTAL | 40 | ||
At the start of this chapter we promised you would be able to:
Tick each one you can genuinely do.
So, are you there yet?
You're competent when you can confidently do 50% or more of what this chapter promised.
Sign in to record how you're doing.