Lessons Learned From The Bowling Game Kata: How To Design?

What if we discover a completely new way of designing software? Would we be able to grasp it?

David Rodenas PhD
8 min readNov 18, 2023
Prompted by the author.

Alright, let’s do this one last time. This is the Bowling Game Kata, created by Robert C. Martin. You might think you know the rest of the story, but this time, I’ll tell you it’s not just any kata. Yes, it’s full of challenges and problems, indeed it offers the opportunity to learn new techniques, and yes, it can become a significant challenge. But it gives you the solution. Now you have code, a test, steps, and even a design. Let it be your ‘friendly kata guide’, protecting you from pitfalls. Now you can face your inner demons, compare your technique to his, take what you like, and… here’s the twist — you’re not just following steps, you’re invited to innovate. Merge your creativity with this structure, and who knows? Apply to your problem, and find impressive solutions.

Not like the typical design

The first time I tackled the kata, everything I knew about software design and architecture was completely different. So different, in fact, that I couldn’t even perceive the greatness of this kata.

And it’s not surprising. Because, after all, what are we taught? Let’s think about it — if we think of…

--

--

David Rodenas PhD

Passionate software engineer & storyteller. Sharing knowledge to advance our skills. Join me on a journey of discovery in the world of software engineering.