Kicking a project off is one thing but how do you get to the finish line when there’s less than three months to get everything done?

One obvious move is to bring in an expert on the framework stuff you need. In our case that is David Pollak, he of lift/Scala fame. We knew that lift was the way to go in order to avoid the scalability problems of other services. Getting David on board means we have access to the person who wrote the original code. If he doesn’t know it then we’re in trouble ;)

But that’s not enough. Early on, Matthias Zeller introduced us to scrum methodology. The idea is straightforward. You set up a series of possible tasks, the team gets to assign points as to each task’s relative importance and a selection is made from there. The tasks are then assembled into a set of two week sprints. Each evening, a scrum call is held where issues are raised and resolved. Calls should last no more than 30 minutes. In between, individuals should make scrum reports so that all team members can see progress. How did we do?

We were very good at doing scrum calls. If a member couldn’t show, they’d notify the rest of the team. The sprints went reasonably well but our scrum reporting was not so great. Towards the end we got a little bit befuddled – or rather I did – as we dashed towards the finish line. However, tight though our deadlines were, we got as far as we expected but only just.

Even now, we have corners to rub off and a long tick list of ‘to-dos’ but in principle, scrum has worked for us.

ESME is not a simple project even though it seems so on the surface. Coordinating the moving parts still requires effort and of course any changes in the UI can throw you out of kilter. Would we have got there without scrum? Not in my opinion. Scrum forces you to focus and keep a tight grip on what you’re doing. Oh yes – having a hard floor deadline also focuses the mind.

Reblog this post [with Zemanta]