We would like to follow an incremental re-architecture approach to realize envisaged architecture. (Here is a diagram quickly sketched that shows one idea of how work might move forward with horizontal and vertical slicing proceeding together towards the final result in step 7).

Question however is how do we do that? How do we align technical engineering bit with business demands and priorities?

There are several approaches for re-engineering

  1. Horizontal slicing - where the system is broken in layers, and a layer is targeted for complete clean up (really?), before picking up another.
  2. Vertical slicing - where a functional flow is targeted for cleanup towards envisaged way. Everything in this flow is cleaned up - top to bottom. (again really?)

The attached presentation tries to depict pros and cons and advocates vertical approach, and welcomes debate amongst technologists and business owners of how best to achieve migration of mifos, so that:

It is expected (but not closed) that vertical slicing would probably deliver the most value. However, incremental improvement is always expected for every bit of work that we do, irrespective of horizontal or vertical slicing.

It is expected that starting 2nd week of May, 2010 - mifos core team and TW team would try to do a spike that would

End of the exercise, a sets of guidelines (for development, estimation, techniques, ways of prioritization, rules-of-thumb) will be published for community acceptance and debate. And these would form basis of

Note: this is not a tech-only activity. Every action must lead towards achieving something for business. This exercise would be futile without the participation of business.

!How-can-mifos-migrate-to-envisaged-architecture.pptx