An agile coding game for your engineering team: Extreme Carpaccio

On the 11th of January, I attended to a London meetup organized by London Software Crafsmanship and hosted by Pivotal (office based in Old Street).

After reading the meetup title, I decided to attend. The meetup title was “Hands-on Session: Extreme Carpaccio: slice thin, code fast“.

  • Let’s say that I’m a foodie, then I’m Italian and finally a passionate software engineer.
  • Let’s say that Carpaccio is a typical dish based on raw fish and meat thinly sliced and served as starter or appetizer.
  • Let’s say that the meat Carpaccio is typical from Piedmont, that is the region where I come from.
  • Let’s say that I’m interested to improve my agile software developments skills using extreme programming.

This was the perfect occasion!

What is Extreme Carpaccio?

Extreme Carpaccio is a coding game in which teams should slice a given problem and then implement the solution based on their slicing strategy. During an Extreme Carpaccio session a server sends requests to participant’s laptops. Participants should then implement their solution following their slicing strategy in order to satisfy the server.

More thin you slice, more quickly you implement the code and hopefully you will be able to score very early (agile). If you decide to go up-front you can take too much time to implement the solution (waterfall), and you risk to see other participants start scoring before you.

This coding game had been invented by Diego Lemos and it’s inspired from other two existing coding game:

  1. Extreme Startup
  2. Elephant Carpaccio

A good agile exercise for your engineering team

I found it an awesome pairing exercise and a great coding challenge to learn how to slice the whole problem through a value perspective.

The more you slice, the earlier you go to production, and the earlier you earn points.

I believe this is a good agile team exercise to do, also because there is a kind of competition with the score list. The most difficult part it’s to choose a good slicing strategy in order to start to deliver your code to production and get feedback from the customers. In reality, given a new product to develop, it’s on the DNA of a good software developer to break the software requirements in small tasks that might be quickly developed and delivered to production. Shorter feedback loop is always a best practice to adopt and if in your company you have a process of code review via pull request, this approach makes the life easier for your reviewers as it’s easier to review small chunk of code for a specific feature rather than a big pull request for multiple features.

This is the GitHub repository of Extreme Carpaccio

I hope you enjoyed the article!

Leave a Reply

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