Software maintenance is the typical modifications of a software product after delivery to correct potential and occasional faults, consider new scenarios, or improve performance or other attributes. A common perception of maintenance is that it merely involves fixing defects. However, over 80% of maintenance effort is used for non-corrective actions. This perception is perpetuated by users submitting problem reports that are, in fact, functionality enhancements to the system.
There are several reasons why modifications are required. The following is a listing of a few that our software engineers manage:
1. Market conditions.
2. Algorithm and API changes
3. Client requirements based on industry best practices
4. Host modifications – If any of the hardware and/or platform (such as the operating system) of the target host changes, software changes are needed to keep adaptability.
1. Apply software feature upgrades as they become available
2. SaaS deployment and day-to-day maintenance of the application, which includes: testing and installing patches, managing upgrades, monitoring performance, ensuring high availability, and hosting the database on a scalable cloud-based server. Hosting includes space for files, images, and content of the software widgets.
3. Monitor and manage all third-party systems and API statuses. As an approved application Developer through verified API access, we ensure you have a functioning end-user application with the latest upgrades available on each third-party API. (E.g. If an existing parameter is revised in the third-party API that affects our content delivery, our team will proactively update it as soon as possible).
4. Training. Ongoing DXP Dashboard training as requested and as needed.
Analysis – Involves analyzing the modification for its impact on the system including safety and security implications. If the probable impact is severe, we will attempt to find an alternative solution. A set of required modifications is then materialized into requirement specifications. The cost of modification/maintenance is analyzed and estimation is concluded.
Design – New modules, which need to be replaced or modified, are designed against requirement specifications set in the previous stage. Test cases are created for validation and verification.
Implementation – The new modules are coded with the help of a structured design created in the design step. Every programmer is expected to do unit testing in parallel.
System Testing – Integration testing is done among newly created modules. Integration testing is also carried out between new modules and the system. Finally, the system is regularly tested following regressive testing procedures.
With access to our Client Portal, you can submit your requests for assistance and follow up on the status of your ticket. The system allows the project manager to monitor the progress of a ticket and communicate with you and our development team.
Our standard communication process:
1. We recognize and respond to the ticket within the business day that it is submitted.
2. If possible, we correct it within two working days or reach out to your team for further directions/clarification needed to solve the problem
3. Bugs and technical issues that may need to be escalated will be submitted to our development team and provided a detailed estimated delivery date.
4. At all times we will keep the client informed of the timelines.