Implementing the “Chrum” daily stand up @ SoftwareMill

Posted by Konrad 'ktoso' Malawski on 01/08/2012 – 00:36;

At SoftwareMill – we’re fully distributed. That means that you end up working with people from all around Poland (or Australia, Africa, or the United States), and there’s no place you could call the “company office”. It has it’s upsides as well as downsides – as most things. I personally really love the freedom such way of working gives you… and the project is fun too! ;-)

Anyway, one of the issues a team has to face when working in such environment is: “How to feel united with the other people and teams in the Company?” A hard question indeed. Just chatting won’t do, if you’ve ever worked as “the remote person” you know that. The typical scrum standup doesn’t make sense, especially if:

  • the “team” on such standup is the entire company (that’s around 18 people),
  • there’s a bunch of projects in the company, usually with small teams of up to 4 people on board,
  • the goal… isn’t to dumbly/boringly answer the boring 3 scrum questions.

chrum-sml-2013

The Daily Chrum *

The “Chrum” (the sound pigs do) is a process invented and perfected during the two years of softwaremills’ existence – and we’re still changing it to adapt to our needs. So, what are those needs? First, we don’t really care about “what did you do in detail yesterday”, that’s why we communicate all the time on chats, jira etc – no need to hear it again, and you’ll bore people from other projects to death ;-) What we really use the Chrum for is actually… socialising, it’s one of those rare moments we’re all online together – with audio and video. So I’ll actually recognise my partner on a conference because we see each other daily – remote teams problem 1) solved :-)
There’s a number of tools that help us with this:
  • Chats – we use Skype , although most of us would like some other tool (XMPP based), still – most clients know and like Skype, so instead of having one more tool to chat with, we stich with this one. It’s also the place where most of the communication takes place, you can share links etc here – even during the daily call,
  • PushToTalk – we use TeamSpeak, yeah the one people use for Counter Strike ;-) It works way better than Skype for 18 people, and some teams also use it during their day – to get the feeling of “working in the same room”, you just push and then talk. We use this as Audio tool during the Chrum, as it eliminates any background noises from the 17 other participants,
  • Video Conferencing – we use Big Blue Button for this. For a number of reasons, one of them is: it’s free and open source. Another is – best video quality out there for such big meetings (remember – we’re up to 18 people). We’re hosting it ourselves on EC2, and I’ve created a small cron util that starts the BBB server right before the meeting, and shuts it down again after it. The reason behind this is that we need the most powerful instance there is on EC2 to handle this call nicely, and that costs quite a bit – and we don’t need this instance to be up for all the day obviously ;-) PS: For smaller meetings, we found Google Hangouts to be the most pleasant to work with.

A brief introduction to Chrum

The flow of the meeting may seem a bit weird, but remember – it’s something that evolved out of two years of experimenting with it, and we’re quite happy with the current formula, but we’re always trying something new to improve it nevertheless.

The Chrum has two iterations and then we open up a free discussion, which is marked by saying “bakłażan” (pl. eggplant):

0. The Chrum Master assembles everyone and reminds the "4th question"

1. Project round
1.1. Feelings in the project?
1.2. Personal round questions

2. Personal round
2.1. "4th question"
2.2. [optional] What's blocking you?
2.3. [optional] Got something cool to showoff today? (work / non-work)

3. Bakłażan

So… this may seem a bit weird and confusing, so let’s explain it a bit in detail.

The first step is to get everyone on BBB and audio – sometimes people are “in the zone” or AFK, so you have to do some “ping ping” on the global chat – this, and thinking of a 4th question (we’ll get to it) are the responsibilities of the Chrum Master (and keeping the chit-chat short – until the Bakłażan phase).

First, in the projects round – one person from a team reports the general “feel” of that team on that day. Maybe there’s a release coming up, or there was a great success etc. We think that by formulating this question like this, we get to know what’s up in the other projects, and avoid getting into technical details, which people from other projects wouldn’t understand (too much domain knowledge involved). Then that person continues with answering the personal questions.

