Binary Fission
It's a while since I last wrote about how we're getting on with Scrum, and we've had an eventual few weeks... so here goes.
We're doing This Thing, right, and I can't tell you anything about it at all, except that 9 of the Future Platforms team flew into Hong Kong a few weeks back and spent a fortnight working on-site for Microsoft in China, to kick off the project we're doing with them...
It's been quite an experience in many ways: travelling abroad as a team, working across cultural and linguistic divisions, and fitting our processes in with those of the worlds largest software company. We wanted to colocate ourselves for all the classic reasons: tackle risky elements of the project together, put faces to names, and build relationships which can weather the inevitable highs and lows of a collaborative project. And of course, we're running things in the way we always do - I hope I'll be able to write more about this in time, I think we're going to be learning a *lot*.
For those of us lucky enough to go, it was definitely an adventure: hard work, thanks in the main to the sheer dedication of the FP team who were heads down for a full working day and frequently carrying on back at the hotel... but we had a lot of fun, too - as our various Flickr feeds will attest - and our hosts took great pains to make us feel welcome.
We landed back into Heathrow at 4:30am on Monday, and have been collectively fighting jetlag ever since - at the same time reuniting with the crew who remained in the UK whilst we travelled abroad, and our newest hire, James Hugman - who I'm maxi-chuffed to have working with us.
One thing we've been conscious of in recent months is that our team size is starting to become a bit cumbersome. Stand-up meetings feel less relevant when there's 10 people working on a few projects, retrospectives become harder to run with so many opinions to bring out and discuss, and it's easier to lose focus when planning. And personally I have always cherished the times when I worked in a small (3-5 person) team - it's when I've had the most fun as a developer.
So before we flew to China, we'd held an end-of-sprint retrospective where we agreed that now might be a good time to split the company into two teams - and on Wednesday we did just that. It was quite involved, and in the course of the retrospective we covered:
- Make-up of the two teams, ensuring they were balanced from a skills perspective and that they allow for continuity. We want to keep folks who'd just built relationships with Microsoft carrying on the good work, for instance;
- Office space, making sure the teams are colocated and have control over their own environment (they've already chosen radically different desk layouts), and that both have space to meet around a task board daily;
- Running planning days; I was keen to bring the whole company together for reviews so that we all get to see what we're collectively up to, but we eventually decided to do the same for retrospectives (with a view to learning as much as we can from our experiences even across teams), whilst separating planning out into two per-team 90-minute sessions in the afternoon of planning day, and running separate daily stand-ups.
- Naming the teams :) Anjuna and Tonberry it is!
The day went surprisingly smoothly and was unusually calm. Mary, our Product Owner, has been doing an excellent job of pre-planning preparation (grooming the product backlogs of our various clients into sprint backlogs efficiently), which pays dividends, and we were finished by 6:30pm tonight even after office rearrangement and a 90-minute lunch break, in which we introduced Mr Hugman to the delights of E-kagen.
The main problem we've had is that of accurately predicting a velocity for the two teams. In China our productivity was unusually high (greater than it's ever been, in fact), which we ascribe to working long hours with an unusual level of focus on a single project. Some of this (the focus) we can try to carry forward - in fact, the two-team split should assist us in doing so. But with the company split, we're not in a position to accurately estimate what one of the new teams can get through, until the end of this sprint.
So we now have 2 development teams, each comprising 3 developers and a full-time QA - plus a design team of 3 supporting them. We're running design separately for the moment: we have a couple of large design projects, one of which involves no development at all, and will be bringing designers into daily standups for any sprint in which they're doing any work with the dev team.
Next steps: we'll bring in another Product Owner (we need to give our clients more love, and this will help - watch this space!); and see how well the team structure we've chosen works over the coming weeks.