Busy bees

June 11, 2008 | Comments

Talking of FP... we've been rubbish at talking about what we're doing. So excuse me if I go a little salesy, but I thought I'd use this platform to mention some of the stuff we've been doing this year:

  • We're working for half of Nokia's design teams in the UK, implementing handset themes onto a range of devices which have come to market so far in 2008, and will be continuing to arrive throughout the year;
  • Top-secret design work for a large international agency. Can't say any more;
  • Piles of design and product development for trutap - there's some really great stuff going on here which I'll share more about in the next few montsh;
  • Some concept work for the LastMinute.com Labs team (when I'm not trying to cleave them in half, virtually), and Channel 4 - both of whom have contributed to our healthy collection of NDAs, so no details here I'm afraid;
  • Mobile web development for the Royal Observatory Greenwich (see the presentation Bryan and I gave at Over The Air here), and for a font distributor - coming soon!
  • More game development for LocoMatrix;
  • Nifty bits of Bluetooth work for Wieden & Kennedy, to support an ad campaign for Save The Children, and for CuteCircuit - who sell a really T-shirt that beams hugs over mobile phones. Honest.

Phew. Oh and there's all the stuff that's so secret I can't even breathe about it, of course... ;)

What I Did With My Summer Holidays

June 10, 2008 | Comments

So, I had a weeks holiday last week; just over a week if you count the previous Friday when I tramped off to Wales with a group of chums for a few days camping and clambering. But - somewhat typically - I'd arranged to spend the week working for a client of ours, Locomatrix, for whom I moonlight as CTO.

If you've not come across Loco before, it's really neat - and weird enough to fit snugly into the Future Platforms portfolio: a platform to enable location-based gaming: you can see a lovely video outlining the concept here. There's lots of action in this area at the moment, what with the commoditisation of GPS and the increased physicality and casuality of gaming that Miyamoto and chums are working hard on, and there are oodles of location-based games out there. But Loco's status as a platform makes it a bit different: sure, we've written a couple of games ourselves to demonstrate its versatility, but the aspiration is to hand this over to the public and let them do much cleverer and more imaginative stuff than we can dream of.

With FP being a mature 8 years old, I no longer get to kid myself that I'm working for a startup, so it was quite exciting to get back to that world again - even if briefly. Four days isn't a long time to achieve much, and I spent the first couple of them doing basic housekeeping: tidying up projects, slimming down applications, packaging things up properly, tidying up build scripts, automating installations... all those things you really mean to get around to doing, which save you oodles of time and hassle in the long run but you never quite get to. By the end of Tuesday Loco was in a clean, maintainable state and I was much more comfortable and familiar with it, ready for a Real Day Off.

Thursday was incredibly frustrating, as I worked on trying to improve one of our game formats, Treasure Hunt. One of those days where you crack on well, and achieve nothing. But my glass was half full: Loco being an outdoor gaming platform, most of my testing effort involved running down to the beach or a local park. Loco HQ is on Brighton seafront, not an unpleasant environment to be doing your testing in at this time of year :)

Friday morning: final tidying up, and a meeting with a potential Loco customer. We're actively targeting agencies and game developers with the platform right now - it feels far too early for LBS gaming to go mass market, we don't have spare cash to burn promoting the concept to the public, but for brands or game authors the platform is a cheap opportunity to do something really unusual today, without the infrastructure costs most LBS game developers usually end up paying.

And the afternoon? Running through the game developer APIs, which I wasn't personally too familiar with, and was pleased to see strike a balance between feature and simplicity. I reckon if I can explain them to someone fresh in less than an hour and they get it, there's something good there. And then working on a backlog of desired features for Loco with a view to sorting out some longer-term planning for the product. Having gone through the pain of introducing decent processes to a software company 5+ years in, I'm keen to start getting Loco into good habits early on :)

So... not exactly a holiday, but definitely a change of scene, a more relaxed atmosphere than the sometimes frenetic pace at FP, and a sense of leaving something better than I found it. I look forward to repeating the experience (perhaps after a real holiday)!

Scrum: Sprint 13 review

May 27, 2008 | Comments

It's been a while since I've done an update on how Scrum has been going for us, but last week we completed Sprint 13, which seems as good an excuse as any for some news.

We've had an interesting time over the last few months. As I mentioned before, a few of our development team have been seconded to a client and working on a top-secret project managed by said client. There's been a fairly disconnected feeling between the rest of us and the guys doing this work, and at the same time we've had a few projects come in which were purely design-focused: handset customisation, concept work and UI development with no implementation phase (yet). So the design team have also been scheduling their time separately, until Sprint 13 when they returned to the fold.

Planning day followed the now-familiar pattern: an hour or so to review work from the last fortnight, the same for a retrospective, lunch, a short gap whilst Mr Falletti and myself prepare for planning, and then the planning itself.

The reviews have become more useful since we had our Product Owner (currently Sergio, but Watch This Space) ask to see what's most of interest to him. Before this the meetings were show-and-tell, and seemed to be more around individuals showing elements they were particularly proud of rather than highlighting what was most important to our clients. Shifting the emphasis slightly from what-we've-done to what-our-clients-value made a disproportionately large difference to how useful this felt.

This weeks review was particularly good from the point of view of connecting the dev team with the work that the design team had been doing - which I found fascinating from a process point of view (Buxton is practically dripping out of our walls right now), and which is about to become extremely relevant to the developers when we move design projects into to production. It was also a good opportunity for the guys who'd been working for the Other Client to show off what they've been up to.

