Season of Docs - 2021

Technical Writers - Apply Now!

Mifos has been accepted into the 2021 Season of Docs and are actively seeking applicants for our project listed below. Ideal candidates should at least have experience with technical writing for software projects, with previous experience around documentation for open source projects and fintech being a plus as well. Interested applicants should send their resume and at least three documentation projects you've worked on previously to edcable@mifos.org by May 1, 2021. 

About Mifos

The best way to understand what we do is to watch a few videos. 

What is Mifos and What Does our Community Do?

How is the Mifos software used? 

  

   

2021 Season of Docs Timeline

Please see Google Season of Docs website for the full program timeline. Here are a few key dates and their current status:

Program announcementFebruary 9, 2021
Season of Docs program announced
Organization applicationsFebruary 9, 2021 at 18:00 UTC
Organizations can begin submitting applications to Google

March 26, 2021 at 18:00 UTC
Deadline for organization applications

March 26 - April 15, 2021
Google program administrators review organization applications
Organizations announcedApril 16, 2021 at 18:00 UTC
Google publishes the list of accepted organizations
Doc developmentApril 16, 2021
Doc development can officially begin
Technical writer hiringMay 17, 2021
Technical writer hiring deadline
Monthly EvaluationsJune 16, 2021
Organization administrators begin to submit monthly evaluations to report on the status of their project
Final project evaluation and case studyNovember 16 - 30, 2021 at 18:00 UTC
Organization administrators submit their case study and final project evaluation
Results announcedDecember 14, 2021
Google publishes the 2021 Season of Docs case studies and aggregate project data
Followup surveysMay 2, 2022
Organizations begin to participate in post-program followup surveys

2021 Proposal - Consolidate Documentation into Mifos Developer Portal 

About the Mifos Initiative

The Mifos Initiative is a global 501(c)3 fintech non-profit  leveraging the cloud, mobile & open source community to democratize financial services worldwide and digitally transform the world’s 3 billion poor and underbanked. We aim to create a world of 3 Billion Maries where everyone has access to the financial resources needed to create a better life for themselves and their family. Our unprecedented approach unites financial institutions, local technology partners, and volunteer developers to collectively advance open source banking infrastructure to sustainably build impactful innovations in digital financial services.

We guide the global Mifos ecosystem of partners and volunteers contributing back to the open source Mifos and Fineract platforms. Mifos donated the codebase to the Apache Software Foundation for what ultimately became the top-level project, Apache Fineract. Both Mifos and Fineract have been nominated and selected by the Digital Public Goods Alliance as foundational digital public goods for the Financial Inclusion Community of Practice. 

More than 20 million clients supported by 400+ fintechs and financial institutions use our open APIs to power their solution across 41+ countries. They are supported by a global community of 100 deployment partners & hundreds of volunteers.

Mifos  is the innovation that powers the innovators by providing a set of open source building blocks that can be composed into financial services of any form. Across the world from grassroots microfinance institutions in rural Africa serving dozens of clients with microloans to government-led banks in Latin America reaching millions to banks in Germany delivering mortgage loans, from digital credit startups reaching hundreds of thousands in West Africa to mobile wallet providers supporting millions in India, to cloud-based core banking systems reaching millions across multiple continents to banking as a service providers enabling neobanks, our open banking stack is transforming the delivery of digital financial service

For the past 15 years, we’ve been at the forefront of transformative technology, building an end to end open source stack for DFS. Our technology stack provides complete banking infrastructure that is cloud-native, mobile-enabled, and scalable to billions that are underbanked. Our stack is a set of Open Source Lego Blocks for DFS including flexible account management (Mifos X) leveraging Open APIs from Apache Fineract and Fineract CN, integrating with digital payment rails like Mojaloop, delivered via web and mobile apps through Open Banking APIs.  

At the heart of our stack is Fineract and Finerat CN, our next generation application framework architecture for DFS, Fineract CN. Coupled with our Mifos web app UI on top of these platforms, We provide a flexible account and wallet management system to enable the delivery of any digital financial service. Next in our stack is our Payment Hub EE which provides a gateway and orchestration engine to connect to real-time payment services and interoperable payment rails like Mojaloop.   Think of Mifos as the DNA of financial services that can be put together into many expressions and Mojaloop as the connective tissue enabling low-cost payments across any system. On top of these open source rails and accounts are reference customer-facing mobile banking and mobile wallet apps which consume our Open Banking APIs and third party PISP APIs. We provide these open source building blocks of financial inclusion, train and certify a network of partners to build solutions with these building blocks, and support and sustain the collaborative infrastructure and ecosystem for these solutions to be scaled and distributed worldwide. 

