Why Agile is a step in the right direction

This post was written after CDC introduced Agile development methodology to do software development. After more than a year, I can confirm that the methodology works. We released two releses on time. CDC(Pivotal) had a dismal record of delaying releases before agile.

Before I start, I have to make a confession… I love Agile. I like the fact that the team can decide how much work to take up. I like the fact that the communication between various disciplines are very open. I love the fact that we all sit together and I can shout out to someone “Hey, you know I thought of a scenario…Can you try out and see if it works?”. He would try it out and tell me if the things work as expected or not. In fact,it makes me think “Why were we not following this before? It’s such a simple idea” . Anything that sounds like a simple idea in retrospect is a hallmark of a brilliant idea.

Peter F Drucker is considered to be father of management. I read one of his books “Essential Drucker”. This is not a book in the traditional sense, but a collection of essays Peter had written during his career on various subjects. This book is not for anyone looking for an easy read.I recommend this book only to the “seriously interested in doing MBA” category of people.I am hesitant to buy his other books as I fear I will not understand most of it.

 Anyway,one of the chapters in this book is about challenge of managing a knowledge worker. By the way, Peter coined the word “knowledge worker” in 1959 when there were almost no scope for a knowledge worker. He says, the primary contribution of management is to increase the productivity of workers.

The main issue is measurement.It’s a human tendency…If humans can measure, humans will improve in those aspects.

 How do you measure manual work? By the out put generated. ex:How many cars were produced in this shift? How many days does it take to build a house? All these factors are easily measurable.

Result – 

In the 20th century, management did very well, there was a 50 fold increase in productivity in manual labour. That is 5000 % increase in productivity in 100 years.They brought in a lot of innovations like assembly line, just-in-time parts delivery etc.

However, the main challenge of 21st century is to increase the productivity of knowledge worker.

How do we measure knowledge worker’s contribution?Can you measure a teacher’s productivity by the marks her students get? Can you measure a scientist’s productivity by the number of inventions he makes?

 Lets take software industry

Can you measure the productivity of a coder by number of lines of code he writes? I can write same logic in 2 lines or 10 or if I use some creativity in 100 lines. Can you measure quality assurance by number of defects he finds?All the QA people would want to test a fresher’s code since he is more likely to find bugs.

This has been the problem. Since it is not easily measurable, productivity levels have not increased the way it increased for manual workers.

 Peter says solving it would be the biggest contribution a manager can make in this century.

 I believe agile is the first step in measuring this productivity.

 Agile the first step

 I believe agile provides a way to measure productivity = in terms of velocity or story points. The points are associated with a user story by the team beforehand. So a team may commit to do work corresponding to 100 points this week. Now, managers can track this velocity and provide inputs to increase this to say 110 points by next release. That is a 10% increase in productivity. Now, manager can concentrate on a number… it is measurable, hence it is improvable!!

Managers should provide an incentive for the team to  increase its productivity. Maybe a nice bonus to the team that has consistently increased its productivity? This incentive would push  everyone in the team to develop more as a team. An individual cannot get this bonus by improving his own productivity. He would have to suggest changes to the way others work aswell for the team’s productivity to increase.

 I can think of a few flaws –

1)The team might increase the points associated with a user-story just to meet the increased point target.
2)One cannot measure productivity of a single member. The productivity can be measured only as a team.
3) The team can not change. If the size changes, it would be impossible to measure productivity till a baseline is set again.

I think the first flaw will sort itself out. The team members might be able to boost their velocity to 110 by bumping up their estimate. But, if they do, their target for the next release would be 120. I am sure at some point it would be impossible for the members to meet the target without improving their actual productivity.

 As for the other two flaws, I am not sure how they can be fixed. I am sure someone will think up another process which solves them. Maybe someone from India?   I am still not sure how we can measure productivity of a school teacher though… We cannot divide up her work into small chunks. Or can we?

I was wrong on the first flaw. I believe the teams are increasing velocity without actually delivering more to the customer. Hence, velocity cannot actually be used to measure productivity. We need to think up of some other way to measure productivity. However, I still love agile :-). Is there any move to measure productivity in your company? Is it Dilbertian or does it make sense?

Leave a comment

Filed under Agile

Leave a comment