Agile in Open-Source

Przemysław Popowicz
Nov 4 · 5 min read

Learning by delivering value to an open-source solution.

I wasn’t aware of a ‘bench’ phenomenon until I started working in a big consulting corporation. As it turned out, once in a while, developers and engineers need to wait for a project to start — so-called bench time.

Usually, it is a time to learn new things, to speak at conferences or just to go on holidays. It should be truly valuable time, but it is also equally easy to just waste it scrolling the feed or watching fails compilations. To avoid such waste and do something valuable — we need genuine motivation. Building what matters can help with that.

muda (jap.) — futility, uselessness, wastefulness

Thankfully, via code4poland platform, we managed to find a project named ‘Friendly-Plans’. The work had already started and they were looking for React Native developers. We had no experience with this technology, but we looked at it as an opportunity to learn something new.

Autism is a complex disorder of development and functioning of the central nervous system, characterised by:
- disturbances in social interactions, building relations, communicating feelings
- restricted, repetitive behaviours,
- abnormal threshold of sensitivity for stimuli.

The main value of the app is to help therapists working on the development of autistic kids. It is using a scientifically proven behavioural therapy named ‘activity plans’. By providing a list of tasks with illustrated steps and encouraging social interactions, it helps children to learn new skills and build independence.

Examples of a paper activity plan via autism.org.uk

As we were on the bench, we briefly talked with our boss and we got a month to work on this engagement!

Road to an open-source

In the beginning, we connected with people from the Autyzm-PG team responsible for development. The app was already after UX research stage with the ‘clients’, or simply with people in need from the Institute of Child Development. Those therapists are currently using an old ‘student made’ version that does not look nice but is still a way more comfortable to use than a paper version. This project is about making the app more user-friendly and also to allow parents to reuse the therapy at home.

Redesign — the currently used version on the left

The core Autyzm-PG team consisted of 1 UX researcher, 1 UX designer and 3 developers working after hours. With 3 front-end developers and a Scrum Master from our buildit @ wipro digital team, we gathered a complete team.

The coding had already started and it was based on wireframes, as mockups were still under development. At this time, there was just a boilerplate, a simple skeleton and connections to a database. We decided to wait for the mockup and used that time to help the project be more accessible for the open-source community.

We eased the project setup and configured continuous integration tools. Now, the automated tests and builds are helping in the development and contribution. Especially, since the core team of Autyzm-PG work on this project after hours, so their capacity to cooperate is limited.

Then the mockups began to emerge…

Sample of designs— a view for the list of activities defined by a therapist and a view for children

Agile tooling and development

With mockups, we were able to map functionalities and create detailed user stories. Initially, we had an idea to go with a well-known combination of Scrum&Jira, but this time we had to be more inclusive. That’s because our stakeholders are all independent developers wanted to contribute to this open-source project. Internally as a buildit @ wipro digital team, we stuck to Scrum, but to make our work more transparent we set up a GitHub board in the project repository. This way, the requirements, the product backlog and the sprint backlog are located in one handy place.

The single source of truth — the snapshot of a fragment of the board

It turned out that GitHub board lacks a few things. First of all, I miss a hierarchy of work items. It is impossible to create tasks connected with stories. We only have ‘issues’ here. I do not like to work with big issues, so we need to split them and it’s sometimes easy to miss the relationship between them. Secondly, I yearn an easy way to add estimates to stories in the story points. We managed to deal with that by labelling issues and manually calculating team velocity.

Our labels for estimating

But apart of those issues, the tool fulfils its primary purpose — we keep all data, requirements, status and progress in one highly-visible place.

Today, I can confirm the success of this approach, as Autyzm-PG team recently organized a hackathon and other developers were able to contribute seamlessly to this project. So, despite various simplifications, this solution worked for several independent ‘teams’ and people working on a single backlog.

Work in progress

Currently, the development is in progress. We’ve already done a few views, but there is still a lot to do to reach MVP. If you are interested and want to help, feel free to join and contribute to this project. In case of any questions, please contact us on Slack.

Finally, I would like to kindly thank great people from Autyzm-PG team for nurturing this project, STX next for code boilerplate of the app, all independent developers and the management and developers of buildit @ wipro digital for their commitment and support.

Maybe there’s a ‘bench’ phenomenon in your company as well? Do not waste that time and do something really valuable!

Thanks to Lech Wypychowski

Przemysław Popowicz

Written by

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade