Last week I spent a fun night working on Cyber-Dojo with Jon Jagger. If you haven’t heard of Jon’s Cyber-Dojo yet, then I encourage you to head on over to www.cyber-dojo.com and have a play. In a nutshell, Cyber-Dojo provides a platform within which groups can deliberately practice their development skills. It’s free, open-source and currently allows you to choose to work in any of 13 languages. If your language isn’t currently integrated then you can head on over to Github and contribute!

Jon and I didn’t add a new language – we added support for Cucumber-JVM.

Cyber-dojo-screenshot

A bit of history. Cucumber is a Ruby tool that allows teams to practice Behaviour Driven Development (BDD) by automating the execution of examples written in a business-facing, Given-When-Then style that approximates natural language. In many ways Cucumber is similar to Fitnesse in aspirations, and it builds upon the work of Dan North (who himself produced JBehave, a Java tool that predates Cucumber).

One of the challenges that Java developers have faced using Cucumber is that it is rooted in Ruby. There were solutions (Cuke4Ninja with JRuby) but they added unwanted complexity and still required the development team to be comfortable writing Ruby to implement the ‘step definitions’ (that wire the business-facing examples up to the code being developed). The landscape changed significantly this year with the release of Cucumber-JVM, a pure Java port of Cucumber.

One of the goals of BDD is to foster communication and collaboration between disparate groups within the software development community – analysts, testers and developers all have their parts to play. When it comes to training, there’s always the question of what environment to use to ensure maximum engagement from all participants. This is exactly where Cyber-Dojo delivers maximum value, so it seemed a no-brainer to add a BDD angle.

A few fun hours later it went live online, under the Cyber-Dojo name of “Java-Cucumber”. I’ll be experimenting with different ways of use the Cyber-Dojo platform to deliver BDD training over the next few months, but for now I encourage you to head over to www.cyber-dojo.com and get practicing.