Never change a running system

That’s what they say. Well, we had our struggles and definitely needed to change something. That’s when the ‘elephant carpaccio’ workshop came in handy.

A short story

For months we had been running quite successfully by doing SCRUM and working with component teams. Each team took care of a specific platform and technology – one team for Android, one for iOS, one for Web, one for PHP and so on. The self-organization worked really well and we had a working release process.

But somehow we were not happy. From over-detailed feature concepts to the asynchrony while building features, from conception to live roll-out – there was always a thing that irritated. We often could not finish our features on time and in the end they never looked as they should. It was time for a change!

Analog iOS Team's Task Board
Analog iOS Team’s Sprint Board

We started by building a transition team to plan the next steps. Maybe a cross-functional team instead of a component work style would be better? During the summer 2015 we switched to cross-functional teams – with a product owner, some concepter, designers, app developers, web devs, backend devs, business analysts and testers. We had a great kick-off event and created teams with Sci-Fi team names like Star Wars or Star Trek (they even wore Spock ears)! But even after aligning the teams mission to our company strategy something was still wrong.

Cross-functional Teams Kick-Off
 Cross-functional Teams Kick-Off

We expected the teams to be more productive, but they still were caught in their old by-component ways. Even on the team boards we had rows named “Web”, “PHP”, “Android” or “iOS”. Moreover we aligned our company goals and defined specific goals for the old component teams. This made it even harder to get into a cross-functional working habit.

Cross-functional Messaging Team's Kanban Board
Cross-functional Messaging Team’s Kanban Board

Small and vertical

To solve this problem, we were on the lookout for a new solution for a real cross-functional style. We thought about slicing the work into very small chunks and implementing requirements vertically instead of in layers.

Tiny slices, Chart from Elephant Carpaccio exercise by Henrik Kniberg & Alistair Cockburn, 2013

Vertical Stories, Chart from Elephant Carpaccio exercise by Henrik Kniberg & Alistair Cockburn, 2013
 Charts from Elephant Carpaccio exercise by Henrik Kniberg & Alistair Cockburn, 2013

You ask why? It’s simple: Instead of people just sitting together we could achieve real teamwork (yeah!) with better and faster feedback. Also we could release more often and deliver a more constant stream of value to our stakeholders.

The workshop

Alistair Cockburn came up with the ‘Elephant Carpaccio’ workshop for teaching and exercising by cutting down stories into small vertical slices. This was then adapted by Henrik Kniberg and published as a very detailed worksheet.

You can find the original article by Alistair Cockburn here and the detailed worksheet by Henrik Kniberg here.

Visualization: Slice the elephant
 Visualization: Slice the elephant

Though we should use a different name for our next workshop as a number of colleagues asked if animals were killed and sliced during the session. No animal was harmed of course! What did we do exactly you might ask? We had a live coding part and all participants created a product backlog. Stories were split into slices and then coded in very tiny vertical increments to create a retail calculator.

Elephant Carpaccio Chart Value Curve
Value curve for the retail calculator. From Elephant Carpaccio exercise by Henrik Kniberg & Alistair Cockburn, 2013

So the workshop was all about the following learnings:

  • Splitting stories into very tiny slices
  • Splitting vertically – with focus on the business value
  • Involving non-developers to see how we develop software
  • Do teambuilding & have fun

 Our adaptation

On a Friday we launched our first Elephant Carpaccio Workshop with 18 participants. Most of them were developers, but there were also some testers, designers and product owners amongst them. We formed the teams (this time named after specific fruit) by doing a lottery out of a cooking pot.

Our tombola to find which teams do their iteration reviews
 Our tombola to find which teams do their iteration reviews.

 

For the theory part we created A3-sized charts which we adapted from the original workshop sheet. For building up the product backlog we shortened the original handout and used an additional handout that explained the walking skeleton concept.

The development iterations went better than expected. The teams chose their platform and programming language and started working straight away. In the end we had implementations in Objective C, Swift, Python, JavaScript, AngularJS and Android/Java. For people who are not used to handle the complexity of app development it was amazing to see the results within just an hour.

Live photo of the Workshop
Workshop live

Drive for improvements

As it has been our very first time – of course some things went wrong. Our timeboxing for the Q&A parts and the debriefing was too extensive. Also, we found the assessment of code quality did not receive enough attention – so we did not get comprehensive results.

But all of us learned a lot. Even some days after the workshop participants still mentioned their learnings and tried to apply the “carpaccio” mindset into their daily work. Especially the teams that worked on the development of new services.

Teams after the workshop discussing their learnings
Teams after the workshop discussing their learnings.

Regarding the agile workshop itself, we already identified a number of improvements we want to do the next time, for example:

  • More time and breaks
  • Split the Q&A sessions into groups sized to 8-10 people and collect the group results
  • Do anonymous assessments of the code quality and the return on time invested (ROTI) for the workshop
  • Print bigger charts (at least size A2) or draw them live
  • Print the product value chart on the handout
  • Leave out the details about the walking skeleton concept to save time
  • Ensure that everybody takes away the knowledge how they can include vertical story splitting in their daily work

We had an awesome time and can’t wait to do the next Elephant Carpaccio workshop with all of the improvements soon.

Alex with our elephant
Alex with our elephant 🙂