Three Bowling Kata Design Reviews

Learn software design by comparing, fixing and expanding three Bowling Kata solutions



2 hours



Programme Fee


Francesco's Solution

A deep dive into Francesco's very own TDD solution with no IFs, showcasing a fresh perspective.
Learn more

Develop One Object at a Time, One Pattern at a Time


Explore the intricacies of software design as Francesco Cirillo breaks down three different solutions to the Bowling Kata challenge. Dive into the world of condition-free programming, witness the power of TDD, and understand the importance of design patterns and metaphors in software architecture.

Have you ever wondered about the different ways to approach a programming problem? In this unique video course, Francesco Cirillo evaluates, fixes, and expands upon three distinct solutions to the Bowling Kata challenge. With a focus on Test-Driven Development (TDD) and object-oriented programming, this course provides invaluable insights into the art of software design and the importance of avoiding the overuse of "IF" statements.


  • Introduction to the Bowling Kata Challenge
  • Exploration of Robert Martin's TDD approach with "IF" statements
  • Insights into Ron Jeffries' UP/TDD method
  • In-depth look at Francesco Cirillo's modified Jeffries' solution
  • An exploration of Marco Testa's solution
  • Key takeaways and learning points from each solution
  • Interactive Q&A session

Key Features

Comparative analysis of solutions

Robert Martin, Ron Jeffries, and Marco Testa.

Timestamped sections

for easy navigation and topic-focused learning.

Q&A session

answering the most pressing questions on the subject.

Watch Francesco Cirillo's Unique Solution



Francesco Cirillo

Francesco’s journey in software spans over 30 years, influencing startups, corporates, and individual consultants.

A seasoned mentor, he has impacted countless professionals and teams. From his early days with Sun Microsystems to pioneering Agile Methods and creating XPLabs, Francesco's mark on the software industry is profound.

Notably, he's the creator of the groundbreaking Pomodoro Technique, a time management method embraced worldwide, as well as the visionary behind the Anti-IF Programming philosophy, challenging conventional coding practices.


Nicole Lemke

"If you not only want to know what “Object-Oriented Programming” means, but are also interested in its origins and what it can achieve, start here, at the very beginning. Let Francesco take you on a journey. Learn about the essence of good objects and write good stories that those objects can tell."


Originated by Francesco Cirillo in 2007, the Anti-IF Programming approach has transformed how many perceive IFs and conditionals in software design. At the heart of software design lies a simple yet potentially dangerous tool: the conditional 'IF' statement. Undeniably foundational, its use to handle changes in a growth context, dubbed the "IF Strategy", can be a silent saboteur, complicating code and tangling logic. The IF Strategy can lead to debugging problems, never-delivered user stories, technical debt, entangled design, frictions in the team and other inefficiencies. In essence, the IF Strategy can escalate costs and delay software delivery times while degrading internal quality.