Alistair writes about something which I've only thought about in small glimpses, moving on to my daily business:
One of the basic ideas behind lean development is that you narrow the amount of process that is done at the company to only those things that add value. Continually trying to remove "waste" from your process is a key learning.
The big question is "What is value".
If your manager is big into "lean" they can say
"Don't work on refactoring - it doesn't add any value to the customer"
"Don't work on making the build faster - there is no customer value in that"
but we all know there certainly is.
It's internal value - that makes sure things are kept at the highest quality.
In "Lean Software Development" the toyota way is introduced. What I've gleaned from it, among other things, is that you "remove waste - but keep the things you cannot do without"
It is those things that make "internal value":
- a constantly trimmed and refactored build process
- constant refactoring of code base
- code churning for readability
- teaching people
- coaching about problems
- having fun at work
There is indeed internal value in these things, but as alistair says = there is the danger of saying that anything brings internal value.
For an agile team - it is those things "you can't do without" that you take from more specific techniques like TDD, XP, Continues automation etc...