Season of Docs - 2023

Technical Writers - Stay Tuned

Mifos is applying for participation in Season of Docs once again. Check back in on March 31, 2023 to see if we have been accepted. 

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? 

  

   

2023 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 announcementJanuary 18, 2023
Season of Docs program announced
Organization applicationsFebruary 15, 2023 at 18:00 UTC
Organizations can begin submitting applications to Google

March 24, 2023 at 18:00 UTC
Deadline for organization applications

March 24 - March 30, 2023
Google program administrators review organization applications
Organizations announcedMarch 31, 2023 at 18:00 UTC
Google publishes the list of accepted organizations
Doc developmentMarch 31, 2023
Doc development can officially begin
Technical writer hiringMay 10, 2023
Technical writer hiring deadline
Technical Writing

March 31, 2023 - November 13, 2023

Hired technical writers work on documentation projects with guidance from organizations

Monthly EvaluationsOrganization administrators begin to submit monthly evaluations to report on the status of their project
Final project evaluation and case studyNovember 6 - November 21, 2023 at 18:00 UTC
Organization administrators submit their case study and final project evaluation
Results announcedDecember 5, 2023
Google publishes the 2021 Season of Docs case studies and aggregate project data
Followup surveysMay 1, 2024
Organizations begin to participate in post-program followup surveys

2023 Proposal - Improve Developer Experience for all Contributors & Innovators  

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. Our mission is to scale the development and impact of inclusive fintech through an open community to advance the financial health of these 3 billion underbanked. 

Mifos has pioneered open source banking technology for the past fifteen years transforming the entire sector at each major stage of evolution from microfinance to financial inclusion to digital financial services. Mifos guides the open source community, steers the roadmap, and stewards the vibrant ecosystem of organizations building solutions on top of Mifos and Apache Fineract. Our building blocks for banking, recognized as digital public goods and digital public infrastructure to achieve the UN SDG of No Poverty, make core banking commoditized infrastructure, empowering any organization, anywhere to embed any financial service to any customer via any channel. 

These building blocks provide the common functionalities for creating customers, managing wallets, savings and loan accounts, orchestrating payments, and  maintaining the financial ledger & reports. Highly scalable in the cloud, our composable modular platform architecture is delivered via a set of Open APIs and reference mobile and web apps for staff and customers.

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. Across the public sector, we are a critical digital public good to advance digital public infrastructure for financial inclusion such as G2P Payments:

  • Nomination and selection of both Mifos and Fineract by the Digital Public Goods Alliance as foundational digital public goods for the Financial Inclusion Community of Practice
  • Initial partners of the G2P Connect movement led by Co-Develop Fund
  • Guiding the design and implementation of the Payment Building Block for GovStack led by ITU, DIAL, and GIZ
  • Active participant in the Digital Convergence Initiative led by Universal Social Protection. 
  • Launching OpenG2P with DSTI and UNDP and now co-leading it with MOSIP. 

Mifos was chosen as an MIT Solver for the 2021 Digital Inclusion Global Challenge and awarded the 2021 Banking Tech Award for Mifos X for Best Contribution to Economic Mobility in Banking & Finance and the 2022 Banking Tech Awards for Payment Hub EE for Best Contribution to Economic Mobility in Banking & Finance. More than 25 million clients are reached by 500+ financial institutions across 56 countries using solutions powered by its APIs.

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 1.x, our  composable open source core banking platform that is highly scalable in the cloud and deployable via our reference apps and open APIs.  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 and Mobile Money APIs  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

Based on learnings from our previous Season of Docs participation and the progress made in 2021 with documentation consolidation and the progress made in 2022 around technical documentation for the revamped Fineract and Mifos releases, our 2023 Season of Docs will focus on documentation to improve the Developer Experience for all contributors and innovators of our project. 

As the breadth of our solution stack grows from microfinance to loan management to core banking to payment orchestration and the breadth of our use cases supported extend behind the private sector to public sector use cases around Digital Public Goods and Digital Public Infrastructure like G2P Payments, the need for improved documentation to enable a smooth developer experience is ever growing.

The audience for this improved developer documentation includes many different stakeholders and developer personas ranging from:

  • New Contributors - volunteers, interns, or anyone new to the project seeking how they can contribute to the the various solutions we have around core banking, mobile wallets, payment orchestration, G2P payments, etc. 
  • Developer Training - as financial institutions, integrators, governments, fintechs or any consumers of our software, start to use our 
  • Partner Onboarding - Local system integrators and partners deploying, localizatin, hosting, and supporting solutions powered by our open source projects need to self-equip themselves with the requisite knowledge and need better orientation in doing this a technical level. 
  • Fintech Innovators - Fintechs of all sizes need to be able to imagine and bring to life the many different DFS and fintech solutions that can be powered by our building blocks and require a smooth developer experience and sandbox environment to do so. 
  • Customers - For the IT staff of public and private sector customer evaluating our solutions and DPGs, they need a smooth and optimal experience to test out and experience our software. Evaluating the syste

