This is an almost live blog, I’m sat in the second row.
Software Economics – Walker Royce
Software delivery is an economic discipline, and is about managing uncertainty.
In order to optimise anything, you have to be able to quantify the current state and measure the right indicators.
Agile means accommodating change; we have to hone down the uncertainly. Less uncertainty results in more honest communication.
We unintentionally lie to ourselves about our progress and productivity capabilities. Trust is necessary, and honesty influences customer satisfaction.
do plan milestones and activities as demonstrable results – for testing;
avoid false precision – don’t specify what you don’t really know.
base progress on executable capabilities – the demonstrable product – not activities; speculation and opinion are secondary;
don’t attack the easy things first – (hah, we always say ‘get the boulders out of the way’. There’s no economic benefit in going after the easy successes, that falsely show progress.
quantify the cost of change to demonstrate agility;
avoid subjective and speculative measures.
Walker is talking about the importance of results, rather than activities, to assess progress. It’s evidence based, and it’s benefits based.
Software project cost forecasting – only within 25% accuracy in 3 out of 4 projects. Very uncertain for something where people expect firm prices and timeframes.
Resources = Complexity X Collaboration X Automation
Huge benefits in reducing complexity. Big benefits in improving agility. Big benefits in improving collaboration.
Investing time and money in innovation means reducing support and maintenance costs.