Archive for November, 2008

Agile planning for less geeky people

I’ve been performing a small experiment lately and wanted to share some results.

My girlfriend is pursuing chartered accountant qualification. In order to qualify as an ACCA member, one has to complete 14 exams. The length of time it takes to qualify depends on the student as the course is designed to be flexible. Each year there are two examination session and one can sit up to four papers per session. With just couple of exams, it makes substantial amount to read, digest, revise, rehearse, to be able to pass. But in the same time it is pretty predictable. If you put this much of effort you can expect particular result. So, the problem can be defined as:

with a limited time on hands, how to score >= 51% for each of the exams one attempts to pass.

I could see her struggle. She knew what she has to do but she didn’t know if with current time constraints it is durable. She didn’t know if she will be able to prepare well enough for all the papers, or maybe drop an exam to give more time to other exams. What was needed is a simple plan with estimation put in realistic time frame. I decided to step in and help organize it using agile planning tool which I’ve been using for last two years: ScrumWorks. I’m trying to be quite serious here but I can see glimpses of smile appearing on faces of many people reading it now. I understand and it would be quite amusing for me as well. But hey, there is no such thing which we can’t do to entertain other people!

We started our planning with creating user stories. It would map directly to modules in each paper. The size of each user story would be the same to start with. Then each user story would be tasked out: each module requires particular amount of time allocated to reading, making exercises, revising. On the top of that there was time allocated to mock exams and wide spectrum revising. Each of the tasks can be quite well estimated. What’s unusual here is that all the user stories were tasked out up front and not on weekly iteration planning. In this case it was possible and needed as the deadline is fixed and domain well understood. After this agile planning exercise we ended up with very clear backlog. We knew what it takes to pass exam. The second part of this was allocating user stories with tasks to particular weekly iterations. It was easy enough just to divide workload in equal batches and reserve some time in last two weeks for this known-unknowns which always appear before release.

It’s her fifth iteration now. Except the initial introduction of the process I haven’t been interfering much. Each Sunday she was re-planning to accommodate real velocity, adding, removing or changing tasks, re-prioritizing. I have to say that she loves Scrumworks! It is a very simple tool which just does the job. Especially drag-and-drop re-planning and burn down charts she found very handy and useful.

So, what has changed since introducing this process? First advantage is improved visibility of progress which in very honest and direct way shows if one is doomed or not. It helps to make difficult decisions. With weekly iterations it helps to maintain a high average focus and saves a lot of stress being generated by not knowing if we are behind or ahead with preparations. I recon I will have to wait till exams to see how well the geeky project management can help “an average Joe”.

Popularity: 23% [?]

Comments (1)

My running in next 6 months and a bit

It is just a quick post to give an update on my plans for running for next half a year. After finishing Nike10k and Royal Parks Half Marathon I wanted to line up some next run, preferably a full marathon to give me some target and motivation for training. Obvious choice was London Flora Marathon but I didn’t get a place in the ballot. After quick research what’s happening in Europe in early April I decided to register for Paris Marathon which will take place on 5th of April 2009. I read some good reviews online and it should be amazing run to do with route in the heart of Paris starting and finishing on Champs Elysées with a long stretch along Seine.

As it is going to be my first Marathon I wanted to run some other longer run just before Paris to boost my confidence and I have chosen Half Marathon in Lisbon, Portugal which is 2 weeks before on 22nd of March 2009. I decided to do that one because of the weather which should be better than in UK or NSE (Non-South of Europe :). Plus, I have never been to Lisbon and I found the location of the run very appealing. Just check out the photos!

And the last but not least on my calendar the Bupa 10k in London on 25th of May 2009. It should be quite fun run! The race starts on Birdcage Walk and follows an anti-clockwise route around the City of Westminster and the City of London via Parliament Square, Embankment, Blackfriars Bridge, Queen Victoria Street, Cannon Street, Great Tower Street, Crutched Friars, Fenchurch Street, Leadenhall Market, Cornhill, Queen Victoria Street, Puddle Dock, Embankment, Horseguards Avenue, Whitehall and via Trafalgar Square to the Finish in The Mall.

Congratulations for Gabby for finishing her first 10k couple of weeks ago!

Popularity: 18% [?]

Comments

Thoughts on dispersed agile teams

I came across a paper from Microsoft on distributed agile development and wanted to share some thoughts from my experience on that topic. It’s not a matter of choice, that’s matter of reality that software teams are more and more often distributed where the scale of distribution may run from:

  • homeworkers based in the same city,
  • to people based in the same country in different offices/cities
  • followed by team members located in the different countries
  • then continents and
  • time zones.

Luckily we haven’t left this planet yet!

It is nothing unusual to have a team working together day by day dispersed between two, three or four timezones (I’m lucky now with three timezones but with majority of people in the same room). Searching for the new highly skilled professionals, acquisitions in new global markets or outsourcing to cheaper regions could be some of the reasons for increasing distribution.

The physical distance and time difference is not helping to create a funcional agile team. It is actually very far from ideal situation where people sit in the same room, with whiteboard handy and plenty of formal and informal communication going on, following all practices. Broken communication and being unable to apply original agile/xp practices are first problems which come to my mind. It is rather intuitive that dispersed teams will never be as good as team working under the same roof. Or maybe, as I think the last thought goes a bit too far and takes away any hope, the amount of work and skills required to create successful distributed team is bigger for at least an order of magnitude. And again, as always in agile, it is up to each and everyone in the team to make it work.

To fix the broken communication we should actually simply collocate as often as possible with emphasis on planning and release time. It is almost unavoidable. But it is also investment which will pay off when team members will have to work on distance together. People who actually know each other will later on communicate much better. To enable this communication we have to provide right tools: unlimited voice communication with conferencing capabilities, IM clients, tools for remote desktop sharing, access to the same network resources, webcams, hand free headsets. One should also learn how to be open and approachable, that’s a key factor! Pairing is for many people difficult even in the same room and becomes even more difficult on distance, but still possible and beneficial. It’s simply much harder and takes longer to learn how to do it comfortably. Couple of pieces of advice: don’t break something what works by constantly reorganizing teams, don’t loose some people by letting them drift away forgotten. As I already mentioned not all xp/agile practices can be used in original form like pair programming. How you are going to use for instance index cards stuck to a wall with dispersed team? It might not work. But there is always some answer. Maybe a given practice can be slightly modified to fulfill its role, or maybe it can be replaced with some other practice (see paper from Thoughtworks on Subclassing XP) which might work better. To figure out what works and what doesn’t frequent retrospectives with all members is a must. As I said: it is all about communication!

Popularity: 22% [?]

Comments (1)

Close
E-mail It