OpenLMIS Pain Points

This is a running list of pain points end-users, developers, and implementers experience with the current version of OpenLMIS. 

Developers

  • No documentation on how to get OpenLMIS up and running
    • This is true for an implementer.  Developer steps are decently documented
  • Insufficient developer documentation
    • Please clarify.  Agree, for example, little guidance on domain, solution design, etc.
  • No database documentation
    • What is required?  ERD, for example, is now part of a build job
  • Average BA/non-dev type can't get started - hard to install (vs OpenMRS, etc.)
  • Scant API & documentation
  • Monolithic app tightly coupled with UI: 
    • Not extensible and causes lots of forking/toggling (e.g. new screens)
    • A lot of the variation is in reporting
  • No way to contribute without stepping on the toes of others.
  • No CI Server/no Continuous Delivery:
    • Update (3/16): We now have Jenkins running to exercise unit tests and DB integration, but functional testing is weak and needs enhancement (e.g. JS tests are not enabled). 
    • Successful build are not being deployed to Demo
  • Insufficient test coverage
  • Supportability:  inadequate error handling – lots of errors are caught and swallowed; logging is insufficient.
  • Older tech stack – Some outdated tools and approaches:
    • For those that we want to keep, we need to update to latest/later versions
  • Large number of tools & shared libraries that overlap &/or duplicative: Security is a concern and burden
  • Poor architectural choices (eg: use of Lombok and approach to exception-handling) 
  • Using the APIs requires first doing an interactive login
  • No end-user documentation of test cases for manual/regression testing

End-Users

  • End-user documentation is lacking; falls to implementor to write it; reference documentation
  • No way to provide user feedback
  • UI is non-responsive: fails to size and scale, even on large desktop displays
  • Poor performance in low-bandwidth environments
    • need baseline metrics!
  • Lack of "offline first" design for occasionally connected environments for certain business processes

Implementors

  • No user training guide
  • No deployment planning tools (e.g. facility list, users/roles, seed data, etc.)
    • Or is this a process/project management toolkit?
  • No framework for creating dashboards or reports for a country
    • default reports have insufficient business value; Jasper isn't solving the problem
    • no user-friendly tools for creating custom/ad hoc reports
  • No security model or transaction logging to help manage the system –
    • Need updated threat analysis (e.g. penetration testing)
  • No way to create country-specific data collection forms (e.g. IVD monthly form) without forking
    • can't create custom screens/tabs to expose and collect custom fields
  • Very hard to initially configure the system – 
    • all the seed/reference data for upload configuration is onerous, manual and time-consuming, e.g. master facility list, or the ability to pull in from DHIS2
  • No way to add additional features needed for a country implementation without forking the code
  • No auto-update/upgrade/migration process
    • e.g. security updates

 

OpenLMIS: the global initiative for powerful LMIS software