ThoughtWorks HSP team gives Mifos X community a solid footing to grow from

I’d like to give a big thank you to the ThoughtWorks HSP team. Their team has only been a part of our community a few weeks but it seems like they’ve been with us for years. They’ve helped us at a critical time in the launch of Mifos X to our developer community. They’re putting the infrastructure in place to guide a smooth transition to our community-driven development model on top of the Mifos X platform.  

Here’s a guest post from Gurpreet on what’s been keeping them busy so far.

Recently, folks from ThoughtWorks started contributing to Mifos X as part of their Humanitarian Software Program (HSP). HSP is a ThoughtWorks initiative to help Humanitarian Open Source projects by channelizing beach and volunteer time of ThoughtWorkers. Gurpreet & Deepali from the HSP team at ThoughtWorks work full-time in connecting ThoughtWorkers to Open Source projects adopted under the HSP Program.

The Team -- TW Pune office

(From left to right Gurpreet, Khushal, Deepali, Sailee, Priti)

As part of initial discussions with the Community for Open Source Microfinance (COSM), it was decided that ThoughtWorks should concentrate first on helping COSM in setting up an Automated Testing environment coupled with a Continuous Integration Framework. This would help Mifos X development teams in moving at a faster pace because they would get quick feedback on whether commits to the code base inadvertently broke the application.

In ThoughtWorks Pune, Khushal, Mathangi, Sailee and Priti were assigned to work on Mifos X, as they were currently on beach (which means they were not working on any active project).


The team started by documenting the high value Integration Test scenarios around loanKhushal_Sailee_Priti__In_TW_Pune
functionality, and also investigated CloudBees for a hosted CI solution. Then using REST-Assured, a DSL library for REST Based testing, they wrote a couple of Integration Test scenarios which are now available in the MifosXGithub repository.

The team also incorporated Flyway, a Java Library, that has a Gradle plugin to allow smooth DB migration and versioning, which will be helpful for developers and implementers to ensure MifosX runs against the most current DB version, and upgrades are painless.

Next steps planned are to automate the remaining 8-10 Loan related Integration test scenarios, and ensure that CloudBees CI using Jenkins is running against MifosXGithub repo – so that the stability of the system is tested multiple times in a day – both via Unit and Integration Tests.

ThoughtWorkers have also been paving the road for new contributors to Mifos X by creating a comprehensive Getting Started Guide for Mifos X contributors. It compiles all the various wiki pages, how-to’s and tips on getting your Mifos X development environment up and running.  On the documentation front, they’re also maintaining our API documentation and beginning to consolidate our user documentation.