Anagram Code Kata – BDD & MSpec

Many forms of martial arts utilize the kata as a means for detailed, focused practice and training.  The power of this practice comes from repetition and focus on simple fundamentals, “while attempting to maintain perfect form.”  The principle goal is to “try out different combinations of techniques in a safe, practice environment to ultimately find out how to defeat your opponent”.  In the last few years, this concept has taken hold within the software development world in the form of Code Kata, a phrase coined by Pragmatic Programmer Dave Thomas (and here is his blog dedicated to the Code Kata).

My inspiration for all of this is David Tchepak’s Calculator Kata series of posts.  Hopefully he will stop by and provide some helpful guidance and advice.  I have selected the Anagram Kata (code kata number 6) for me to practice.  My goals for this series of posts are:

Below I will keep an updated list of blog posts in this series.  Hope you enjoy it!

UPDATE (07/18/10):  I was asked where the source code to this post series could be found.  I decided to host it at using Mercurial for the source control:


Looking forward to it. :)

For the record, I can either stop by *or* be helpful, not both. ;) :P