Software Engineering, Project Management, and Effectiveness
A few folks have asked me about Axiomatic design that I mentioned in my post on Time-boxes, Rhythm, and Incremental Value. I figure an example is a good entry point.
An associate first walked me through axiomatic design like this. You're designing a faucet where you have one knob for hot and one knob for cold. Why's it a bad design? He said because each knob controls both temperature and flow. He said a better design is one knob for temperature and one knob for flow. This allows for incremental changes in design because the two requirements (temperature and flow) have their independence. He then showed me a nifty matrix on the board that mathematically *proved* good design.
At the heart of Axiomatic Design are these two Axioms (self-evident truth):
For an interesting walkthrough of Axiomatic Design, see "A Comparison of TRIZ and Axiomatic Design".
One of the most effective approaches I've found for chunking up a project for incremental value is using