Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Info
titleTechnical 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?

Widget Connector
urlhttps://www.youtube.com/watch?v=3fG_NJuZLSo&list=PLAfz_RVd88Foe14MhI_7feIyOBIwyMdbr&index=1

Widget Connector
urlhttps://www.youtube.com/watch?v=aebD3wtMl0A&list=PLAfz_RVd88Foe14MhI_7feIyOBIwyMdbr

How is the Mifos software used? 

Widget Connector
urlhttps://www.youtube.com/watch?v=STQpP2GhK8k
  

   

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:

...

March 31, 2023 - November 13, 2023

Hired technical writers work on documentation projects with guidance from organizations

...

About the Mifos Initiative

...


Info
titleTechnical 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?

Widget Connector
urlhttps://www.youtube.com/watch?v=3fG_NJuZLSo&list=PLAfz_RVd88Foe14MhI_7feIyOBIwyMdbr&index=1

Widget Connector
urlhttps://www.youtube.com/watch?v=aebD3wtMl0A&list=PLAfz_RVd88Foe14MhI_7feIyOBIwyMdbr

How is the Mifos software used? 

Widget Connector
urlhttps://www.youtube.com/watch?v=STQpP2GhK8k
  

   

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


Anchor
proposal
proposal
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. 

...

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) 

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 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. 

...

  • Production Environment for Mifos X & Fineract on Linux including upgrade process and applying database migrations (2 daydays)
  • 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)
  • Helm Charts & Docker Compose
  • 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.  process and(.5 days)
  • 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.5 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 man-days) 
  • Coding Standards & Tools (1) 

Testing Process 

Using our Developer/Innovator Toolkit (12 days)

  • Integrating with other Systems (2 days) 
  • Connecting Channel Applications Securely (2 days) 
  • Extending the system via Customer Modules (2 days) 
  • Building new via the API (2 days 
  • Building Solutiosn using our SDK (2 days) 

API Docs

  • clean up and organizat in readme.io portal 

Building from the API

Using Custom Modules

For Season of Docs, where I think we could use a technical writer is to help with more of our documentation around developer experience - getting environment setup, installation guides, deployability and DevOps tools, what SDKs we have and how to interact, how to use the API, custom modules,  contribution process, coding standards, upstream development, etc.So moreso helping to onboard new contributors/developers - could be volunteers, could be staff, could be partners, could be fintechs implementing.I

contributing to the project,   required The focus of our documentation leveraging this existing documentation as foundational componen This project will build off of the 2021 Season of Docs project which consolidated our documentation into one unified portal with separate spaces for developer and user documentation. 

With this solid documentation foundation in place, we now need to update our documentation to reflect the major transformation of our project at both an architectural as well as community infrastructure level. In 2022 we are releasing the most substantial evolution to the platform since its initial launch nearly 10 years ago. This major release will be titled Mifos X 3.0 built on top of Fineract 2.0 

Throughout 2021 and 2022, the community has placed a renewed focus on the Fineract 1.x codebase with major architectural refactorings to enable greater scalability and modularity. In addition we have released a redesigned and modernized version of the reference user interface for staff on Angular, our web app. Lastly our payment orchestration engine, Payment Hub EE has achieved production readiness and is now a more integral component of the end to end stack. . In addition to these enhancements at the platform, UI, and orchestration layer, we have significantly improved deployability through containerization, the contribution process through more automated code checks and analysis as well as the QA process through implementation of the Cucumber test framework. 

This year's project will focus on updating and drafting documentation to reflect this next major evolution in our platform and community infrastructure. 

  • The new refactored architecture of the Fineract 1.x platform itself including changes such as improved read/write separation of API calls, migration of database from MySQL to PostgreSQL, migration of ORM from OpenJPA to Eclipselink, introduction of Kafka for reliable event handling framework, transactional idempotency, and integraiton of Spring Batch for improved end of day processing. 
  • The updated reference web app user interface with modern components, material design, and skinnability built on top of Angula. 
  • The production-ready payment hub EE with additional payment connectors, enhanced operational interface, dashboards and visualizations, and notifications module. 
  • Greater deployability through improved containerization, terraform scripts and configurable Helm Charts 
  • Streamlined contribution process with more automated code checks
  • Improved QA infrastructure through Cucumber Test Framework. 
  • 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. 

Project Scope (35 - 40 man-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 ongoing optimization, organization and consolidation of documentation.  

As part of the development process, our developers include a baseline level of technical and functional documentation. The technical writer chosen, will work alongside existing community volunteers to make the existing documentation more robust and draft new documentation where it doesn’t exist. 

Architectural Documentation (10 person days)

Major refactorings have occurred at every layer of the platform architecture - the documentation must reflect the changes and the impact it has upon development, deployment and performance.

  • Refine documentation on the enhanced ability to separate read/write API operations for greater performance (1 day)
  • Refine documentation for migration of database from MySQL to PostgreSQL including the migration from Flyway to Liquibase for database migration scripts (1.5 days) 
  • Refine documentation for tuning and indexing to optimize performance based on PostgreSQL and Eclipselink enhancements. (1 day)
  • Write new documentation on transaction idempotency and business and effective date configuration (1 day)
  • Refine documentation on new reliable event handling framework built on Kafka (2.5 days) 
  • Refine documentation on integration of Spring Batch for parallelization of batch jobs, running smaller chunks of batch jobs, ensuring no transaction conflict between real-time and batch processes including architecture of new framework, how to configure and schedule jobs, etc.  (3 days) 

Functional & Deployment Documentation (12 person days) 

  • Draft new documentation outlining functionality of payment hub, each of its new modules,  and use cases it supports (3 days) 
  • Draft new documentation on how to install, deploy and configure Payment Hub EE (2 days)  
  • Update documentation and screenshots in user manual to reflect design of new web app (2 days) 
  • Update and refine documentation to reflect new DevOps tooling for deployment of the platform and Payment Hub EE including Terraform scripts, Configurable Helm Charts, Kubernetes and Containerization Optimations (3 days)
  • Update critical documentation that is outdated or not clear including installation guide, reporting, SMS gateway configuration, and self-service user creation. (2 days) 

...

    •                        
    • 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 man- days) 
  • Draft documentation for developers on how to write code leveraging new Cucumber test framework for unit testing  (1 man-day)
  • Update FAQs explaining difference between Mifos and Fineract. (1 day) 

Standardize Documentation (5 days) 

For each of our projects we have a wealth of documentation that needs to be organized and arranged according to a standard format/flow:

  • Define standard for existing documentation and ensure each project’s user and technical documentation adheres to that standard format/flow:
  • For end-users - installation, troubleshooting common issues, system specs, tutorials, product overview, quick start guide, domain/topic explainers. (2.5 days)
  • For developers - contributing guidelines, project setup guide, troubleshooting tips, architectural description/overview, release notes/history. (2.5 days)
  • 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: 35 - 40 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. 

...