design
rationales
irving cordova
http://irvingc.com
a personal tale
- assigned to a brand new project
- re-think architecture of an old product
- make it reach new heights!
this old project is weird
- they are using the code backwards
- this module contradicts industry standards
- this class is definitely wrong
lets write it again
- we can fix all the mistakes in one go
a few months later
- actually this old code made sense
- now I am late and behind schedule
- If only I had understood their design rationale before
capturing
design trajectories
- hard because there are too many inter relations
- Vannevar Bush proposed that a general non planar graph is needed
- the graph is hard so people use alternatives like TOC
authors attempts
-
does the trajectory match recollection?
- are the struggles documented?
- when did breakthroughs occur?
- was the design tree explored?
failed experiment
- the author didn't achieve any great insight
- many rewrites of the ordering of the design log were needed
- one of the problems was that the end goal (a design tree) was not defined
- however insights into the process were achieved
insights into the design process
- design isn't just to satisfy requirements, but also to uncover requirements
- design isn't simply selecting from alternatives, but also realizing their existence
- the tree changes as the design changes
tree of decisions
tree of designs
- a complete design is represented by the set of leaves in a decision tree
- in a design tree each leaf is a complete design
- a decision tree of size n yields 2^n nodes of a design tree
modular vs.
integrated design
- modularity enables future modification
- modularity can speed and ease the design process
however
- modular designs are not as optimized
tools
- Task Architect: not suited to document the design tree.
- Project Management tools: not really appropriate either.
- Ibis: designed for this purpose, but old and could not find a running version
- Compendium: works but requires self imposed disciplined.
- DRed: Used by Rolls-Royce, and promising but inaccesible
conclusion
generic diagramming tool might be the best
demo
my two cents
- a wiki page with comments enabled might be the best solution
- comments on the page might provide a forum for clarification of issues
- a wiki page is automatically versioned, and you can go back to see old designs
questions?
sources
-
http://explicit-ba.org/images/NewProjectMgt.jpg
-
http://4.bp.blogspot.com/-OLz7M0LJ6IQ/TzGxAPFOUqI/AAAAAAAAAoQ/hwmLP6Nj2XY/s1600/why-god-why1.jpg
-
http://2.bp.blogspot.com/-oEu_TqKH-90/T8d7PbK-j3I/AAAAAAAAADA/yCNEEBlKRy8/s1600/time-flies.gif
-
https://mrmcdanielsteacherpage.wikispaces.com/file/view/table_of_contents.jpg/233881818/table_of_contents.jpg
- http://homebusinesssuccessblueprint.com/wp-content/uploads/2013/01/Insight.jpg
design rationales
By Irving Cordova
design rationales
- 872