Time to combine two basic ideas: the idea of the coding dojo and the idea of design patterns as an essential element of development training.

For those of you who haven’t seen my previous posts on a coding dojo, the concept is that a karate dojo is a safe place to come and practice elemental skills in a supportive but corrective environment.  The karate master presents problems and assists as each student practices and demonstrates their skills at solving the problem repeatedly.  These “problems” to be solved repeatedly, formally, are the katas.

So, you come to a meeting once or twice a month to get together with other developers.  You work in a pair.  You get a problem statement and a set of unit tests to start.  Your job: meet the needs of the app by getting the unit tests to pass.

One pair works on the projector. 

I also believe that we are well served by practicing the basic design patterns.  Things like strategy, facade, decorator, bridge, observer, and chain of responsibility.  These basic structures are worth practicing.  We improve our understanding of OO code simply by following the kata.  Practice.  Hone.  Concentrate.

So, if we combine the two, perhaps that would be better.  What if we create 10 kata for each of the basic design patterns and a couple of architectural patterns?  Order them at random.  Practice.  Hone.  Concentrate.  Improve.

This idea could have some legs.  Hmmmmm……

By Nick Malik

Former CIO and present Strategic Architect, Nick Malik is a Seattle based business and technology advisor with over 30 years of professional experience in management, systems, and technology. He is the co-author of the influential paper "Perspectives on Enterprise Architecture" with Dr. Brian Cameron that effectively defined modern Enterprise Architecture practices, and he is frequent speaker at public gatherings on Enterprise Architecture and related topics. He coauthored a book on Visual Storytelling with Martin Sykes and Mark West titled "Stories That Move Mountains".

2 thoughts on “Coding Dojo concept: one kata for each common design pattern”

Leave a Reply

Your email address will not be published. Required fields are marked *

eighteen − 8 =

This site uses Akismet to reduce spam. Learn how your comment data is processed.