Do you work for a software company and are looking for a fun team-building exercise? Try dogfooding your own software. Here is the experience we had with this activity at Bitergia.
What is dogfooding?
Dogfooding or eating your own dog food occurs when an organization uses its own product.
Why did we decide to have a dogfooding session?
Before I start, let me clarify that Bitergia is using its Bitergia Analytics to track internal software development metrics, just like we provide to our customers. In its strictest sense, we are eating our own dog food regularly. What we are not regularly dogfooding is the GrimoireLab tutorial that we have for our open source project.
When I joined Bitergia, I suggested that we have a dogfooding session for the GrimoireLab tutorial. I wanted to learn more about Bitergia’s product while validating something I heard from the CHAOSS community: The tutorial is said to be difficult.
How did we structure our dogfooding session?
The engineers at Bitergia obviously would have no issue following a tutorial on the product they are building each day. To replicate an outside perspective, we asked all non-engineers to follow the tutorial. We thus formed teams with at least one non-engineer and one engineer. The engineer assumed the role of a coach who would help without touching a keyboard or mouse.
— Bitergia (@Bitergia) June 13, 2019
All teams were given the same tasks. The goal was to answer questions about the CHAOSS community.
During the following hours Bitergians worked to get the following questions answered for the CHAOSS Community, for the timeframe March 1 to May 31:
- How many Bitergians have contributed to the CHAOSS working groups?
- How many contributors were active in all data sources (i.e., GitHub, Mailman) during this time?
- What is the responsiveness to community pull requests in GrimoireLab?
Which people are contributing to more than one repository?
- Is this a contributor driven community or a company driven community?
The assignment was split into three parts:
- First, install GrimoireLab and collect data about the CHAOSS project, basically replicating what is available at chaoss.biterg.io. All steps had to be documented.
- Second, open GrimoireLab Kibiter, the visualization and data exploration tool, to answer above questions about the CHAOSS project. All steps had to be documented.
- Third, share answers and lessons learned among the teams.
What did we learn about the GrimoireLab tutorial?
We learned that anyone who for the first time attempts the GrimoireLab tutorial is facing an uphill battle. Only one team succeeded to install GrimoireLab and was only able to do so because the non-engineer discarded the tutorial and chose an alternative route.
We were reminded that doing analytics for an open source community requires knowledge about the community. Specifically, anyone unfamiliar with the structure and workings of the CHAOSS community would not have known how all of the GitHub repositories, mailing lists, and IRC channel are being used. Community health analytics drill-down is most powerful when GrimoireLab is configured with metadata about which data sources are used together within sub-projects.
Related to configuring the data sources of a community, we were reminded that the projects.json file is not a user-friendly way to configure GrimoireLab. It would be much nicer to have a web interface, similar to what Bitergia is piloting with the alpha.cauldron.io platform.
With all lessons learned and having clear documentation of the different steps we went through, I recently wrote a blog post on the CHAOSS website which aims to make this process easier for anyone who wants to start using the software tool.
Was it fun?
Yes. We laughed together; had joyous explosions when overcoming obstacles; strengthened the bond between the different business units.
As a company with many engineers, we also enjoyed over-engineering a photo shooting session during the same day 😉
When you plan a team building activity that starts with a photo session … pic.twitter.com/ytP7CKsM4P
— Bitergia (@Bitergia) June 13, 2019
After the dogfooding session, we solved a Room Escape and went out for dinner. All-in-all, a fun day!