Documentation audiences across our community include the end users of our software, the staff of financial institutions and fintechs that use Mifos to create customers and their accounts, configure loan and savings products, process transactions and track repayments and deposits, manage their general ledger and generate financial and operational reports. The primary audience of our documentation is our partner community who host, deploy, configure, and support the software for these financial institutions, build new fintech solutions and applications using the APIs, and develop, maintain, and extend the core upstream project which powers their solutions. Joining these partners as part of our developer community are individual volunteers, interns, and corporate strategic partners who collectively guide the development, QA, and release management to ensure timely and high-quality open source releases of our platform.

Our Problem & Need

This project will help provide a unified source of documentation to guide developers and implementers who are building on the stack, deploying it, and contributing to it. It will serve as the foundation of our developer portal which will accelerate innovation of new fintech solutions, ease the onboarding of new partners and contributors, and increase upstream contributions to the project. This consolidated documentation will provide an understanding of the entire landscape of solutions around Mifos and Fineract including the core banking platform and the ancillary web and mobile apps, and integration and API layers on top. It will help developers and implementers understand the two generations of architecture, which use cases each is ideal for and the boundaries of the project for them to build upon. It will help innovators deploy the platform and quickly get engaged so they can envision the experiences they can build,  and help guide new contributors to contribute back to the upstream project according to the Apache Way. 

Currently our documentation is spread out across multiple places including Confluence and Github wikis that we’d like to consolidate or at least link to consistently from one Gitbook for the community. A number of factors have led to this disjointed and fragmented documentation. 

  • The transition of the Mifos X platform to Apache Fineract as an Apache top-level project led to wiki documentation on both Mifos and Apache infrastructure.
  • The rollout of our next generation architecture, Fineract CN, has led to a split between technical, functional and end user documentation for the back and front-end applications for Fineract 1.x and Fineract CN. 
  • The gradual proliferation of more mobile and web apps for staff and customers along with ancillary solutions like payment hub, api gateways, chabots, credit scorecards, etc for both generations have led to confusion and a lack of documentation. 

The more unified we can make our documentation and show how the various components and solutions all fit together via live APIs and sandbox environments,  the more innovation and upstream contribution we can catalyze. 

Project Scope

The project will consist of a mix or re-organization and consolidation of existing documentation, updates and rewording of existing documentation and the writing of some new sections of content. 

We have several volunteers on the functional and technical side working ongoing updates of documentation. We do not have any technical writer yet identified for this project but they will extend upon existing documentation and the efforts of our developers. 

Reorganization & Consolidation

Documentation exists in multiple places and some of this documentation will be maintained in its current place but this developer portal will centrally link to the most up to date version of documentation. 

  • Design high-level information architecture that links to the various native sources of documentation that will still be maintained as the central source of documentation for that repo, etc (Github readme, confluence wiki, etc) (3 days) 
  • Provide recommendation on how documentation can seamlessly integrate into a developer portal (1 day) 
  • Organize sections and topics in current Gitbook documentation according to the currently proposed outline of project documentation across the various web, mobile apps, and solutions on top of the two generations of architecture. (4 days)
  • Work with volunteers to ensure outdated content is deprecated and no broken links are present in documentation.  (2 days)

Timeline: 10 person-days 

Update Existing Documentation

A wealth of documentation already exists but some of it needs to be elaborated upon, expanded, or updated to reflect more recent technical or functional changes to the software itself, changes to infrastructure or community processes, etc. 

  • Update architectural overview of our second generation Fineract 1.x platform to more accurately reflect monolithic app architecture and succinctly describe its multiple layers and updating the corresponding dependencies for each layer. (3 days)
  • Update architectural overview of our third generation architecture showing a high-level overview of the microservices, the underlying libraries and third party components its built upon and how the overall microservices interact with each other. (4 days) 
  • Updates to the description of each microservice on the wiki/readme to help implementers and contributors understand its purpose in the domain driven design and a functional/technical overview of each microservice. (5 days) 
  • Updates our recently written Swagger/OpenAPI documentation to have similar descriptions of each section as that of our static HTML API documentation.  (2 days) 
  • Update coding standards to reflect current community procedures after recent refactoring of implementation of more run-time static analysis and code quality scanning tools. (1 day) 
  • Update our guide on our contribution process and the Apache Way to more accurately reflect the norms and process for contribution and best practices of upstream development while still maintaining a production-ready version of a downstream solution.  (2 days) 
  • Update installation and  cloud deployment guides to reflect the updated tools and scripts that the community has written to support more of the DevOps advances that have been made around containers and Kubernetes and to reflect current releases and major dependency changes. ( 4 days) 
  • Update FAQs explaining difference between Mifos and Fineract. (2 days) 

Total: 23 person-days 

New Documentation

  • Draft high-level summaries of each project/repository/solution to show how the entire landscape of Mifos/Fineract software is connected to form a set of composable building blocks to create different financial services. (5 days) 
  • Draft an explainer on the new architecture originating from the technical reviews done by the community members to document the pros and cons of the new architecture, design decisions and rationale for the new architecture and which generation of the core platform (Fineract or Fineract CN) is ideal for which functional use case. (5 days) 

