Friday, October 2, 2009

Productivity ?

How would you define "Productivity" in a Software Development especially for Agile SCRUM ?

My thoughts, analysis and definitions:
Productivity can be defined as the rate at which the end users enjoy new features. Its like delivering business values continuously at a faster rate which sees higher RoI. Engineering practices should be applied to deliver these business values at higher rate.

A measurable unit of Productivity can be defined by individual Product owner or Scrum master for their respective teams depending upon the needs of the product / project. For example, I would like to define Productivity gain for a sprint as "P" where
P = (V + Q + F) / N

V - velocity gain over previous sprint
Q - no of quality, UI, automation and security related improvements adopted / implemented (eg. TDD, CI, AAT, improved product scores, automation, security, UI benefits etc.) Teams can come up with various scales for their improvements. Lets say having 10 points for improving unit test code coverage every sprint, 10 points for adopting CI and implementing smooth process, 20 points for improved security, 20 points for better UI and so on......
F - no of working features added over previous product or sprints. Again point system can be devised to quantify features added
N - team size excluding Scrum Master, BA and Product Owner

Teams should be challenged often to improve the value of P in every sprint.

I am doing more research on Productivity so will keep on improving this formula and adding more quantifiable units.

3 comments:

surbhi said...

Interesting analysis. My question is, how do we take in account the actual effort an indivisual has to put in? More, less or adaquet amount of effort should also be an indication of productivity. I think we can do some serious research on the topic ;-)

Yogesh Gandre said...

Great thoughts there Rohan.
Traditionally , productivity has always been linked to the no of items delivered over a period of time. eg "x" gallons per year, "y" cars per year.
To Surbhi's point, individual effort does come to picture by virtue of velocity.

I feel that definition of productivity varies from role to role.
From an end user perspective, its only the working software that we've delivered over a period of time.
I strongly feel that velocity is the only measure of productivity and that in some "World"s, its the perception that matters. I would however be interesting in what you discover in the future.

Rohan Daxini said...

Thanks Surbhi and Yogesh for your thoughts :)

I will share more about my experiments with productivity soon :)