A few folks have asked me about Axiomatic design. 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.
Independence Axiom and Information Axiom
At the heart of Axiomatic Design are these two Axioms (self-evident truth):
- Axiom 1 (independence axiom): maintain the independence of the Functional Requirements (FRs).
- Axiom 2 (information axiom): minimize the information content of the design.
For an interesting walkthrough of Axiomatic Design, see A Comparison of TRIZ and Axiomatic Design (PDF).
Photo by william couch.
I’m curious what you think of AD, and how you make use of it at work. Would you care to share a few more thoughts?
For me, it’s been most helpful to create cuttable scope for projects.
Imagine a list of scenarios. Each scenario requires some features to be implemented. Some of those features will be used across scenarios, while other features will be just for a specific scenario.
The potential problem I have is where features cut across scenarios. Cutting those scenarios won’t necessarily buy me time or might impact quality. On the flip side, where the scenarios don’t have shared features, I can cut them and actually save time.
I use this information to try to structure the project for my baseline release and then incremental releases. These visuals might help: http://shapingsoftware.com/2008/10/11/scenario-and-feature-frame/
My grad school thesis was related to axiomatic design. The concepts of differentiating whats and hows and identifying coupling seem to very straightforward yet sometimes very
handy in dealing with complexities in general.
Thank you for the sharing. It is interesting to me!
I agree — factoring the what’s and how’s and knowing the relationships can help untangle many complexities. It’s a nice principle-based approach.