Information Communication Technology  ·  Level 6
Computer Software
Chapter 3: Perform computer software maintenance
📚 5 Topics
⚑ What you will be able to do

By the end of this chapter, you will be able to:

  • Follow a software maintenance schedule according to workplace procedures.
  • Monitor software functionality correctly, ensuring everything runs smoothly.
  • Conduct software upgrades accurately by following the installation guide.
  • Perform software updates correctly, following all workplace procedures.

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.

3.1 Development of Software Maintenance Schedule

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.

3.1.1 Introduction to computer software maintenance

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.

3.1.1.1 Importance of software maintenance

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:

  • Correcting defects: Software inevitably contains bugs that emerge during use. Maintenance addresses these defects to prevent system failures.
  • Enhancing performance: Updates can optimise software routines to improve speed and resource usage.
  • Adapting to environment changes: Changes in hardware or operating systems require software adjustments to maintain compatibility.
  • Adding new features: Users' evolving needs call for feature enhancements that increase software usefulness.
  • Ensuring security: Maintenance patches vulnerabilities to protect against cyber threats, which is critical for financial institutions such as SACCOs that handle sensitive data.

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.

3.1.2 Prepare software maintenance schedule

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.

Steps to prepare a software maintenance schedule

  1. Identify software assets: List all software applications in use, including their versions, licence status and how critical each one is to the organisation.
  2. Assess maintenance needs: Determine the type and frequency of maintenance each application requires, based on usage patterns and vendor recommendations.
  3. Define maintenance activities: Specify the tasks to be done, such as bug fixes, updates, backups and performance tuning.
  4. Allocate resources: Assign personnel, tools and budget to each maintenance activity so that every task has an owner.
  5. Develop the timeline: Schedule activities around peak operational periods, for example placing major work in school holidays or at weekends, to minimise impact.
  6. Communicate the schedule: Inform stakeholders and end-users about maintenance windows and expected downtime so that they can plan their work.
  7. Review and update the schedule: Record completed tasks, note problems and adjust the schedule regularly as software, users and vendor advice change.

Sample maintenance schedule

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

Factors influencing the schedule

  • Criticality of software: Mission-critical systems require more frequent maintenance and more careful timing.
  • Vendor support policies: Some software vendors mandate periodic updates and stop supporting old versions.
  • User feedback: Input from users helps prioritise maintenance tasks.
  • Compliance requirements: Regulatory frameworks may impose update schedules.
  • Organisational capacity: The availability of skilled technicians and budget constraints affect what can be scheduled.

Tools for scheduling maintenance

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

Challenges in software maintenance

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.

  • Resource allocation: Limited budgets in public institutions may restrict how often maintenance can be done.
  • Complexity of legacy systems: Older software may lack documentation, which complicates updates.
  • User resistance: Users may be reluctant to adopt changes, which affects maintenance success.
  • Downtime management: Scheduling updates without disrupting operations requires careful planning.
  • Keeping pace with technology: Rapid technological change demands continuous learning and adaptation by ICT technicians.

3.1.3 Types of software maintenance

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.

3.1.3.1 Adaptive

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.

3.1.3.2 Perfective

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.

3.1.3.3 Preventive

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.

3.1.3.4 Corrective

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.

3.1.4 Computer software updates

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.

3.1.4.1 Service packs

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.

3.1.4.2 Version upgrades

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.

3.1.4.3 Security upgrades

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.

3.1.4.4 Device drivers

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.

3.1.4.5 Utility program updates

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.

Methods of delivering software updates

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.

  • Manual updates: Technicians download and install updates individually, which is suitable for critical systems that need controlled deployment.
  • Automatic updates: Software is configured to download and install updates without user intervention, which is common in antivirus software.
  • Scheduled updates: Updates are deployed during off-peak hours to minimise disruption, and are often used in public sector ICT departments.
  • Centralised deployment: An update server downloads updates once and distributes them to computers on the network, which saves bandwidth and allows the technician to control which updates are installed.
  • Offline updates: The installer is downloaded once and copied to the computers from a flash disk or shared folder, which is useful where internet bandwidth is limited or expensive.

Best practices for managing software updates

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.

  • Testing before deployment: Validate updates in a controlled environment, such as one test computer, to prevent introducing new issues.
  • Backup before update: Ensure data and system backups exist so that the system can be rolled back if the update fails.
  • User communication: Inform users about update schedules and expected impacts.
  • Compliance monitoring: Verify that updates meet regulatory and organisational standards.
  • Documentation: Record update details, such as date, version and the technician responsible, for audit trails and future reference.

Practice Questions

  1. Explain the significance of software maintenance in enhancing operational efficiency at a county government office. (10 marks)
  2. Outline the steps involved in preparing a software maintenance schedule for a university’s IT department. (12 marks)
  3. Describe five types of software maintenance and provide an example of each relevant to Kenyan institutions. (15 marks)
  4. Discuss the different methods of delivering software updates and explain why testing before deployment is critical. (13 marks)
