At this step in the implementation process, your electronic LMIS implementation is up and running. This section, 4-Maintain, will help you understand how to support and maintain your system after go-live.
This section also explains OpenLMIS’s semantic versioning process, so you can understand how to take advantage of new software releases and stay up to date with the core OpenLMIS code line.
Each OpenLMIS version 3 service uses “Semantic Versioning,” where version numbers and the way they change convey meaning about the underlying code and what has been modified from one version to the next.
Read more about OpenLMIS semantic versioning
Each new OpenLMIS release has a community review period and has a significant amount of testing, both manual and automated, to ensure new versions will work smoothly for current users.
Each release also includes Release Notes that provide guidance to implementers on upgrading and flag any new features or changes that impact backwards-compatibility.
The OpenLMIS 3 architecture allows different country implementations to have some of their own custom features (through extension modules), but to still share the common, core base of software.
The patch and minor releases will be backwards compatible and easy to apply to existing implementations. In order to achieve the “shared value” community goals, it is important that implementations stay up-to-date with these releases.
When all participating countries stay up-to-date, that means any implementation can benefit from improvements made in another implementation.
See updated documentation on OpenLMIS releases here.
After the initial deployment or roll-out of OpenLMIS, ongoing system support and maintenance is required to ensure the application continues to function smoothly and address issues that arise. The technical team supporting the software make additional customizations, bug fixes, or enhancements that need to be incorporated into the system after the initial deployment.
Download: Sample Support Plan
Read more about maintaining and supporting your system
Additionally, the OpenLMIS Core team’s work is ongoing, and they will periodically release new versions of OpenLMIS that include bug fixes, enhancements, and new features available to anyone in the OpenLMIS Community. See section above, OpenLMIS Version Updates, for further details on releases and versioning.
The Core releases can be incorporated into an existing instance of OpenLMIS so implementations can continue to benefit from ongoing work on the Core product.
For details on the OpenLMIS Core release and upgrade processes please visit the OpenLMIS technical documentation: http://docs.openlmis.org/en/latest/conventions/versioningReleasing.html
Periodic maintenance releases should be expected and planned for in an OpenLMIS implementation. Additionally, each release should be managed by a set of standard release processes, and a release-specific deployment plan to handle the testing and roll out.
Each maintenance release should be moved to the User Acceptance Testing (UAT or Test/Staging) instance and tested at least by the implementation team and potentially also through user-acceptance testing, if the release includes significant changes (generally, if the release requires additional training, it would likely be beneficial to have a UAT session).
Additionally, the implementation team should ensure that there are plans to notify users and stakeholders, additional training, review of testing results, and approve of the release.
See the release deployment plan template and release deployment schedule template below for support in the creation of these plans.
After the initial rollout and deployment of OpenLMIS, ongoing training is necessary to ensure that users understand the system and are using it correctly and efficiently. The implementation should include plans to meet ongoing training needs, including:
Read more about training
Ongoing training needs can be met in a variety of ways, from large training workshops, smaller, locally-based trainings, on-the-job instruction during supportive supervision, or virtual learning methods. Each implementation will need to identify which approaches are best suited to their needs and resources.
For example, if staff turnover is low, on-the-job training during supportive supervision as needed may be the most efficient way to ensure new staff know how to use the system. If staff turnover is frequent, however, it may be hard to individually train all new staff in a timely manner, or even to keep track of the training needs.
Large training workshops allow many users to be trained simultaneously, but require significant preparation, planning, and resources. Further, users may have conflicts with other job duties or personal commitments that prevent them from attending.
All training approaches have their own benefits and disadvantages, and an approach that works for some users in some situations may not be effective for others. An implementation will likely need to identify a mix of approaches to meet all needs over time. Several factors should be considered to identify the best approach: