Archive

Posts Tagged ‘Coding Dojo’

Coding dojo etiquette

November 6th, 2009

At the Ágiles2009 coding dojo,  instead of trying to explain the whole concept of coding dojo, I jumped straight to a quick list of items that attendees should bear in mind during the session:

  • If you know how to code, you should code
  • If you’re coding, everyone else has to understand what you’re doing
  • If you’re the next to code, avoid breaking the flow
  • If you’re not coding, don’t disturb who is
  • If you have an idea, show it with code
  • If you’re stuck, ask for help
  • If you liked the challenge, try it again at home

Interesting how this simple “etiquette” helped to make what I consider one of the best dojos I’ve participated so far.

Work ,

LRUG Coding Dojo

September 13th, 2009

This week I had the chance to help the guys from the London Ruby User Group running a coding dojo for ~50 people. It was the largest dojo I’ve been involved so far and it was really interesting.

To allow everyone to participate, the attendees were divided in three groups: Ninjas, Pirates and Zombies. Each group would solve the minesweeper challenge using the randori approach and at the end each group had a chance to show their solutions.

Another interesting approach for this dojo was providing a common set of cucumber stories to guide the development. Matt Wynne wrote them and also provided a rake task to help keeping the TDD flow by encouraging people to solve the tests one-by-one (source code is available here). As a result, all the groups managed to solve the challenge in less than one hour, giving them enough time to experiment alternative solutions and refactorings.

Although there was no general retrospective at the end of the session, reading the feedback on the LRUG mailing list it seems like people enjoyed the experience. Personally, I really liked the fact that everyone participated, probably because they’re used to the language and tools and knew each other from previous LRUG meetings. Well, maybe is time to start organising public dojos again.

Work , ,

Coding dojo at the Agiles2009

August 17th, 2009

On October I’ll have another great reason to travel: running a coding dojo at the Latin-American Conference on Agile Development Methodologies (or simply Ágiles2009). And if having an event like that in back in Brazil wasn’t good enough, the conference will be in Florianópolis, the city where I studied and used to work before moving to London. How cool is that?

For this session, it seems like once more the challenge will be how to prepare a session for more people than we’re used to. So Victor Hugo and I still have to come up with something special for this occasion.

Anyway, If you’re lucky enough to be around at the conference, please don’t hesitate and come say hi :)

Work ,

Ruby ping pong coding dojo

May 28th, 2009

The next coding dojo will happen on the 4th June (Thursday) at the Skillsmatter office. The registrations are already open.

For this session we’ll work on the Minesweeper challenge in Ruby once more, but this time with the Randori rules slightly changed:

  • A pair will work on the solution for 10 minutes
  • The pair must use Test-Driven Development and Baby Steps all the time
  • The pair must follow the Ping Pong approach:
    • One person writes a failing test
    • The other person makes the test pass writing a minimum amount of code
    • The same person writes the next failing test
  • After 10 minutes one of the developers switches place with someone from the audience

Who attended the dojo before knows the minesweeper problem was solved a few times before, but trust me, it doesn’t matter. The idea of this session is focus more on the pair communication rather than the technical challenge. And if you never tried Ping Pong programming, it will be a good chance to experience one of the most enjoyable forms of pair programming.

See you there!

Work ,

Ruby coding dojo this week

April 19th, 2009

This Wednesday (April 22nd) we’ll have another coding dojo at Skillsmatter. This time the challenge will be the Poker Hands:

[...] Your job is to compare several pairs of poker hands and to indicate which, if either, has a higher rank.

Here’s some initial code generated at a previous dojo that may serve as starting point for the solution. The session format will be a Randori, which means everyone is welcome to code.

As usual, registration is required and should be done at Skillsmatter’s website. If you have any questions or suggestions for this session please feel free to participate in the Coding Dojo London mailing list.

Work ,

Refactoring dojo at Skillsmatter

March 19th, 2009

For this dojo, instead of working on a challenge from scratch, we’ll start from an existing solution and try to improve it.

The starting point will be the Minesweeper implementation created on a previous coding dojo. It contains only 272 lines of Java code (source + tests) and a lot of room for improvement.

Some guidelines for the session:

  • Two programmers will work on the code for 7 minutes. After this period, one of them switch his place with someone from the audience.
  • The pair decides their next step and make sure the audience understand what they’re doing. Discussion with the audience is acceptable, but the final word is always from the pair.
  • The pair should follow the 3 Rules of TDD:
    • You are not allowed to write any production code unless it is to make a failing unit test pass.
    • You are not allowed to write any more of a unit test than is sufficient to fail; and compilation failures are failures.
    • You are not allowed to write any more production code than is sufficient to pass the one failing unit test.
  • At the end there will be a retrospective to identify all the lessons learned.

This coding dojo will take place on the 25th March and to participate you need to register at the session page on the Skillsmatter website. If you want to start playing with the code now, it can be downloaded here.

See you there!

Work

Links and slides from my session at the Software Craftsmanship 2009

March 4th, 2009

This session was a mix of talk and coding dojo, in order to give a hands on experience following the rest of this conference’s approach. As a result, this 45-minute dojo became the shortest coding dojo I’ve organised so far.

It was also the first time I’ve tried to start a dojo with an existing piece of code. This code was simple, incomplete, naive and desperately asking for refactoring. It helped keeping the session flow since the first minute, mainly because it took only a couple of seconds for the first pair to learn the code and figure out ways to improve it.

One fact that surprised me as well was how most of the 20 people present was afraid of participate. Being at a craftsmen conference and knowing the benefits of the coding dojo, I really expected people would compete for a chance to show their skills. At our regular dojos people work in harder problems and new languages and still don’t get intimidated. Well, maybe it takes some time to overcome the fear of coding in public.

This session also confirmed my theory that the Minesweeper problem is really one of the best to introduce a coding dojo to new people: it involves simple algorithms, simple data structures and has plenty of room to apply basic OOP and TDD techniques.

Finally, here are some other resources from the session:

  • Slides (quick introduction to coding dojo + randori rules)
  • Minesweeper problem description
  • Source code – initial and final code generated at the session; download and keep playing with it.

Work ,

Next coding dojo

March 2nd, 2009

The next open coding dojo at Skillsmatter will happen on 9th March (Monday). The registration is already open and the discussion about the coding challenge will take place on the mailing list.

Work

Coding dojo at the Software Craftsmanship 2009

February 23rd, 2009

Next Thursday I’ll be running a coding dojo at the Software Craftsmanship 2009. My goal is to discuss why people should organise dojos at their companies and learn more about alternative approaches people are using to improve programming skills.

It seems like it’ll be an interesting event:

This conference is all about the principles and practices, and the disciplines and habits, that distinguish the best 10% of software professionals from the 90% who are failing their customers and failing their profession by taking no care or pride in their work and delivering buggy, unreliable and unmaintainable code.

If you managed to save your spot (registration are now closed), see you there!

Work ,

Next coding dojo

February 9th, 2009

For the people wanting to practice their programming skills, the next open coding dojo will be this Thursday (12th) at the Skillsmatter office. After presenting a very interesting kata on the last session, Danilo Sato will be conducing this dojo.

Don’t forget to register on their website and join our mailing list if you want to know more about the challenge and the session format for this session.

Work