Software Measurement - ACCCA13 Sessions
Software measurement - how to measure productivity (Olivier Gourment)
- The top 10 list for productivity
- DRY - Motivating, Making teams productive
- Extrinsic Motivation - do it for external rewards
- Intrinsic Motivation - do it for its own reward
- Need to include significant intrinsic rewards in S/W development
- Martin Fowler - we can’t measure productivity
- Peter Naur - Programming as Theory Building
- Team’s with no supervision or a lot of supervision perform better than teams with some supervision
- Need to have both a short-term and a long-term fix (or approach) to a problem, or development.
- Atul Gawande - The Checklist Manifesto
- Two levels of productivity metrics:
- Process level - “evidence-based” data for a practice or process… industry value, must not be used to measure teams
- Team or Project level, used for team or project improvement, but must not be used to compare teams.
- You have to ask what you are measuring it for, and against what you are measuring it.
- For a project you need to consider all functions, the the whole project, not just the development portion.
- e.g. The client says the cost of 12 hours to make a single change is too high… it should be less.
- Why 12 hours? What evidence is there that this is a “bad” number.
- What does the team think? Have they been asked where there is waste? Do they agree that the change process could be improved?
- Building Architect - is transparent when a customer asks. Explains everything that needs to be done, what steps need to take place, helps the client to understand why a change takes what it takes.
- Ask the client why they think 12 hours per change is too high, and what they are looking for in improving it.
- What requirements can be relaxed to get faster (eg… lower quality? less back-end and acceptance testing, etc)
- Could we design an experiment to test for waste and make improvements?
- What about creating a set of “standard stories” multiple teams can use to test themselves and their productivity
- Make it a game… don’t use the results to evaluate teams, but a personal challenge for the team
- Motivating for teams … its a game
- A way for teams to measure their effectiveness, and make improvements (in their own way, on their own terms.
- “If you don’t define your productivity/effectiveness metrics, then someone else will, and you may not like the way they measure it”