Page 1


Mifos is an initiative of Grameen Foundation’s Technology Center to  pioneer an open source platform purpose‐built for the microfinance  industry.    Mifos  leverages  a  global  technology  community  and  ecosystem of experts to provide a holistic management information  solution  enabling  microfinance  institutions  to  more  effectively  deliver financial services to the poor.  

Mifos Technology:  User Interface

Core Mifos Code Base

The technology  vision  for  Mifos  is  to  be  the  platform  that  is  purpose‐built  for  the  delivery  of  financial  products  and  services  to  the  poor,  comprising  a  core  portfolio  management  system,  robust  reporting  and  transaction  tracking  capabilities,  and  an  intuitive  user  interface.  The  Mifos  1.1  software  (scheduled  to  be  released  in  July  2008)  has  significant  functional  and  architectural  improvements  including  enhanced  reporting tools, localization support, more flexible user  configuration,  and  the  inclusion  of  social  performance  metrics  like  PPI.    Mifos  is  built  using  several  mainstream,  Java‐based  open  source  technologies,  allowing  the  Mifos  engineering  team  and  developer  community to leverage and reuse existing technologies  while  focusing  on  augmenting  them  with  the  core  domain  and  business  logic  needed  to  make  Mifos  the  best  possible  platform  specific  to  the  microfinance  industry.    Mifos  1.1  is  our  biggest  and  highest  quality  release  to  date  and  is  capable  of  scaling  to  serve  hundreds  of  thousands  of  clients  as  demonstrated  by  its success at Grameen Koota in Bangalore, India. 

•HTML (some Javascript)

Presentation Layer •Struts/Tiles/JSP

Application & Business Logic •Java/Tomcat

Persistence Layer •Hibernate

Database •MySQL

Data Migration Process •Custom SQL Scripts

Reporting •BIRT, runs in Eclipse

Architecture – Mifos 1.1  

Transaction Code

Persistence Code


Service Layer


Domain Objects

Mifos 1.1 is architected as a web‐based business application specific to MIS for microfinance.  It  employs  a  modern  open  source  technology  stack  of  Java  5,  an  application  server  (such  as  Tomcat  5+),  a  standard  relational  database  (MySQL  5),  some  use  of  Spring  application  framework,  mainstream  object‐relational  mapping  service  (hibernate  3.2),  and  presentation  layer  (Struts  1.0  and  JSP  2.0).    Mifos  1.1  has  a  host  of  microfinance‐enabling  features  built  in,  such as support for group lending and other loan products, savings products, collection sheets,  bulk  entry,  flexible  repayment  schedules,  etc.  all  of  which  can  be  configured  specifically  for  various locales, currency, microfinance offerings and business processes.  Version 1.1 is steadily  evolving to become an easily extensible platform, providing a stable API and services layer for  customization in a way that is easy to maintain and upgrade.  

Presentation     Layer


Architecture Mifos 2.0   Web Services

Service Layer

Persist Repository/DAO

Domain Objects

Mifos 2.0  is  being  designed  for  significantly  increased  flexibility  and  extensibility.    The  same  open source technology stack will be used in 2.0, along with the introduction of Spring security,  standard  web‐services  protocol  implementations,  an  upgrade  to  Struts,  as  well  as  various  libraries  for  generic  functionality  such  as  handling  international  dates  and  times.    The  major  changes  in  the  architecture  will  be  a  conceptual  unwinding  of  specific  business  logic  which  is  tightly coupled in version 1.1 into a highly componentized and decoupled model in version 2.0.   The  component‐based,  dependency‐injection  design  will  allow  for  the  core  architecture  in  version 2.0 and beyond to support a variety of different customizations in a way that can still  leverage the new API and service layer, with a well‐supported upgrade path to future versions.  

2008 Grameen Foundation – All Rights Reserved 

To learn more please visit:  

Development Methodology  Development  of  Mifos  is  guided  by  a  strong  agile  development  approach  which  allows  our  core  engineering  and  product  management teams to flexibly and rapidly manage the incoming contributions from both internal developers and our community.   Our overall process includes triage, story cards, estimation in story points, burndown charts, pair‐programming, and code reviews. 

