Mifos: Ending Poverty One Line of Code at a Time (Jazoon 2010)


Published on

Presentation about Java-based Microfinance application MIFOS first given at Jazoon Conference in Zurich on June 3rd 2010.

Published in: Technology, Economy & Finance
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Mifos: Ending Poverty One Line of Code at a Time (Jazoon 2010)

  1. 1. Ending Poverty One Line of Code at a Time Mifos - the Grameen Foundation's Java-based Microfinance application Michael Vorburger Odyssey Financial Technologies #170
  2. 2. $ ls presentation/ > About Speaker > Intro / Step back > What's Microfinance? > What's Mifos? > You? 2
  3. 3. $ whoami > Day job as Development Manager for the Design Studio product at Odyssey Financial Technologies, a leading financial technology company for the Private Banking, Private Wealth Management and Asset Management industries, with over 200 financial institutions in more than 30 countries as clients. > Trivia: Jazoon 2007 speaker (“Pragmatic Model Driven Development (MDD) using openArchitectureWare”), co-author of “Core Java Data Objects” book; Android and Twitter addict! ;-) > Mifos volunteer; so far mostly infra, some minor patches. (No official affiliation with the Grameen Foundation) > Lives & works in Lausanne, Switzerland. 3
  4. 4. $ ls /dev Java Tomcat HTTP HTML CSS Struts XML Hibernate ORM JPA Eclipse JDK JS MySQL Reporting Open Source PDF Security Testing Spring Git Maven SSL Apache Hudson Subversion Performance BIRT > All of you here know about this good stuff – but what do YOU use these technologies FOR? > For the next 20', let's together look at why, how and towards what goal project Mifos uses all of the above... 4
  5. 5. printf(“Hello World”) > Six million children die of hunger every year, 17,000 every day. > About 2.7 billion people live on less than $2/day (World Bank poverty definition; 2001 data). > At a total world population of 6.8 billion - that’s 40% ... > http://en.wikipedia.org/wiki/Poverty#Absolute_poverty > http://en.wikipedia.org/wiki/Theories_of_poverty#Poverty_as_restriction_of_opportunities > http://en.wikipedia.org/wiki/Extreme_poverty > http://adamfeuer.com/2010/02/27/scaling-microfinance/ 5
  6. 6. $ man Microfinance & Microcredit > Microfinance provides financial services to > Women form the huge majority very low-income clients who lack access to of microcredit customers. traditional formal banking services. – “Banking for the poor” > Group / Solidarity Lending is common, creating a bond > Prof. Muhammad Yunus founded the among a group of clients. Grameen Bank in the late 1970s in Bangladesh and successfully scaled profitable microcredits to millions of people. > Typically ~ 98% loan repayment – Nobel Peace Price 2006 (recovery) rate. > The Vision is to eradicate poverty by empowering the poor to help themselves. > Often only Loans, not Deposit – Yunus: “Our grandchildren should have (Savings) accounts (hesitancy to go to the museum to see what poverty was like.” among regulators) 6
  7. 7. $ what MFI Users Clients > A Microfinance Institution (MFI) lends the money to their Clients – Typically “small” amounts ~ $100-ish – MFIs range from small non-profit organizations to large commercial banks, with 90% of the available money going to the 130 largest MFIs. > Loan Officers meet clients typically (bi)weekly to collect repayments. They often travel by riding bikes or motorbikes to the MFI's clients in the field. – MFI is normally urban, while clients are both urban (shopkeepers, service providers, artisans and street vendors) and rural (e.g. small farmers) > Mifos is the software used at the Microfinance Institution headquarter and/or Field Office. The Loan Officers are the “users” of the Mifos application in the technical sense. 7
  8. 8. 8
  9. 9. 9
  10. 10. $ man GrameenFoundation > Grameen Foundation USA "was founded to help microfinance practitioners and spread the Grameen philosophy worldwide (…) to enable the poor to create a world without poverty”. – Progress Out of Poverty Index™ – Bankers without Borders® (Volunteers) > Grameen Technology Center: > MFI financing, helping with growth; provides loan guarantees for 50+ MFIs – Mobile Financial Services in 22 countries, link to capital markets – Mobile Health > Replicate successes elsewhere – Village Phone – AppLab – Mifos! 10
  11. 11. $ man Mifos (MIcroFinance Open Source) > Technology remains one of the major barriers inhibiting the expansion of microfinance globally. Many MFIs are reluctant to invest their limited resources in technology. > To help microfinance scale to reach the hundreds of millions in need, Mifos transforms technology from a barrier into an accelerator for microfinance. 11
  12. 12. fstat(“/dev/mifos”) > http://sourceforge.net/projects/mifos/ registered 2004-11-19 > Initial release (and some early publicity) in 2006 > Winner of JavaOne 2009 Duke's Choice Award for Best Java Technology for the Open Source Community > Google Summer of Code (2009 & 2010) student volunteer programs > Today – About 214 database tables according to SchemaSpy job on http://ci.mifos.org/schema/head/latest/ – About 120'000 Lines of Code (NCSS, Non Commenting Source Statements) according to Sonar report on http://ci.mifos.org:9000/project/index/1 > Very active mailing list, bug tracker, and IRC channel 12
  13. 13. $ arch --today > Classical (2005-ish) Java web app non-EJB architecture! – “MySQL / Hibernate / Struts / JSP” > Eclipse BIRT used for some reporting > Layering dependencies direction not yet perfectly clean; somewhat “heterogeneous” when you look at the code... (as many in-house applications are as well!) – Changing technical ownership – Elements of future architecture being incrementally added (e.g. Spring already, sometimes..) – Functional Focus 13
  14. 14. $ arch --future > This is a “Future Architecture” diagram from a year ago... – Spring Core for IoC used now – Templating via Freemarker started – Spring MVC not really used – OSGi transition not made 14
  15. 15. $ cat Breakpad (Challenges) > “Concrete lessons learned, and challenges, from the various deployments world-wide” : > Better reporting (“Business Intelligence”) – Going from tech. BIRT engine integration to 15 std reports on a DW (Talend / Kettle ETL) for BI > The Cloud! SaaS / PaaS (AKA Hosting) – For small MFIs – Early Amazon EC2 hosted service offering > Integration & data migration tools and services – For large MFIs, with existing systems > Offline & Mobile 15
  16. 16. # ifdown eth0 (Mifos Offline) > Re. Internet connectivity: – Head or branch office is typically in a Internet-connected urban environment – Typically the Loan Officers in the field “interface” the clients to the MFI, paper-based and manual updating of MFI's MIS in head or branch office (“collection sheet” feature) > Making this process more efficient and less error prone is of interest... technical solution could be based on (from various recurring posts on the mailing list) : – Saved HTML v5 offlineable “application” (formerly Google Gears), for laptop or mobile – Simply an excel sheet import?! (carrying around any laptop, even fairly old) – Java ME (J2ME) Application (widely available phones; or fancy Android/... smartphone) – Mobile web UI accessed via data plan enabled phones (availability?) – SMS gateway-based integration? > Such a project needs primarily needs “functional” analysis, and local understanding of the real user need, and then the actual “technical” solution... 16
  17. 17. # ifup wlan0 Mifos Mobile integrations > If the clients (the ultimate borrowers) could be brought “closer” to the MFIs, this would decrease the hassle of banking for clients, and dramatically decrease costs for MFIs, since each loan officer can handle more clients / less loan officers would be needed. > Emerging “Mobile banking” is an interesting natural fit for Microfinance... seach the web e.g. for M-PESA to learn more (http://en.wikipedia.org/wiki/M-Pesa) > Mifos is doing a first such integration, with M-PESA 17
  18. 18. # nmap Mifos (Deployments) > Mifos is in production in Microfinance institutions in... – India:  Grameen Koota, headquartered in Bangalore (500,000 clients)  ASOMI – Assam, India (33,000 clients)  Adhikar - (83,000 clients) – Tunisia: ENDA, Tunis (120,000 clients) – Philippines: SECDEP, Iloilo (8,000 clients) – Kenya:  Jitegemea Credit Scheme, Nairobi (6,000 clients)  KEEF – Nairobi (M-PESA integration) (13,000 clients) – smaller ones also in Senegal and Ghana; and more than a dozen additional active deployments in progress in: India, Philippines, Kenya, Nepal, Mexico, Mozambique, Lebanon. > More than 750'000+ clients accounts managed in Mifos deployments! 18
  19. 19. # nmap Mifos (Deployments) Open Source MIS Initiative Current Release – Mifos 1.5 Mifos Cloud launched by Grameen Mifos customers Launched in 2009 Foundation in Nov 2006 serving 750,000+ globally ASOMI Assam, India Adhikar 33,000 Orissa, clients ENDA India Tunis, Tunisia Mifos 120,000 82,000 Grameen HQ clients clients Koota SEM Fund Bangalore, Senegal Al Majmoua India Beirut, 500,000 SECDEP 1,000 Lebanon Clients clients 20,000 iloilo, PH Clients 8,000 Jitegemea clients KEEF Nairobi, Nairobi, Kenya Mifos Customers Kenya 13,500 6,000 clients Regional Mifos Presence clients In-progress deployments
  20. 20. HTTP://WWW ... > http://mifos.org/ > http://www.youtube.com/watch?v=E0OGeRdluyU – Mifos Intro. Video > http://www.gfspl.in - Grameen Koota, Bangalore/India – MFI using Mifos > http://mifosforge.jira.com – 100+ issues tagged “volunteer” ... > http://demo.mifos.org:8080/mifos/ – pwd/uid = mifos / testmifos > https://ci.mifos.org/hudson & e.g. http://ci.mifos.org/schema/ > http://mifos.git.sourceforge.net/git/gitweb-index.cgi (very recent) and http://fisheye3.atlassian.com/changelog/mifos/ or http://mifos.svn.sourceforge.net/viewvc/mifos/ (previous SVN history) > http://groups.google.com/group/mifosdeveloper > #mifos on irc.freenode.net & http://www.mifos.org/developers/listserv/irc-mifos/irc-logs > http://twitter.com/mifos (@mifos) 20
  21. 21. $ talk you@mifos.org – Get Involved! > Join the global collaborative Mifos community and united effort to build and extend this platform that fuels innovation from the bottom up and empowers the poor to ascend out of poverty. There are many ways to get involved: – Build acceptance tests – Find & fix bugs (look around JIRA for open issues you could have a go at) – Answer questions on users mailing lists – Guide implementations on-site – Write new or complete existing documentation – Localize by translating documentation or Mifos UI using Pootle – Localize by building local region-specific reports > Get on the mailing and/or IRC and say Hello! People will point you to how and where you could contribute... 21
  22. 22. Acknowledgments > This presentation was prepared based on some material from, in collaboration with and reviewed by the grameenfoundation.org's – Edward Cable – Adam Feuer – Adam Monsen – Van Mittal-Henkle – Jeff Brewster – Emily Tucker > Thank you! 22
  23. 23. vlc mifos - Let's all... go to the Movies! 23
  24. 24. Q&A Q&A 24
  25. 25. Michael Vorburger http://vorburger.ch http://www.odyssey-group.com mike (at) vorburger.ch @vorburger (Twitter)
  26. 26. Additional Slides removed from presentation brevity (20 min.) 26
  27. 27. Screenshot 27
  28. 28. Screenshot 28
  29. 29. 29
  30. 30. Documentation > Look, there is even real end-user documentation! ;) 30
  31. 31. Mifos Arch. > Internal services coming along nicely; logical next step is remotely exposing a service façade... via WSDL/SOAP and/or REST API > Grails (Groovy) or Spring Roo being thought about for a possible front-end re-make... > Sexier UI via jQuery (with GWT?) mentionned... > Sounds familiar?? 31
  32. 32. Mifos in the Cloud > Particularly small MFIs generally don't have the people and other resources to run an enterprise application on their own premises by themselves, or host it themselves. Having the the application hosted, with managed backups, monitoring, software upgrades, etc., is what MFIs want - and reduces the friction of getting it up and running. > A “click-and-go solution” on the cloud helps a lot and is quite feasible. Mifos already has an early Amazon EC2 hosted service offering, and small MFIs can just do data entry to get their data into Mifos. > Lacking key functional features for this is integrated accounting, being worked on for several regions (accounting solutions vary by country). 32
  33. 33. Mifos Business Intelligence (Reporting), Data Warehouse > Functionally very important! A typically less “sexy” topic for many Java developers, but essential piece of the solution for MFIs to run their business. > Complete end-to-end business intelligence system coming soon; will be built using open source tools... > Based on data warehouse architecture > ETL system - for keeping the data warehouse up to date, using probably Talend and/or Kettle ETL tools > Reporting server with capability to serve HTML, PDF, XML, CSV, or other report formats > Goal: 12-15 good standard reports 33
  34. 34. About Mifos (MIcroFinance Open Source) > Microfinance has proven its power to alleviate global poverty by harnessing and unleashing the entrepreneurial spirit of the poor. > Technology remains one of the major barriers inhibiting the expansion of microfinance globally. Many MFIs are reluctant to invest their limited resources in technology. > To help microfinance scale to reach the hundreds of millions in need, Mifos transforms technology from a barrier into an accelerator for microfinance. > Mifos is an open source technology platform for the microfinance industry. At its core is an enterprise-level web-based management information system (MIS) which gives MFIs a cost-effective, flexible system providing the key functionality needed to deliver the entire operations of effective financial services to the poor: loan portfolio and client management, transaction processing, and real-time business and social insight. > Using Mifos, MFIs are able to grow more efficiently and extend more in-depth financial services through greater transparency, better agility, and broader visibility into their impact on the poor. 34