Once the “projects” round finishes, team members who didn’t speak yet are asked to answer the “4th question”. Why is it called the 4th when in reality it’s the 2nd now? Well, for legacy reasons – while we did a classical scrum standup, it was the 4th indeed, because: 1) what I did yesterday? 2) what I’ll do today 3) what’s blocking me? and then the 4th, which we’ve added ourselves. The idea of the 4th question, is to think of some, fun question that allows us to get to know each other, even though we’re not collocated. So it may be a music or literature question etc. By the time we’ve ran out of “typical” questions for this, and it gets more fun to think of a cool 4th question to ask. The chrum master (which is chosen once a week – well, usually just someone want’s to do it anyway :-)) gets the privilege to ask this question.

We recently added the “showoff” question, as sometimes we have such things – like we’ve found a cool library, or something else but forget to tell everyone about it – maybe it’s team specific but may interest other people too. We’ve been trying it out since monday and so far I feel it will be a nice addition.

It’s worth mentioning that the last questions are optional. Up until recently it wasn’t and typically there was a full round of people reporting “no blockers on my end”. So we’ve made it optional now – if you’re blocked, yell out – if not, well there’s not much to talk about then, right?

After all participants have answered the questions, the chrum master says “Bakłażan”, and we’re free to either leave the call right now, or hang around for however long you want and chat a bit. Possibly following up the blockers mentioned, or the cool project someone just showed etc.

So… this is how we chrum. It may seem a bit complicated, but I’ve found that it’s shockingly well organised, and everyone knows when and what to say. We get the benefit of knowing, on a level we care, about other projects and we have both a bit of induced getting to know each other (the 4th question) as well as the free for all chat after the chrum call – the bakłażan phase.

* Chrum – well, that’s my name for it. Let’s see it it gets accepted ;-)

If you want to know a bit more about us, ping me via email or chat or if you’re the passive type – there’s a nice interview with Paweł Wrzeszcz on web.gov.pl – definitely worth checking out IMO :-)

Tags: , , , , , , ,

This post is under “english, fun” and has 3 respond so far.

3 Responds so far- Add one»

  1. 1. B Said:

    Interesting setup involving ppl from different projects. Being in a few projects and having multiple dailies it is hard to separate the projects from each other and you found a solution to this. How long are your daily churns usually? 30min for the non-bakłażan-part?

    I work in a team distributed across two locations. Team members in one location (without the PM) know each other’s tasks very well. Team members in the other location usually don’t. Basically team members from the first location think that the daily scrum is only for the PM, so that he can check what tasks are being worked on. Kind of sad, as this data is already available in JIRA. The daily scrum is also used as a push medium for announcing client’s concerns and decisions, which is more interesting than the standard 3-question part.

  2. 2. Ktoso Said:

    The Chrum (from start, to end-of-bakłażan) usually lasts around 20 minutes (with a very rare max around 30m) – so that’s pretty fast if you include the chitchat and fun 4th question IMHO (remember – it’s up to 18 people). And it also serves as a replacement of “office life”, most of the questions and bakłażan help to strengthten the feeling of “being together” so it’s way better than a “daily call” with status updates from both sides :-) There still are team specific calls with clients obviously, but their form is team dependent.

    I’m in a project where the client and frontend deveopers are on site, and we (backend people in general) are remote. We also use jira but find it hard to make all the information go through it to and from the frontend team – they’re used to communicating on-site I guess. That’s something we’re still working on – this week we decided to tweak jira notifications, so only the people who REALLY should get emails about some tasks will (not to cause information overflow on the frontend team that is quite separate from us most of the time (apis are fixed, and when new ones come in, we communicate in person and wikis anyway)). In terms of “what we are doing” Jira works great for our remote client – sure, there’s quite a few emails generated, but we’re all up-to-date :-)

Post a reply