By the end of this chapter, you will be able to:
Mastering these skills will help you keep computer systems reliable and safe—an essential part of any modern workplace.
Computer software maintenance is a critical responsibility for ICT Technicians, ensuring that software systems remain efficient, secure, and tailored to evolving user needs. In Kenya, where organizations such as county governments, banks, and hospitals rely heavily on software applications for daily operations, maintaining software effectively minimizes downtime and operational risks. This chapter explores the systematic development of software maintenance schedules, the various types of maintenance, and how updates are managed to sustain optimal software performance. Mastery of these practices empowers ICT Technicians to support organizational goals through reliable software functionality.
A software maintenance schedule is a planned timetable of the checks, updates and fixes that keep installed software dependable. It guides ICT Technicians in deciding what to maintain, how often, who does it and when, so that problems are prevented instead of repaired in a hurry. Example: a computer laboratory that follows a written schedule updates its antivirus weekly and installs operating system patches monthly, so the machines are rarely out of service during lessons or practical work.
Computer software maintenance refers to the ongoing process of modifying and updating software applications after deployment to correct faults, improve performance, or adapt to changing environments. This process is indispensable because software inevitably encounters issues or requires enhancements due to evolving hardware, user demands, or security threats. Example: a computer laboratory that runs the same accounting package for several years will need fixes, compatibility changes and security patches to keep it dependable.
Software that is left without maintenance gradually becomes slow, insecure and incompatible with the hardware and operating systems around it. Regular maintenance keeps systems reliable, protects data and extends the useful life of the software, which saves the organisation the cost of early replacement. The main reasons for maintaining software are as follows.
Software maintenance is particularly important where infrastructure varies from one site to another and cyber threats keep changing, because systems must be continuously adapted. Organisations that neglect maintenance risk operational failures, data breaches and loss of client trust. For instance, a lapse in updating inventory software can lead to incorrect stock records and wrong purchasing decisions.
Developing a software maintenance schedule involves organising maintenance activities systematically to ensure timely and effective upkeep. It serves as a roadmap for ICT Technicians to allocate resources, prioritise tasks, and minimise service disruptions. Example: a computer training centre prepares a termly schedule so that all laboratory computers are updated during the holiday break and not during examinations.
The table below shows how the schedule may be recorded for a small office network. The tasks and frequencies are illustrative and should be adjusted to the vendor recommendations and the criticality of each system.
| Software | Maintenance task | Frequency | Responsible |
|---|---|---|---|
| Antivirus program | Update definitions and run full scan | Weekly | ICT Technician |
| Operating system | Install security patches | Monthly | ICT Technician |
| Accounting package | Backup data and check for fixes | Monthly | System administrator |
| Device drivers | Check for manufacturer updates | Quarterly | ICT Technician |
| Office applications | Review version and licence status | Every six months | ICT Officer |
Maintenance schedules must accommodate budget cycles and staff availability. Schedules should also reflect software criticality: mission-critical systems such as a billing server or an accounting database require more frequent attention than internal communication tools.
Maintenance does not always run smoothly, and a good schedule anticipates the problems below.
Software maintenance encompasses various forms, each addressing specific aspects of software evolution. Understanding these types enables ICT Technicians to apply appropriate strategies for sustaining software utility and to record clearly why each task appears on the schedule.
Adaptive maintenance modifies software to remain compatible with changing environments such as new operating systems, new hardware or changed regulations. The software is not faulty, but its surroundings have changed. Example: when a company replaces its servers, the payroll system may need configuration changes so that it keeps performing well on the new platform.
Perfective maintenance focuses on enhancing software performance, usability or functions based on user feedback, even though nothing is broken. It makes good software better. Example: a training college may request additional reporting features in its student management system so that the registrar can produce class lists faster.
Preventive maintenance aims to anticipate and fix potential issues before they manifest as problems. This includes regular code reviews, clearing temporary files, defragmenting or checking disks, scheduled backups and performance tuning. Example: a cyber café schedules a preventive check of its billing software before a busy period so that the system does not crash while customers are being served.
Corrective maintenance involves identifying and fixing defects or bugs found after software deployment. It restores software functionality to expected standards and is usually triggered by a user report or an error message. Example: a payroll program may require urgent bug fixes to prevent incorrect salary calculations.
Some corrective work cannot wait for the next scheduled slot, such as patching a vulnerability that attackers are already exploiting. This emergency work interrupts the normal schedule, so the technician records what was done and adjusts later tasks.
Software updates are essential activities that refresh software components to improve security, functionality, stability and compatibility. They range from minor patches that fix a single bug to major version upgrades that change the whole application. A technician must know each kind of update so that it can be placed correctly on the maintenance schedule.
A service pack is a collection of updates, fixes and enhancements released together as one installable package. It saves time because one installation brings the software to a known, consistent level instead of applying many separate patches. Example: when reinstalling an older operating system on a laboratory computer, the technician installs the latest service pack so that all earlier fixes are applied at once. Newer systems often deliver the same idea through cumulative updates.
A version upgrade replaces the installed software with a newer release that usually introduces significant new features, a changed interface and sometimes new hardware requirements. It also includes the bug fixes and feature updates of the earlier release. Example: moving a computer laboratory's office suite from an older version to a current one. Before upgrading, the technician checks that the computers meet the minimum requirements and that existing files will open correctly.
Security upgrades, also called security patches, are small, urgent updates that close vulnerabilities which attackers could use to steal data or take control of a system. They are given high priority on the schedule and should be applied soon after release. Example: an office network administrator applies operating system security patches monthly to safeguard business records, and an emergency patch immediately when a serious flaw is announced.
A device driver is software that allows the operating system to communicate with a hardware device such as a printer, graphics card, scanner or network adapter. Updated drivers fix hardware faults, improve performance and restore compatibility after an operating system upgrade. Example: a network card that keeps disconnecting after an operating system upgrade may work properly once the technician installs the latest driver obtained from the manufacturer's website.
Utility programs such as antivirus software, backup tools, disk clean-up and file compression programs also need updating. Antivirus programs in particular depend on frequent updates to their threat definitions in order to detect new malware. Example: a cyber café sets its antivirus to update definitions daily and checks monthly that the backup utility has been updated to the latest version.
When updates are planned on the schedule, the following practices reduce the risk of failure.
Explain five purposes of computer software maintenance and provide examples relevant to Kenyan organizations. (10 marks)
Describe the key elements involved in preparing a software maintenance schedule for a university ICT department. (10 marks)
Differentiate between corrective and adaptive software maintenance with examples from the healthcare and banking sectors. (10 marks)
Outline six best practices for applying software updates in a county government office and explain why each is important. (12 marks)
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 computer software maintenance schedule, emphasizing the significance of regular maintenance to ensure software reliability and performance. It detailed the preparation of maintenance schedules and described the four main types of software maintenance: adaptive, perfective, preventive, and corrective. The chapter also examined various software updates, including service packs, version upgrades, security patches, device driver updates, and utility program enhancements. Monitoring software functionality was addressed through the use of specialized tools and the analysis of operating system event logs, highlighting the different types of event logs used for tracking system activities. The process and importance of conducting software upgrades were discussed, alongside the different types of upgrades available. Similarly, the chapter covered software updates, their significance, and the procedures involved in carrying them out effectively. Finally, it stressed observing safety procedures during maintenance activities, including the use of personal protective equipment such as aprons, antiglare screens, and gloves, as well as the correct handling of tools and equipment to ensure a safe working environment.
Type: Individual
| Tools & Equipment | Materials |
|---|---|
| Computer with Microsoft Excel 2016 or later installed | Software maintenance policy document (sample) |
| Pen and notebook | Company business application user manual |
| S/N | Item | Quantity |
|---|---|---|
| 1 | Computer with Microsoft Excel 2016 or later installed | 1 Pc per Candidate |
| 2 | Software maintenance policy document (sample) | 1 Pc per Candidate |
| 3 | Company business application user manual | 1 Pc per Candidate |
| 4 | Pen and notebook | 1 set per Candidate |
| Items to be Evaluated | Marks Available | Marks Obtained | Comments |
|---|---|---|---|
| TASK 1: Preparation and Planning | |||
| Wears appropriate PPE (e.g., anti-static wrist strap if applicable) (Award 2 marks for correct PPE usage or zero) | 2 | ||
| Reviews software maintenance policy document (Award 3 marks for thorough review and understanding) | 3 | ||
| Examines company business application user manual to identify maintenance needs (Award 3 marks for correct identification of maintenance activities) | 3 | ||
| Lists all planned maintenance activities (e.g., updates, backups, bug fixes, performance checks) (Award 4 marks for completeness and relevance) | 4 | ||
| Sub-Total | 12 | ||
| TASK 2: Development of Maintenance Schedule | |||
| Creates a clear schedule layout in Microsoft Excel with columns for activity, frequency, responsible person, and timeline (Award 4 marks for correct and clear layout) | 4 | ||
| Assigns realistic frequencies for each maintenance activity (e.g., daily, weekly, monthly, quarterly) (Award 5 marks for accurate and practical scheduling) | 5 | ||
| Sets timelines spanning a full 12-month period (Award 3 marks for correctly applying timelines) | 3 | ||
| Includes responsible personnel or roles for each activity (Award 3 marks for clear responsibility assignment) | 3 | ||
| Formats the schedule for readability (e.g., bold headers, borders, consistent fonts) (Award 3 marks for professional formatting) | 3 | ||
| Sub-Total | 18 | ||
| TASK 3: Review and Documentation | |||
| Reviews the schedule for completeness and accuracy (Award 3 marks for thorough review) | 3 | ||
| Saves the schedule file with appropriate file name (e.g., 'Software_Maintenance_Schedule_YourName.xlsx') (Award 2 marks for correct file naming and saving) | 2 | ||
| Prints or exports the schedule for submission (Award 2 marks for correct printing or exporting) | 2 | ||
| Submits the schedule to the assessor or supervisor (Award 3 marks for timely submission) | 3 | ||
| Sub-Total | 10 | ||
| PRODUCT CHECKLIST | |||
| Software maintenance schedule includes all required activities with correct frequencies and timelines over 12 months (Award 8 marks for completeness and correctness) | 8 | ||
| Schedule is clear, well-organized, and professionally formatted (Award 6 marks for clarity and professional presentation) | 6 | ||
| Schedule includes responsible personnel/roles for each maintenance activity (Award 6 marks for clear responsibility assignment) | 6 | ||
| Sub-Total | 20 | ||
| GRAND TOTAL | 60 | ||
Type: Individual
| Tools & Equipment | Materials |
|---|---|
| Computer with pre-installed software | Software Maintenance Guide Document |
| Projector or Display Screen | Notebook and Pen |
| Software Maintenance Guide Document | |
| Notebook and Pen |
| S/N | Item | Quantity |
|---|---|---|
| 1 | Computer with pre-installed software | 1 Pc per Candidate |
| 2 | Projector or Display Screen | 1 Pc per 5 Candidates |
| 3 | Software Maintenance Guide Document | 1 Pc per Candidate |
| 4 | Notebook and Pen | 1 Pc per Candidate |
| Items to be Evaluated | Marks Available | Marks Obtained | Comments |
|---|---|---|---|
| TASK 1: Explain software maintenance concepts | |||
| Identified and defined key software maintenance concepts: corrective, adaptive, perfective, and preventive maintenance (Award 1.5 marks for each correct concept explanation x 4 = 6 marks) | 6 | ||
| Explained the importance of software maintenance in ensuring software reliability and performance (Award 4 marks for a clear, relevant explanation) | 4 | ||
| Discussed common software maintenance activities such as bug fixing, updates, patches, and upgrades (Award 4 marks for detailed discussion) | 4 | ||
| Used examples relevant to Kenyan workplaces or educational institutions to illustrate concepts (Award 3 marks for appropriate examples) | 3 | ||
| Presented the report clearly and logically, using notes and visual aids where appropriate (Award 3 marks for clarity and use of aids) | 3 | ||
| Sub-Total | 20 | ||
| TASK 2: Document software maintenance importance | |||
| Prepared a written report summarizing software maintenance concepts and their importance (Award 5 marks for completeness and accuracy) | 5 | ||
| Included at least three reasons why software maintenance is critical for organizational efficiency (Award 1 mark for each valid reason x 3 = 3 marks) | 3 | ||
| Used correct terminology and professional language in the report (Award 2 marks for correct language and terminology) | 2 | ||
| Sub-Total | 10 | ||
| PRODUCT CHECKLIST | |||
| Report clearly explains software maintenance concepts and importance with relevant examples (Award up to 10 marks for accuracy, clarity, and relevance) | 10 | ||
| Sub-Total | 10 | ||
| 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.