Saturday, August 30, 2008

Good post on Estimation Best Practices

I read this short article about  estimation in Leading Answers and found that it covers in brief all that we need to know/to do – to arrive at  a good estimate.  This is so short that this can be printed on a single page and should be pasted next to you, where you can have a look at it as often as it is needed, so you don't forget the points mentioned.

The complete post can be read here.

Some of these point, are covered in detail  in mysticMundane. I have given the point from the post in  Leading Answers and the link to the corresponding post in mysticMundane below.

 8.     Be aware of common estimation omissions – Consult lists of common estimating omissions (such as Capers Jones’) and ensure these items are taken into account. Look back at retrospective notes for things that did not go so well, and tasks that were missed or ran late – make sure we include enough time for these.Please check here for the list of common mistakes done in software estimation.  

9.     Embrace reality early – As the project progresses, it is tempting to think development will get faster and faster now all the technical problems have been overcome. However don’t under estimate the load of maintaining and refactoring a growing code based. Especially if the system is now live; support, maintenance, test harness updates, and refactoring can quickly erode the velocity improvements anticipated, so use the real velocity numbers.  That a newer technology doesn’t give us the order of benefits it promises to do is discussed here

Wednesday, August 13, 2008

Tompkins' Gyan:Jab we Meet...

Pop! It was a “You’ve Got Mail” notification and for a change, a meeting invite. “Oh, no, not another of those long-drawn meetings which lead to nowhere”, I thought. At some point or the other, all of us have been in meetings that get off the agenda, go round in circles, cover old ground, get stuck on one issue, and have people with hidden agendas. You know the feeling. Just as I would think, "at last were getting somewhere", someone would pipe up, "Hang on a minute, I don't see ..." my heart would sink, thinking, "Oh better to just shut up or I'll be here till midnight!"

To meet or not, that is the moot point
Sometimes regular meetings are held which actually do not yield results. Let me recall one of the meetings I attended during the early days of my career. The meeting started out with a few minutes of easy banter, a light hearted comment addressed to each one of those present by the Project Manager. Each recipient rose to the bait and offered an equally light hearted riposte, all in good fun. Then there was a sharp change of mood as the PM took control. Issues were set out on the table and addressed briefly and very efficiently. Each of us took turns in reporting the status, while the others listened or looked like listening (they were actually distracted and in their own worlds). 'This isn’t actually a meeting, it is more of a ceremony”, I thought, “This is just status reporting which we can do one-on-one with the PM”.

Such meetings are more ceremonial in nature. According to me, such meetings are unproductive (because they waste the time of lot of people un necessarily) and ought to be cancelled. If you can think of any regular meetings that actually serve a purpose, that can’t be met through other ways, do let me know. I say that regular meetings that involve lot of people should be avoided, as much as possible.

A real working meeting is called when there is real reason for all the participants to discuss and arrive at a decision. Such a meeting is, almost by definition, an ad hoc affair, hence unlikely to be regularly scheduled. Hence any regular get-together is suspect as likely to have just a ceremonial purpose.

When we meet: What can go wrong?
Quite often meetings are held without a clear-cut agenda. Never accept to attend a meeting without an Agenda. It is basically a waste of time, as Dilbert would say….:

Then there are meetings in which the required people do not participate, hence required decisions cannot be made. Again, I use Dilbert to show what happens in such meetings:

Sometimes meetings can get bogged down when people go off on tangents filled with irrelevant stories, and then other people get caught up in these distractions and add their own. Suddenly, the whole meeting ends up in a cul-de-sac with no one quite knowing how it got there. Following are some common phrases that come out of people's mouths that indicate they're game playing, rather than being honest:

  • Let's all try to get along. (Placator)
  • That won't work. (Spoiler)
  • I'll go down with the ship before I change my mind. (Argumentative)
  • Do we have to go over this again and again? (Complainer)
  • Why am I the one who always gets landed with the lousy jobs? (Victim)
  • Why do you always have to bring things up at the last minute? (Blamer)

There is no action item at the end of a meeting and no follow up happens. When there is no action item announced at the end of a meeting or if there is no tracking of the action items, such meetings are nothing more than good entertainment for a few.
How do we set it right?

  • As much as possible, insist on an agenda for the meetings you have to attend. If agenda is not there, ask for it. People actually appreciate if you ask for it.
  • Do your home work, based on the agenda. Don’t just walk in to any meeting without any kind of preparation. Remember it is your time and lot of other people’s time, which is at stake. Learn to respect it.
  • Make sure the required people (with authority to make decisions) are present. If they are held up, it is better to reschedule the meeting rather than to go through the motions, just because others are present.
  • If a meeting is going round in circles, and off-tangent, sit back, think back on the agenda, collect your thoughts, and level the meeting. Leveling is the technique used to bring back the discussion to the topic. E.g. saying “We seem to be losing focus”, “We seem to be somewhat divided on this issue”
  • An alternative approach which needs some discipline to enforce is Calling the behavior. Appoint a watchdog/facilitator who will call out explicitly when the meeting goes off track. One team member simply interjects and 'calls' John on what's been happening: "I'm going to call you on this, John, because I think you are taking us round in circles; we've covered this ground before".
  • A variant to this is calling your self (deliberately). For instance, in the middle of a meeting you remember something that isn't completely relevant, but is needed to bring the team up to date. If you bring it up you'll be playing the game of 'rambler/distracter', but if you call yourself on it ("I'm going to play the Distracter for a minute."). Everyone knows you're doing it and it won't disrupt the meeting.
  • Follow up on the action points: Ensure that people are held accountable for the action items and the action items are followed up and tracked to closure.
In conclusion:Well-run meetings are a joy to partake in. They have clear agendas, are run to time and chaired with discipline and fairness. Indeed, if you chair the meeting, you have the authority and opportunity to do a great job.

Sunday, August 10, 2008

It has been quite some time....

I haven't written anything here for more than two months. But i have been writing regularly in my own blog in my company's intranet (started in Nov 2006). Most of the articles posted here were originally written for the blog ( called PMBlog - a Blog on Project Management and General management).

I recently started a series called Tompkins' Gyan ( knowledge) , after the hero Mr. Tompkins from the book The Deadline. The series is a brain child of a friend of mine. It was her idea that we can come up with such a series of articles on Project Management and People management. The difference is that the series actually talks about project management in Tompkins' own words. This blog may have a post or two from that series.