Mifos Overview
-
Upload
grameen-foundation-mifos-initiative -
Category
Documents
-
view
218 -
download
8
description
Transcript of Mifos Overview
2008 Grameen Foundation – All Rights Reserved To learn more please visit: www.mifos.org
UNLOCKING THE POTENTIALOFMICROFINANCE
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: 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.
Architecture – Mifos 1.1 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.
Architecture Mifos 2.0 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.
•HTML (some Javascript)
User Interface
•Struts/Tiles/JSP
Presentation Layer
•Java/Tomcat
Application & Business Logic
•Hibernate
Persistence Layer
•MySQL
Database
•Custom SQL Scripts
Data Migration Process
•BIRT, runs in Eclipse
Reporting
Core
Mifo
s Co
de B
ase
Persistence Co
de
Tran
saction Co
de
Struts
Service Layer
Repository/DAO
Domain Objects
Persist
Txn
Presentation Layer
Service Layer
Repository/DAO
Domain Objects
Web Services
2008 Grameen Foundation – All Rights Reserved To learn more please visit: www.mifos.org
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 Sourceforge.net (along with publically archived mirrors) serve as primary communication channel with more than three hundred monthly posts.
‐ Mifos.org 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 – Java.net‐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 Java.net, 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 While the Mifos community is still quite nascent, it has steadily gained momentum through organic growth. The promise and potential is astounding when considering that within Mifos 1.1, there is already code contributed from North America, Western Europe, Tunisia, India, China, and Nepal. Traffic to Mifos.org since August 2007 has surpassed over 50,000 unique visits from 180 different countries. Monthly posts to our developer’s mailing list have gradually grown as we’ve progressed towards the release of v1.1 (see graph).
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 Kenya. Community‐driven deployments, being supported through mifos.org and our mailing lists, have arisen in Colombia, India, Lebanon, Nigeria, Senegal, and most notably Nepal. Magnus Consulting is leading the deployment of Mifos at both the Centre for Self‐Help Development Nepal and SB Bank and has contributed the first community‐lead feature into Mifos 1.1 by specifying, developing, and contributing the code for a new interest rate calculation method.
Voice from the Community
Working to get a technology like Mifos into MFIs that serve the worlds poor is indeed rewarding, and at the end of the day, for most of us, this is what keeps us motivated.
Soham Dhakal, Magnus Consulting
0
50
100
150
200
250
300
350
400
450
500Posts to Developer Mailing List
(Nov 2006 ‐ June 2008)
Nov 2006 ‐Initial Mifos Launch
Aug 2007 ‐Mifos.org Launch
July 2008 ‐v1.1 Launch