Will Agile work for you? 1

Posted by Conrad Benham on April 27, 2008

When people are told about Agile they often walk away saying “That sounds good in theory but couldn’t possibly work in the wild”. In out next event we will explore what it takes to be Agile. I’ll identify projects for which Agile is suited and those where it will be more challenging to implement. I’ll also look at the types of people and teams it takes to make Agile work. If time permits we’ll look at the parts of Agile that can be done without management endorsement.

Update: this topic is suitable for all people. There will be information relevant to developers, project managers and managers. Even if you aren’t likely to create an Agile team soon you will still benefit from understanding the dynamics of an Agile team regardless of your current role.

Thank you to the Fringe Club for allowing us to use their space for this event.

When: 7pm, Tuesday 13th of May 2008
Where: Fringe Gallery, Fringe Club, 2 Lower Albert Road, Central, Hong Kong
Google Map: http://tinyurl.com/4tdpw9

Code Jam – Anagrams Code Kata 2

Posted by Conrad Benham on April 07, 2008

Recently we called a Code Jam in which the aim was to give people the opportunity to practice Pair Programming and Test Driven Development. The event also gave people the opportunity to share ideas about how to solve the problem. Most people solved the problem in Java or .NET though one pair solved it using Lua.

Code Jam Photo

We chose Prag Daves Anagram Code Kata as the problem to solve. This code kata which involves identifying anagrams in a given list of words is simple enough to solve in a short period of time while offering some interesting challenges from an algorithm point of view.

I have uploaded a solution to the problem in Java. The solution I came up with was entirely Test Driven except for the Main class. I chose to go for an Object Oriented approach as opposed to a small, potentially terse, solution. If you inspect the code you will see it is quite easy to perform arbitrary queries on the anagrams (via the Anagrams.operate method). It should be a simple exercise to create a class that will find the largest set of anagrams or find any other piece of interesting information.

In attempting this problem, the solution I arrived at found 2531 anagrams – Dave Thomas claims there are only 2530. I’m sure there is a further check I could add but I just can’t see what it is at this point. If I ever stumble on it I’ll be sure to make an update to the code and upload it here.

My solution can be found here.

The solution contains the bare minimum, I have not included a build script, nor have I included any binaries. I decided not to include project files either as people were using different IDE’s for their development.

On an unrelated side note, we will call another meeting just as soon as we’ve found a new venue. The venue we were using for our meetings has unfortunately closed. If you know of somewhere near Central that would be suitable please let me know.