The rest of this chapter
🔒

Create a free account to open more of this chapter.

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒3.2 Software functionality monitoring

In the ICT technician role, ensuring that software applications function correctly and efficiently is critical for maintaining operational continuity in workplaces such as business offices, cyber cafés and company server rooms. Software functionality monitorin…

🔒3.3 Conducting software upgrade

Software upgrades are essential activities for ICT technicians to maintain software effectiveness, security, and compatibility in Kenyan institutions such as universities, banks, and cooperative societies. Upgrades involve installing newer versions or patches…

🔒3.4 Conducting software update

In the daily work of an ICT Technician in Kenya, software updates are essential to maintain system security, enhance functionality, and ensure compatibility with other software and hardware components. Organizations such as banks, county government offices, an…

🔒3.5 Observing Safety Procedures

In the Kenyan ICT sector, safety procedures during software maintenance are vital to protect technicians, equipment, and data integrity. ICT technicians often work in environments with electrical equipment, sensitive hardware, and network infrastructure, which…

Chapter Summary

This 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.

Self-Assessment

🔒 PDFDownload this self-assessment, with answers

A. Written Assessment

  1. Define software maintenance and explain its importance in ICT systems management. (4 marks)
  2. Identify and describe the four types of software maintenance. (8 marks)
🔒20 more in this section.

Chapter Examination Questions

🔒 PDFDownload these examination questions, with worked answers

SECTION A (40 Marks) - Answer ALL Questions

  1. Explain why software maintenance is critical in an ICT support environment such as a county government office in Kenya. (4 marks)
  2. Differentiate between adaptive and perfective software maintenance with relevant examples from banking software systems. (4 marks)
🔒18 more in this section.

Chapter Practical Activities

Practical 1: Develop a detailed software maintenance schedule for a business application

Information Communication Technology · Level 6
Computer Software
PRACTICAL ASSESSMENT
TIME: 4 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Prepare a software maintenance schedule document outlining tasks and timelines for a business application covering a 12-month period.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Working computer with Windows 10 operating systemMicrosoft Office suite installed
Internet connectivitySoftware maintenance schedule template document
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Working computer with Windows 10 operating system1 Pc per Candidate
2Internet connectivityShared
3Microsoft Office suite installed1 Pc per Candidate
4Software maintenance schedule template document1 Pc per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
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-Total20
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-Total16
GRAND TOTAL36
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)

Practical 2: Identify and Classify Types of Software Maintenance with Examples

Information Communication Technology · Level 6
Computer Software
PRACTICAL ASSESSMENT
TIME: 4 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Prepare a report classifying and explaining four types of software maintenance with practical examples, typed and formatted in Microsoft Word, saved as SOFTWARE_MAINTENANCE_REPORT.docx.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Working computer with Windows 10 operating systemSample software maintenance scenarios document
Microsoft Word software
Internet connectivity
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Working computer with Windows 10 operating system1 Pc per Candidate
2Internet connectivityShared
3Microsoft Word software1 License per Candidate
4Sample software maintenance scenarios document1 Copy per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
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-Total28
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-Total12
GRAND TOTAL40
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)
🔒

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒Perform software functionality monitoring using monitoring toolsPractical 3
🔒Analyze Operating System Event Logs to Identify Software IssuesPractical 4
🔒Conduct a software upgrade including version and security updatesPractical 5
🔒Conduct Software Update on Windows Operating SystemPractical 6
🔒Update Device Drivers to Maintain Hardware CompatibilityPractical 7
🔒Implement Preventive Software Maintenance on Windows 10 ComputerPractical 8
🔒Implement corrective software maintenance on a faulty accounting applicationPractical 9
🔒Implement adaptive software maintenance by modifying existing application for new user requirementsPractical 10
🔒Implement perfective maintenance to enhance software performance and maintainabilityPractical 11
🔒Apply Personal Protective Equipment and Safety Procedures during Software MaintenancePractical 12
🔒Install and Configure Windows Service PacksPractical 13
🔒Perform security upgrades by applying software patches and updatesPractical 14
🔒Update and Configure Utility Programs for Software MaintenancePractical 15
Flashcards 20 cards Study deck ▾
Question
1

↻ Tap card to reveal answer
🔒

18 more in this section.

Create a free account
Test Yourself 19 questions Start quiz ▾
0%
0 / 2
🔒

17 more in this section.

Create a free account
Am I competent?

At the start of this chapter we promised you would be able to:

  • Follow a software maintenance schedule according to workplace procedures.
  • Monitor software functionality correctly, ensuring everything runs smoothly.
  • Conduct software upgrades accurately by following the installation guide.
  • Perform software updates correctly, following all workplace procedures.

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.