Collaboration Tools  Mifos strives to instill our community with both the vision and resources necessary to collaborative and effectively contribute to the  Mifos platform.  This toolset will continue to evolve and grow as we aim to foster community‐wide transparency and interaction:  ‐ Mailing  Lists  –  Developer  and  functional  mailing  lists  hosted  on  (along  with  publically  archived  mirrors)  serve as primary communication channel with more than three hundred monthly posts.   ‐ Web Portal – Interactive web portal powered by the Plone open source content management system houses our  developer’s wiki, deployment project pages, knowledgebase & documentation, and searchable community directory.  ‐ Issue Tracker –‐hosted issue tracker is used to report, track and monitor bugs, patches and feature enhancements.  ‐ IRC Channel – IRC#Mifos is our chat room where our engineers and community members vibrantly discuss Mifos  ‐ Fisheye – Hosted by, Fisheye allows our developers to browse and access our source code from their browser.  ‐ Bamboo – Our continuous integration server provides a running build of the latest in‐production Mifos code.  ‐ Demo & Test Servers – Users & developers alike can test and evaluate both stable and in‐development releases of Mifos.  ‐ Community Events – Community‐wide activities like planning poker and bug bashes are held frequently to unite efforts. 

Community Leverage  A  fundamental  component  of  Mifos’  ability  to  deliver  a  technology  platform  for  the  microfinance  industry  will  be  our  success  in  harnessing and reinforcing the contributions of both the technical and business communities around Mifos.  These communities will  be  an  integral  part  of  the  broad  ecosystem  around  Mifos  driving  new,  additive  functionality  to  accelerate  the  breadth  of  the  platform and to create region‐specific capabilities. The community augments the Mifos core engineering team by strengthening the  quality  and  integrity  of  the  Mifos  software  platform  through  feedback,  testing,  bug  reporting  and  fixing,  and  general  QA.   Additionally, they will extend the platform and enhance functionality by providing feedback and feature requests to the engineering  team and by actually specifying, developing, and contributing new features to the community code base, enabling region‐specific  functionality, localization, and enhancements for local regulatory and operational environments.  Strategic  partnerships  have  played  a  major  role  in  the  development  of  Mifos;  our  collaboration  with  IBM  has  significantly  accelerated the progress of v1.1 through the contribution of over a dozen full time resources developing code, performance testing,  and providing full QA.   Additionally, Goldman Sachs and Sungard have contributed to the efforts behind v1.1 of Mifos.  Strategic  technology initiatives and alliances like these will continue to propel the development of our platform into the future. 

Community Growth  


Posts to Developer Mailing List  (Nov 2006 ‐ June 2008)

July 2008 ‐

v1.1 Launch While  the  Mifos  community  is  still  quite  nascent,  it  has  steadily  gained  450 momentum  through  organic  growth.  The  promise  and  potential  is  400 Aug 2007 ‐ astounding when considering that within Mifos 1.1, there is already code  350 Launch 300 contributed from North America, Western Europe, Tunisia, India, China,  Nov 2006 ‐ and  Nepal.    Traffic  to  since  August  2007  has  surpassed  over  250 Initial Mifos Launch 200 50,000 unique visits from 180 different countries.   Monthly posts to our  150 developer’s  mailing  list  have  gradually  grown  as  we’ve  progressed  100 towards the release of v1.1 (see graph).  50   0 Recently,  community  efforts  to  develop  a  mobile  interface  into  Mifos  have  been  spear‐headed by a Nigerian IT firm who attended our inaugural Mifos workshops in  Voice from the Community  Kenya.    Community‐driven  deployments,  being  supported  through  and  Working to get a technology like Mifos into MFIs  our  mailing  lists,  have  arisen  in  Colombia,  India,  Lebanon,  Nigeria,  Senegal,  and  that serve the worlds poor is indeed rewarding,  most  notably  Nepal.    Magnus  Consulting  is  leading  the  deployment  of  Mifos  at  and at the end of the day, for most of us, this is  both the Centre for Self‐Help Development Nepal and SB Bank and has contributed  what keeps us motivated.  the  first  community‐lead  feature  into  Mifos  1.1  by  specifying,  developing,  and  Soham Dhakal, Magnus Consulting  contributing the code for a new interest rate calculation method. 

2008 Grameen Foundation – All Rights Reserved 

To learn more please visit:  

Mifos Overview  

Overview of Mifos functionality