For all of these technical stakeholders, we want to provide the smoothest developer experiences so they can:

  • Discover the broad capabilites of our solution stack
  • Envision what use cases it can support and the solutions they can bring to life
  • Effectively install the system and set up their development environment
  • Communicate, collaborate and contribution effectively with the community according to our community standards. 
  • Understand the value of and follow the best practices around upstream development to ensure a virtuous cycle.
  • Extend the platform or build new solutions via our Open APIs and SDKs
  • Sustainably scale these solutions in the cloud or on-premise environemnts using our DevOps tooling.

To overcome some of the challenges we faced in previous Season of Docs programs requiring heavy subject matter expert or developer participation to equip the technical writers with the proper functional domain or technical knowledge, the focus of this year's proposal will be more around the developer experience - from setup and installation, to collaboration and communication norms with the community, contributions standards and processes, and how to extending and building solutions using our APIs, and deploying these solutions in the cloud. This focus will reduce dependencies on our community around technical and domain knowledge yet require technical writers who have a strong technical background, including those with previous experiences as a software developer.

Project Scope (50 person days) 

The project will consist of refining existing documentation written by developers and writing new documentation. A small portion of the project will focus on continuing ongoing optimization, organization and consolidation of documentation.  

Developer Orientation (6 person days) 

This task would center around compiling and updating existing documentation and writing some new pages to orient developers on the solutions avialable and descriptions of the overall architecture and data model and repository structure for foundational projects like Fineract and Payment Hub-EE. 

  • Overview of the various solutions, projects, and repositories and building block components we provide and how they interact with each other to provide foundation for various financial inclusion, banking, fintech or G2P solutions. (2 days) 
  • Understand data model & architecture (2 days) 
  • Overview of PH-EE microservices and what does what. (2 days) 

Contribution Guide (3 person days) 

This task focuses on creation of a simple yet comprehensive getting started guide for new contributors and ensuring that each of the introductory pages for each of our solutions follows the common standard format for our developer documentation. 

  • Create New Contributor guide to help new contributors quickly get started and identify tasks they can work on. A great example is https://code.publiclab.org/ (1 days) 
  • Update Developer Landing Pages for each Project Solution -  contributing guidelines, project setup guide, troubleshooting tips, architectural description/overview, release notes/history. (2m days)

Installation & Setup (8 person days) 

This task area centers around ensuring developers can get a local development environment setup and configured as well as the ability to install and run production environment of our core solutions. 

Developer Environment Setup - Improve, update and streamine the following developer guides: 

  • Developer Environment setup for Mifos X & Fineract ( 1 day) 
  • Developer Environment setup for Web App (1 day) 
  • Developer Environment Setup for Mobile Apps (1 day) 
  • Developer Environment Setup for Payment Hub EE ( 2 days) 

Production Environment Installation - Improve, update, and streamline the installation guides for the following: 

  • Production Environment for Mifos X & Fineract on Linux including upgrade process and applying database migrations (2 days)
  • Production Enviornment for Payment Hub EE (1 day) 

Deployment in the Cloud (6 person days) 

We have a wealth of tooling avialable to enable the deployment of our solutions in containerized environments in the public cloud which is not very well-documented. 

  • Public Cloud Availability - Describe our strategy around public clouds and the availabilitiy of images for each public cloud provider like Azure, AWS, and GCP (1 day)
  • Update and refine documentation to ongoing DevOps tooling improvements for deployment of the platform and Payment Hub EE including Terraform scripts, Configurable Helm Charts, Kubernetes, Docker Files and Containerization Optimations
    • Describe the resources available for Mifos X & Fineract (Helm Charts, Docker Compose files, Terraform Scripts) (1 day) 
    • Describe the resources available for Payment Hub EE (Helm Charts, Docker Compose files, Terraform Scripts) (1 day)
  • Instruction guide & tutorial  on how to deploy using the above resources for containerization and infrastructure as code r
    • Mifos X & Fineract (1.5 days)
    • Payment Hub EE (1.5 days)

Collaboration & Contribution Experience (10 person days)

