Five Ways in which D&D Beyond Benefits from Dogfooding

Grzegorz Aperliński
Fandom Engineering
Published in
5 min readAug 18, 2021
Photo by CompLady on Pixabay

Eating your own dog food, or “dogfooding”, is the practice of using one’s own products or services. The rationale is that real-world usage of a product by the developers leads to improved quality and confidence in the product. First pioneered by Microsoft and adopted by a number of “big players”, including Facebook, dogfooding has perhaps been overused as a cover-up of extended QA on company employees. While it is true that there are some risks associated with the practice, when executed well and paired with reliable quality control, it can prove to be an effective technique.

Most of the engineering teams working on the D&D Beyond toolkit incorporate dogfooding into their process. In the context of my team, this practice means that each sprint we set aside time to run and play Dungeons and Dragons sessions with team members. Complete with pretzels and friendly banter! Each session we make sure to use the latest unreleased build of the app and run a crafted adventure where we try to incorporate the use of upcoming features. After a session, we note down any issues or ideas we’ve come up with during the session, and discuss and prioritize any follow-ups. Anything that we subjectively decide should be investigated further is compared against usage analytics, user research and any other data points available to the team to create the best holistic picture for decision making and prioritization.

Overall, we’re happy with what we’ve gained by adopting this approach and so I wanted to share the five ways that I believe dogfooding has enhanced our performance.

1. It helps weed out bugs

Let’s start with the obvious benefit — limiting the number of bugs. We develop software by implementing agile methodologies in our processes. As such, performing automated and manual tests on each new feature is embedded into our Definition of Done. Still, even the best suite of integration tests can never fully emulate the behaviour of a real person using the mobile app in a natural setting. There may still be cases where we simply fail to predict a given user journey or use case. We’ve found that by using the latest unreleased build of the app in our D&D sessions we manage to surface defects that might have otherwise gone unnoticed before an app update is published to our users. This gives us even more confidence in the quality of the software and impacts customer satisfaction by delivering features with minimal issues.

2. It improves the understanding of the product

In our case, one of the greatest challenges when onboarding new team members is not getting them familiar with our technology stack, it is getting them familiar with the product. Since D&D 5th edition’s first appearance in 2014, there have been multiple new releases of rules expansions, errata and adventures, each delivering new content and rules to the system. It can be quite challenging for a software developer not familiar with tabletop RPGs to wrap their head around all the nuances of the system quickly. Participating in team D&D sessions with the mobile app in hand helps the developers to familiarize themselves with the ruleset and the software and gain a deeper understanding of what we’re trying to accomplish as a business. It also helps to have a more holistic view of the app rather than looking at it from a perspective of individual features.

3. It enhances user experience

Another great benefit of dogfooding is that we get to fully appreciate the experience we’re delivering to our users and make adjustments that we believe will further improve that experience. While user experience research is something that always informs our implementation throughout the development process, there are still instances where using the software in the actual context of a game can help surface user experience issues. Sometimes, we can just feel something is “off” or a given functionality is not as convenient as well planned it to be. By playtesting the app in our team D&D sessions we have the opportunity to fix these issues and bring even more joy to our users.

4. It surfaces new ideas

Yet another great thing about using your own product is that, through a better understanding of it by employees, you can create a fantastic opportunity to come up with ideas for new features or improvements to existing ones. It’s not uncommon for us to say during or after a session things like “I wish I could do X” or “wouldn’t it be great if you could do Y?” In addition to market research and user requests, this supplies us with another creativity funnel to implement ideas that will delight our users. In addition, this gives every person on the team a chance to truly shape the product and contribute to the roadmap which is great for morale and engagement.

5. It’s just fun

Finally, I just wanted to put it out there: It’s just plain fun to play tabletop RPGs as part of your day job! It’s a great social experience where everyone can shape who they want to be and what they want to do. Having survived an ambush of wererats by the skin of one’s teeth or having successfully deceived an evil king with that natural 20 dice roll creates a sense of achievement and camaraderie that’s hard to beat. Playtesting the mobile app in team D&D sessions has made us bond over mutual successes and failures alike and allowed us to appreciate each other. It’s been a fantastic team building experience, especially in times of (forced) remote work.

Take that, wererats!

To sum up, we believe that dogfooding has had a positive effect on both the product and the team. While this conclusion is based primarily on anecdotal observations rather than metrics, to my mind, the perceived benefits justify the time investment. The practice has enabled us to create additional opportunities for spotting defects and potential feature improvements and enhancements as well as helped us better connect as a team. While it’s necessary to be aware of the potential risks and limitations of the practice as a whole, in the context of our work, it seems to be a welcome addition.

Originally published at https://dev.fandom.com.

--

--