Roles and Responsibilities
- Definition and description of key roles involved in software support and maintenance
- Responsibilities of each role
Definition and description of key roles involved in software support and maintenance
The following roles are involved in the software support and maintenance process:
- End users – End users use software systems on a day to day basis. They are responsible for reporting any issues encountered in the software to the support team. End users also request for enhancements or improvements in the software based on evolving needs
- IT Support/Support team - The primary function of a support team is to provide technical assistance for any issues that arise with the software that are reported by end users. This includes troubleshooting problems, answering questions about features and functionality, and helping users understand how to use the software
- Business Analysts – Business Analysts are responsible for analysing the requests for enhancements from users and making recommendations on their implementation
- Developers – Developers make software changes that require coding to either fix issues or to introduce new features
- External Vendors – Where the software was acquired from a third party vendor, the vendor may provide some of the maintenance activities such as addressing issues that the institution's support team cannot fix, providing software updates/upgrades and making changes requested by users
- System administrators – System administrators monitor technical performance of software, manage security and access control and also deploy patches to Production environment
Responsibilities of each role
a) End users responsibilities
- Report issues encountered on the software
- Request for enhancements or improvements in the software based on evolving needs
- Test changes that are made to confirm they work as expected before they are deployed to the production environment
b) Software support team responsibilities
- Receive and record support requests from users and/or provide a self service help desk system
- Analyse and troubleshoot issues raised by users
- Escalate issues they cannot resolve to the relevant teams such as to Software developers
- Notify users when issues are resolved
- Provide any training or instructions required to end users on new changes to software
- Evaluate user feedback and share with relevant teams
c) Business Analysts
- Analysing the requests for enhancements from users and making recommendations on their implementation
- Working with developers to design solutions for software enhancements
- Support users to test new enhancements or updates
- Support training of users on new enhancements
d) Software developers’ responsibilities:
- Analyse issues escalated to them to determine the best solution
- Design algorithms and solutions to fix issues identified
- Produce clean, efficient code based on specifications
- Integrate software components and third-party programs
- Verify and deploy changes made
- Troubleshoot, debug and upgrade existing software
- Evaluate user feedback
e) System administrators’ responsibilities:
- Install and configure software and hardware
- Manage network servers and technology tools
- Set up software access accounts and workstations
- Monitor performance and maintain systems according to requirements.
- Troubleshoot issues and outages
- Ensure security through access controls, backups and firewalls
- Deploying software changes and patches to the Production environment
- Ensuring availability of software including managing backup and disaster recovery procedures
f) External vendor responsibilities:
For software that is procured from an external vendor, they are also involved in the support and maintenance process. Their responsibilities include:
- Addressing issues escalated to them by the institution's support team
- Providing software updates and patches including security patches
- Making changes requested by the institution
- Upgrading and enhancing the software as per the product roadmap