We need to ensure that contributors are oriented on our processes and best practices on not just contributin but contributing in an upstream fashion

  • Process Overview - describe and outline the process and flow for the following core community procedures: 
    • Reporting Bugs(.5)                                                                                                                                                                                                
    • Requesting New Features (.5)
    • Designing New Features & Major Improvements (.5) 
    • Submittting Pull Request - tutorial, guidelines, and best practices (.5)
  • Release Strategy - overview of our strategy for relases - LTS release, point releases/hot fixes for security updates including release management process (code freeze, voting, etc.)( 1days)
  • Contribution Guidelines - overview of our contribution guidelines and coding standards, best practices to be followed  (1 day)
  • Code Quality & Statutic Analysis - Draft documentation related to automated code checks, static analysis, and other build-level automation that has been introduced to improve code quality and reduce friction of upstream contribution  (1 days) 
  • Update documentation on upstream contribution process and ensuring that contributors know how to properly configure Github to sync their downstream codebase with upstream project and do development in an upstream-first manner that is aligned with Apache Way  (2 days) 
  • Draft documentation for QA/testers on how to write new tests and leverage the Cucumber Test framework  (2 days) 
  • Draft documentation for developers on how to write code leveraging new Cucumber test framework for unit testing  (1 day)

Using our Developer/Innovator Toolkit (10 person days)

Most important to our audiences is providing them with the tools and guidance to enabel them to create solutions of their own. Tutorials and guides for the following topics will be worked on. 

  • Integrating with other Systems (2 days) 
  • Connecting Channel Applications Securely via API Gateways (2 days) 
  • Extending the core Fineract system via Custom Modules to reduce need to fork  (2 days) 
  • Building new solutions/integrations via the API - familiarization with the API and tutorials on how to use the APIs (2 days) 
  • Building Solutions using our SDKs
    • Documenting what SDKs and libraries we have to help accelerate development along with tutorials/guides on how to use the various SDKs, mobile UI libaries and other components for developer enablement (2 days) 

Clean Up and organize API Docs (2 person days)

  • Clean up and organze existing API docs in Swagger/OpenAPI format for the platform and payment hub EE in the mifos.readme.io deveoper portal  (https://mf
  • Documentation of Mobile UI library and SDK Components (Optional scope) 

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. 

Review & Incorporate Feedback & Draft Case Study (3 - 5 person days)

  • Based on review of the above deliverables by project supervisor and volunteers, technical writer will implement feedback and refine deliverables
  • Draft season of docs case study 

Project Total: 50 person days

Ideal Skillsets

Due to the need for familarity with the developer experience and interacting with our software from the perspective of a developer, the ideal technical writer candidate should have previous experience as a developer or community manager including collaboration and communication with OSS developers, familiarity with DevOps tooling like Kubernetes, Docker, Terraform, and interacting with software via APIs or SDKs. 

Measuring Project Success 

Through workshops and surveys we continually hear from the community how we need to reduce the friction in the developer experience. We also have a dearth in qualified senior developers that we hope to scale up through better documentation. 

We would consider the project successful if, after updating documentation to improve the developer experience, we can start to see the following progress on metrics: 

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

Project Budget

Total project budget is $15,000 USD


Item

Amount

(USD)

Running Total

(USD)

Notes/Justification
Technical Writer $12,000$12,000
Graphic design - flow diagrams, charts and visuals to accompany documentation$750$12,750
Project Management, Supervision, and Review of Deliverables$1,500$14,250To cover partial cost of scoping out project, managing its delivery and final review of deliverables. 
Volunteer Stipends (2 at $300 each)$600$14,850For volunteers that will be closely providing information and/or reviewing deliverables 
T-Shirts/SWAG for Volunteers$150$15,000Printing of t-shirts or stickers for documentation volunteers

Additional Information

Previous experience with technical writers

Our 2022 Season of Docs was informed by our learnings from 2021 but even though we worked with a more senior technical writer, due to the domain-specific nature of our project (banking and financial services) and the high degree or technical complexity of the project scope (enterprise architectural changes), our project required a high amount of time from our developers and subject matter experts so our aim for 2023 is to structure a project where the technical writer can operate more independently with less dependency upon knowledge transfer from experienced individuals.

We successfully completed the 2021 Season of Docs program which helped impart upon us many critical lessons in scoping of the project, onboarding of the technical writer, managing expectations of the project, and ensuring the technical writer had optimal access to subject matter experts for proper facilitation. We have developed a strong understanding of the ideal types of documentation to focus on for a Season of Docs project and the ideal skillset in terms of domain and technical expertise needed to successfully complete a project. 

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 participated in Season of Docs in 2021 and 2022. Please view the final case studiess for each of those years below:

We will be participating in Google Summer of Code for the 11th year in 2023. In 2022, we graduated nine interns successfully through GSOC. These open source programs represent a critical growth engine for our community as described in our Endless Summer of Code video: