The transformation from current architecture to the modular architecture will be iterative and incremental.
At the end of each iteration, a production-ready version of openIMIS will be delivered.
To be production-ready implies that, at each iteration:
a migration of (re)implemented features is prepared (with dry run,...)
tests (integration , load and acceptance) are formally organised
documentations (from user guides to deployment procedures) are delivered
Each project will have the choice to join the new openIMIS platform at that iteration or not.
The aim is to cover all current openIMIS features (of each implementation) with plugins in the (new) openIMIS.
However, not everything will be ready at first iteration. To ensure a production-ready delivery, openIMIS will, as a consequence, be built upon proxy plugins to (legacy) implementation.
Proxy plugins will be developed in the various layers and will be replaced once the new implementation is ready.
The transformation will be accomplished in 3 phases. Each phase delivers a coherent and production-ready instance of openIMIS, allowing each project to adapt the timing to own constraints.