Sunday, June 17, 2012

Agile?


A pig and a chicken are walking down the road. The chicken says "Hey pig, I was thinking we should open a restaurant.". Pig replies, "Maybe, what would we call it?". Chicken responds "How about 'Ham-n-Eggs'?'. 

The pig thinks for a moment and says, "No thanks. I'd be committed, but you'd only be involved.".

This little story comes from the different roles people play in a software development effort. The 'Pigs' are the developers and project managers. The chickens are everyone who won't be fired if the effort fails.

Software development efforts, which I manage right now,  require Project Management, which is a discipline with a bunch of different methodologies. One called "Agile" is a particularly attractive one for small (under 10 members) teams, and I've used parts of it in every software development effort I've managed for the past 12 years. I've always used hybrid PM. The parts I always use are:

1. A daily, short meeting with all the developers to review what each accomplished yesterday, what they are going to do today, and what each one feels is an impediment to todays' work.

2. Face to face is the preferred communication method. There's no need for CYA emails, because we also operate with committed and trusted developers. Any team member can ask another team member for a short meeting as many times as needed during the work day.

3. We look for work that can be not done - no reinventing any wheels or anything else.

4. Working software is the only measure of progress and success.

5. Based on the 4 above, all milestones are either 0% complete,or 100% complete. There's no "I'm nearly done with my part" answer.

There's bunches more stuff involved, but you get the idea.

So how's that Agile thing working out for me? It's mixed.

I can't do #1

I can't do #2

#3 we are all over it.

#4 we are all over it.

#5 we are all over it.

And so on.

#1 and #2 are big deals. My 5 man team is all over the world - USA, Europe, Asia. So instead of walking over to Dan's office and asking a question, it's an email, but he's dead asleep when I send it and he doesn't read it until 9 hours later because he lives in Scotland.  So we lose the immediacy of one of the Agile methods important requirements, co-location.

Does that mean we abandon Agile? Definitely not. But we lose a lot of the speed that Agile delivers from not having the ad-hoc face to face part. It's still the right PM methodology.

I never thought I would long for cubicles, but today I do.

No comments:

Post a Comment