I opened my second day of Agile Development Practices on a high note with Mike Cohn‘s “Agile estimating and planning” session. Mike is one of the best speakers and trainers in the whole agile movement – he conveys ideas in a very powerful way, yet despite his experience and knowledge he remains friendly, accessible and laid back. I think the biggest value in his sessions is always in his replies to questions from the audience and the chance to talk to him during breaks – or listen in on others doing that.

Even though we have been estimating and planning with the team for quite a time I still found going through it all in an organized fashion very refreshing. It did rejuvenate my idea of moving the team from ideal days to story points in estimating the product backlog. Also quite interesting was Mike’s point that people are better at relative than absolute estimating yet favor precision over accuracy. A few exercises were designed so that participants could see how their minds make implicit assumptions to arrive at a number which is in fact less accurate and more misleading than a range.

One of the examples: how long will it take to drive from Orlando, FL to Seattle, WA? No one could answer it with a number, but most tried to making certain assumptions about speed, conditions etc. An accurate answer would be a range – let’s say 7 days +5/-3 days – but people would strive to give a single number. Precise seemed better than accurate. This is important to remember – as Mike underlined good decision making has to be based on accurate information. If precision is not possible at a given time it is better if the decision maker knows that. Hiding uncertainty behind a seemingly precise number denies decision maker important information hence leading to wrong choices.

It’s another point to what I and others have been saying about fixed bids being wrong. The whole concept of a fixed bid is requiring a precise answer (an amount, a date) at the point in the project where the certainty is lowest and the risk is highest. Is it ok if a client is served an illusion of certainty when there is in fact lots of uncertainty? Wouldn’t it be better if he was honestly informed that it is indeed at that stage a range rather than a precise number?

Afternoon I spent on a session about retrospectives led by Esther Derby and Diana Larson.

I read their book on the plane from Europe but I put it down a bit disappointed. The whole approach seemed a bit artificial. I imagined it would feel awkward and stupid to use the activities and techniques described with my team. I have to say this workshop changed my mind on this – seeing it all in action made the book kind of spring to life. Now it will become a resource to bring some fresh air to our retrospectives. I hope the team will enjoy that.

The day concluded with a reception (I was amazed that some were still able to eat after all the food we are served all the day during breaks) – a chance to chat with the others. Always an interesting experience – and uplifting, since I see that as a team we are much more advanced in using agile than most participants of this conference. I’m looking forward to another day – the format now will be less interactive, I’m afraid, but I’ll go to the open space – maybe I’ll have a chance to share some of my insights about using agile in outsourcing.

I attended Ken Pugh‘s session on agile requirements management today on the SQE‘s Agile Development Practices conference. What surprised me was that most participants were newcomers to agile – stuff like user stories, planing poker, story points etc. were a complete novelty to them. Judging from the questions & teamwork during the session and the chats during the breaks I have to say that we are doing pretty good as a team in this area. We have a pretty good process for starting projects and getting requirements from clients in an agile way. We get the most important user stories within one few-hour long initial backlog creation session – and then refine and evolve the backlog together with the client as the project develops.

Many of the techniques presented by Ken were applicable mainly to projects ranging from large to huge – and in corporate environment. But still I walked from that sessions with few ideas how we could improve what we do – and add to our toolbox for a bigger project when it comes our way.

One of the things Ken demonstrated was Business Value Points technique. The idea is to capture the relative business value of each user story as seen by the customer. It works pretty much the same as story points for effort or difficulty: stakeholders can do “planning poker” on perceived business value of each user story. As with each poker-style estimating only stories where there is a disagreement in the group get discussed at length and a consensus is achieved. The result can be then one of the factors in the planning sessions. Or it can be used along with story points to calculate how much value for the effort could be obtained. It is – I think – a great process for fostering some agreement on the priorities when instead of one product owner we have a group with different interestes.

Overall, this was an interesting day and I’m looking forward to tomorrow.

In one of the recent episodes of Dilbert agile gets mentioned (not for the first time). One of my friends said that “Dilbert turned against us” but in fact I think this cartoon very pointedly shows how much a typical manager (Pointy-Haired Boss) knows about agile. Managers like the PHB from Dilbert cartoons do exists in large corporations for real, I’ve met some. But much more managers, accustomed to reporting, WBSs, Gantts, PMSs, 3 months requirements analysis, specifications documents, acceptance documents etc. do think that getting rid of all that means complete chaos and lack of all rules.

That the rules are scaled down it doesn’t mean they don’t work. In fact, rules have a much higher chance of working if there is just a few of them, not a whole 200 pages handbook. Same goes for documentation and almost everything else. Things have to be scaled down so that the rules and information are manageable to humans.

Take Scrum – it is just three roles (the Team, the Product Owner, the Scrum Master), two lists (the Product Backlog and the Sprint Backlog) and three meetings (the Sprint Planning, the Daily Scrum and the Sprint Review). That’s all, not much to tweak around, simple to introduce and then follow. Same goes for XP – simple ideas, easy to understand directions.

But simple doesn’t mean easy. Building unit tests for everything also does require labor, though most who don’t know agile regrettably don’t associate it with extensive testing. Same about management -Scrum may be simple but being a Scrum Master is a demanding work – and requiring certain personality traits PHBs usually don’t have.

This ignorance about agile I’m sure leads to many failed projects when people don’t read up, don’t learn and really believe agile is the same as “cowboy coding”.  This gives agile a bad name, but I’m sure this will change with time.

I’ve been assembling a piece of IKEA furniture again yesterday. It is not an accomplishment of any kind – it was a rather simple thing to do (any man who can’t assemble a piece of IKEA furniture based on the instructions provided by them must be either mentally retarded or blind). But it was always a rather rewarding experience, especially for me – mostly working on things virtual and intangible every day. It is quite refreshing to see something built with my hands make our home office more convenient.

« Previous PageNext Page »