Everything I Needed to Know About Agile Product Development I Learned from Dark Souls

By Don't Panic

There are two activities in my life that have filled the years with a roller coaster ride of celebration and depression –  periods where I had to rely on grit and determination slogging through unending drudgery punctuated with moments of delight –  developing software products and playing Dark Souls.

I realize that not everyone who reads this blog may be familiar with the Dark Souls games. Luckily, I can sum it up with one image – the screen that players see more than any other:

A screenshot of the computer game, Dark Souls, with the text "you died" in bold red lettering across the centre.

Dark Souls has a reputation as a brutally challenging game. As I start playing Elden Ring, the latest game in the series, I’ve been thinking about what I’ve learned playing these games and how similar it is to Agile product development. Below are four of the things I’ve learned about Agile Product Development from Dark Souls.

1. It’s All About Learning From Your Mistakes

While Dark Souls may be unforgiving, it’s not a particularly complex game. Even the most challenging enemies have big tells for their attacks and are fairly predictable in their behavior. Despite how frustrating it may feel after the tenth time dying to the same enemy, the game’s developers want you to succeed. If you’re paying attention, each level teaches you how to beat it. Easier enemies teach you the skills needed to beat the harder ones. Every time you see the “You Died” screen, you should be asking yourself, “what did I do that got me killed, and what should I do differently next time?”

This might be the most important lesson in Agile product development that so few people learn. Most of the products we build are not simply copies of another product. We’re solving new problems or old problems in new ways. Missteps will happen. Success comes when we learn from those missteps and find an innovative solution.  

Related reading: How Dungeons and Dragons prepares you for being a Scrum Master

2. Take Small Steps

Nothing leads you into disaster like over-committing. In Dark Souls, a wise player will take the game one enemy at a time and always check their corners. This lets you re-evaluate your surroundings and take the best strategy for that moment, even if that strategy is to run back to safety to regroup and rethink.

Agile Product Development is no different. We take our development one small feature at a time. This doesn’t mean we don’t have a larger context in mind, but we also know that each completed feature could show us a fundamental flaw in our thinking. This gives us a chance to take a step back, regroup, and rethink.

Whether you’re playing Dark Souls or building a product, if you don’t want to end up in over your head, take it one small step at a time.

3. You Will Fail. Often.

While it is true that each failure is an opportunity to learn, that doesn’t mean that failure won’t hurt. Whether you’re throwing yourself at the same enemy for the 28th time or you bomb a feature you were sure would be a slam dunk, you will get frustrated and it will kill your motivation. The best players and Agile teams know how to recognize that frustration and recover from it. 

Find out what works for you to recover and re-energize. Do you need a break? A small win? Do you need the support of your team to rally and push through the problem? Too often, teams just resign themselves to the frustrating task, which rarely leads you to a successful outcome. 

4. Sometimes, Your Princess is in Another Castle

OK, I’m mixing game metaphors, I know, but the lesson holds. Sometimes hitting a wall in Dark Souls is an opportunity to double down and persevere. Other times, it’s a sign you need to go spend a little time tackling other challenges in another level. This can help you unwind the frustration, build new skills, and build up your character. You may find that when you come back to the challenge, it will be easier to overcome.

In Agile development, you will encounter technical challenges and business challenges. You may need to buckle down and work through them, but other times, turning your attention to other feature areas will help you make progress and get your team unstuck. Often, that shakes loose new ideas and new solutions. When you return to the earlier work, you’ll be armed with new ideas and a fresh perspective.

Conclusion

It may seem strange to compare two things that seem so different as playing video games and building products, but in the end, a challenge is a challenge. The ways we work through them carry over across our personal and professional activities. I hope some of these lessons resonate with you. 

Want to learn more about Agile? Contact us