Sprint 13The retrospective followed. Our burndown chart from this sprint was the best yet, I felt: we made clear and steady progress from the start of the sprint to the finish. I was pleasantly surprised to note that, without much in the way of conscious effort, most of the actions from our previous retrospective had been err actioned. Joh has sharpened the format of the retrospective sessions down over the last few sprints and given them much more focus - what were previously very useful but slightly open-ended discussion sessions now seem to surface successes and failures from the previous fortnight very quickly. Once you see 3 people in the room independently bringing something to our attention, it's hard to ignore it. In particular we've had a lot of appreciation shown for a new member of staff: it's really nice to have a forum for everyone to make their feelings clear.

Problems raised this time around tended to be more at the level of client relationships, planning and time management than around specifics of development practices (though as always, a few points along these lines were noted). Actions included:

  • setting up formal fortnightly lunches where we'll take turns to do a talk on a topic of interest to the group. I've done one this sprint on unit testing, we have more scheduled on threading/concurrency, design processes, transactions & Hibernate, automated testing tools... and much more;
  • looking into lightweight ways of getting code reviews into our development process;
  • scheduling a bit of slack between projects to absorb slippages, prevent knock-ons and provide polishing or research time;
  • some operational items like getting more SIM cards in place for testing and fixing an unreliable office router;

Lunch @ E-KagenLunch followed: e-kagen, enough said. :)

Then planning, which was extremely painful this time around. Despite Dougie returning to the team-at-large we were back in the same old position of having not enough resource available to meet the commitments we wanted to, and making hard decisions on what should be reprioritised. By the end of the day it's fair to say we were all quite worn and out of steam, but looking at it more positively we were dealing with this problem at the start of the sprint, not the end. We have eerily consistent information as to the accuracy of our estimates and I like to think it's better to use this information accurately to make better decisions than it is to ignore it and deal with the fall-out later on.

This sprint we returned to planning in design work, with the design team estimating tasks they'll carry out and providing stories for the process. Interestingly our design velocity is quite different from that of our development team. I put this down to our design team being composed in the main of much more experienced individuals than our devs (I include myself in the latter category); but over and above this I'd note that most of the design tasks we break down projects into are time-boxed. I think there's something really interesting here: design work having a tendency to be more subjective, I think it's harder to consider a given design task completely done, but easier to justify them as done if it's in the interest of the project to do so.

So, 6 months in and where are we? It's happened slower than I had at first expected (I thought we'd get the hang of this in 3 sprints, then 6 - how wrong I was!), but taking a step back I'm happy with what we've achieved so far:

  • We have a defined way of working, which we follow. I remember reading a lovely quote a while back along the lines of "your process is what you do when things go wrong" - riffing on the idea that lots of folks will say "yes we have a way that we work", but when problems occur then it's panic time and all that goes out the window. I couldn't claim that we don't have problems (in fact Scrum seems to make them more, not less, visible), but we do have a way of working that we follow all the time - one we can measure, defend, and speak confidently about. And the management overhead for working in this way is minimal (though it's also fair to say we're overstretched at this very moment at that level);

  • We know pretty accurately what the ratio is between how long we think a task will take, and how long it actually takes us; variance from 1:1 including poor estimation, natural interruptions, scope creep and so forth.

  • We actively criticise ourselves and take actions to deal with this criticism - there's a forum where issues can be (and are regularly) raised by anyone in the company. Equally, we celebrate the successes of individuals or the group. I'll stop before this sounds any more Californian.

Note from a retrospective

There's a thousand things for us to improve on, of course, but it's nice to occasionally look at where we are and realise that it's a significant improvement on where we were 6 months ago; and I'm looking forward to where we are in another 6 months :)

Scrum doesn't do anything

May 27, 2008 | Comments

I found this fantastic post from Tobias Meyer on the scrumdevelopment mailing list:

"There has been a lot of discussion on this list recently about what Scrum can and can't do, what it does or doesn't do, and how Lean can do things Scrum can't do, and so on. It is starting to feel like meaningless noise.

Scrum doesn't do anything. Nor does Lean. People do things.

In the end it doesn't matter what names you use for your processes, good people will do good work and continuously improve what they do. So much of the discussion around Lean versus Scrum (etc.) is about marketing hype, selling consulting and training services, and cornering the market with new name-brands. It is easy to confuse people new to this list about the nature of Scrum.

Scrum is not a methodology, it is not a process. It is a simple framework underpinned by some common sense principles. Scrum offers individuals and organizations the opportunity to continuously improve the way they work. It provides a space for people to behave like human beings, with trust, respect and passion. That's about it. But that is huge.

Scrum won't save you, it won't fix your organizational dysfunction, and it won't solve your interpersonal problems. Nor will Lean. Nor will XP. Nor will any new brand-name Agile "solution". So get over it -- and more importantly, get on with it. There is work to be done :]"

Multiple SIMs

May 10, 2008 | Comments

Christian posted about something I noticed in my own life earlier this year. About 5 years ago I saw a talk from Tomi Ahonen where he discussed multiple SIM ownership in Finland and mentioned the number of devices he carried with him personally. "Yeah yeah" I thought, filing him mentally under "crazy Finn" and getting back to business.

But he was, of course, completely right and it's happened, hasn't it? When I moved my home broadband to the 3 USB dongle, I became one of those multiple SIM owners without even noticing it - and at the rate these things are selling I'm guessing there are quite a few of us. The SIM sitting inside the dongle is completely irrelevant to me - I don't use it for anything else - but it's there nonetheless. In 3 years time I wonder how many more devices I'll own which quietly accept those distinctive little cards.

(And note I've not even *touched* on what this must be doing to the so-called wi-fi "industry" which has been "just about" to disrupt the Vodafones and O2s of this world for nearly 10 years now...)