Timeline: 10 person-days

Review & Incorporate Feedback

Based on review of the above deliverables by project supervisor and volunteers, technical writer will implement feedback and refine deliverables

Timeline: 7 person-days

Project Total: 50 person-days

Out of Scope

The following items are out of scope for this project: 

  • Updating User Manual  - Current user guide needs to be updated for several new features that have been developed and for screenshots to reflect new UI changes that have been implemented
  • Updating Payment Hub EE  and API Gateway documentation - our recently developed Payment Hub EE and API Gateway for Open Banking layer both could benefit from refining and expanding to add additional helpful context. 
  • New live API Documentation - APIs for Fineract CN need to be documented in Swagger format. 
  • Updating our deployment toolkit - our deployment toolkit consists of a six-stage process along with reference templates that could be updated to reflect new features - this is out of scope. 
  • Documentation of Data Model - to assist in the reporting and understanding the Mifos/Fineract data model, a more comprehensive set of documentation/data dictionary could be developed. 
  • Partner Onboarding Guide - These technical docs along with our other resources like deployment toolkit, etc could be gathered into a more comprehensive partner onboarding guide which is out of scope for this project. 
  • Functional Specifications of new features - a valuable supplement to our technical and end user documentation are detailed functional specifications for brand new features. This is out of scope. 

Measuring Project Success 

We would consider the project successful if, after the consolidation and updating of the documentation into a Developer portal:

  • Number of pull requests and upstream contributions increase by 20%
  • Number of onboarded partners increase by 10 over a 3 month period. 
  • Number of new volunteers onboarded grows by 10 over a 3 month period 
  • Number of partners making contributions upstream increases by at least 5 additional partners. 
  • Number of new solutions developed by ecosystem grows by at least 3 new solutions powered by the APIs 
  • Number of questions on mailing list regarding to how deploy or configure the platform goes down by 20%

Project Budget

Total project budget is $10,000 USD


Item

Amount

(USD)

Running Total

(USD)

Notes/Justification
Technical Writer $6500$6500
Graphic design - architecture diagrams, flow diagrams and visuals to accompany documentation$1000$7500
Project Management, Supervision, and Review of Deliverables$850.00$8350To cover partial cost of scoping out project, managing its delivery and final review of deliverables. 
Volunteer Stipends (3 at $500 each)$1500$9850For volunteers that will be closely providing information and/or reviewing deliverables 
T-Shirts for Volunteers$150$10000Printing of t-shirts for documentation volunteers

Additional Information

Previous experience with technical writers

We have worked extensively with technical writers before in the creation of user-facing and developer facing documentation. We have done this through community-wide efforts and documentation sprints via the FLOSS Manuals community, dedicate sabbaticals and long-term volunteers like Laurie Wilmot and Bharathi Ram, as well as with university students as part of their technical writing curriculum and with live documentation and conversion of our APIs to Swagger format through GSOC. 


Primarily we have engaged with technical writers to draft functional documentation for end users and system administrators in configuring and using the Mifos X web application and mobile applications. For our Generation 1 Mifos 2.0 software, we worked extensively with the FLOSS Manuals community to create and maintain documentation, leveraging the entire community to assist in the review process. As new features were rolled out, volunteer, Bharathi Ram would  create the user manual based on functional specs for each new feature. You can learn about this experience at https://mifos.org/blog/star-contributor-month-bharathi-ram-donnie-tuck/. Documentation would then be tested out and used as the basis for instructional videos and user acceptance testing. For our Generation 2 Mifos X software, volunteer Laurie Wilmot took on the major task along with several university students focusing on technical writing to create our entire Mifos X manual.  Read https://mifos.org/blog/star-contributor-month-laurie-wilmot/ to learn more. We had to focus deeply on the information architecture to ensure that the manual was created to both cater to administrative users configuring the software as well as staff using the software on a daily basis. Through GSOC, GCI, and with volunteers in general, we have worked in improving our technical documentation, especially our installation guides and manuals including working with an Outreachy intern, Lydiane Kengne, to convert our User Manual to Gitbooks format. 

Our major learnings from these experience has been a clear process and goals for the documentation to be produced, extensive understanding of the use cases being supported and what the technical or functional user is expected to do, maintainability of the documentation and ease of access, as well as testing with end users to ensure the documentation created is accurate and allows the user to create their desired task. 

Previous participation in Season of Docs, GSOC, etc

The Mifos Initiative has a long track record in participating in programs like Google Summer of Code and Google Code-In. We have participated in Google Summer of Code for nine different years, graduating 17 interns in the last GSOC program we participated in 2020. These open source programs represent a critical growth engine for our community as described in our Endless Summer of Code video: