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

  • 839