Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Design Visualization: Smoke and Mirrors (slides)

9,121 views

Published on

A rethinking of software architecture, its place in software design, and how we approach it. Going to bat for wisdom, and putting visualization back in the tool belt.

Published in: Software

Design Visualization: Smoke and Mirrors (slides)

  1. 1. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Design Visualization: Smoke and Mirrors Ruth Malan Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015
  2. 2. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Imagine this slide is M.C. Escher’s Day and Night
  3. 3. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Where To • Architecture • Visual (in) Design • Design Intention:Reflection
  4. 4. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Smoke (Intention) and Mirrors (Reflection)
  5. 5. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Intention:Reflection • INTENTION, n. The mind's sense of the prevalence of one set of influences over another set; an effect whose cause is the imminence, immediate or remote, of the performance of an involuntary act. • REFLECTION, n. An action of the mind whereby we obtain a clearer view of our relation to the things of yesterday and are able to avoid the perils that we shall not again encounter. • Ambrose Bierce (1842-1914) Source: Devil’s Dictionary
  6. 6. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Architecture: W(h)at? Software architecture refers to the high level structures of a software system, the discipline of creating such structures, and the documentation of these structures. It is the set of structures needed to reason about the software system. Each structure comprises software elements, relations among them, and properties of both elements and relations. — wikipedia/Clements et al
  7. 7. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 System: What? “A system is an interconnected set of elements that is coherently organized in a way that achieves something” -- Donella Meadows
  8. 8. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Architecture: What? Software architecture refers to the high level structures of a software system, the discipline of creating such structures, and the documentation of these structures. It is the set of structures needed to reason about the software system. Each structure comprises software elements, relations among them, and properties of both elements and relations. -- wikipedia/Clements et al
  9. 9. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 "All architecture is design but not all design is architecture. Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change." — Grady Booch, blog post, March 2, 2006 Architecture: Again?
  10. 10. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 from Olaf Zimmermann’s presentation at SATURN 2010 Architecture: Decisions!
  11. 11. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 "All architecture is design but not all design is architecture. Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change." -- Grady Booch, blog post, March 2, 2006 Architecture: Again?
  12. 12. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 "Everyone designs who devises courses of action aimed at changing existing situations into preferred ones." -- Herbert Simon Design? Image source: Pittsburg Post Gazette Archives @SoftArchConf #SoftwareArchitect2015
  13. 13. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Image source: Pittsburg Post Gazette Archives @SoftArchConf #SoftwareArchitect2015 "The engineer, and more generally the designer, is concerned with how things ought to be - how they ought to be in order to attain goals, and to function." -- Herbert Simon Design?
  14. 14. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 We design to get more what we* want. * For some value of we (tbd) Design?
  15. 15. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 "All architecture is design but not all design is architecture. Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change." -- @Grady_Booch, blog post, March 2, 2006 Architecture: Again?
  16. 16. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Architecturally Significant?
  17. 17. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015@SoftArchConf #SoftwareArchitect2015 Is this the part where we get to talk about Technical Wisdom?! [insert obligatory Yoda image]
  18. 18. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Image source: zoranphoto.deviantart.com @SoftArchConf #SoftwareArchitect2015 Is this the part where we get to talk about Technical Wisdom?!
  19. 19. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Source: HandbookOfSoftwareArchitecture.com @SoftArchConf #SoftwareArchitect2015 "the architecture of a system is the naming of the most significant design decisions that shape a system, where we measure significant by cost of change and by impact upon use." – @Grady_Booch Architecturally Significant?
  20. 20. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Decisions that shape a system • give form to the system • set direction; constrain; bring integrity, consistency and unifying aesthetic to the system Cost of change Impact upon use Architecturally Significant?
  21. 21. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Structurally significant • Organizing structure • Architecturally significant mechanisms • Structural integrity and sustainability Strategically significant • game shapers and game changers Architecturally Significant?
  22. 22. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Architecture Architecture enables and constrains Minimalist — Dana Bredemeyer
  23. 23. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Appeal to Authority “The legitimate object of government is to do for a community of people whatever they need to have done, but can not do at all, or can not so well do, for themselves – in their separate, and individual capacities.” – Abraham Lincoln Image source: wikipedia @SoftArchConf #SoftwareArchitect2015
  24. 24. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Architecture Decisions that must be made from a system perspective • across boundaries
  25. 25. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Intentional and Emergent source: HandbookOfSoftwareArchitecture.com @SoftArchConf #SoftwareArchitect2015 “Every software-intensive system has an architecture. In some cases that architecture is intentional, while in others it is accidental. Most of the time it is both, born of the consequences of a myriad of design decisions made by its architects and its developers over the lifetime of a system, from its inception through its evolution.” – @Grady_Booch
  26. 26. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Image source: ibm.com @SoftArchConf #SoftwareArchitect2015 Visual Design
  27. 27. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 An Engineer!
  28. 28. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Investigating and developing theory: structure and dynamics Leonardo Da Vinci Notebooks @SoftArchConf #SoftwareArchitect2015
  29. 29. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Capturing and exploring designs of mechanisms Leonardo Da Vinci Notebooks @SoftArchConf #SoftwareArchitect2015
  30. 30. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Copying (a good thing)
  31. 31. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Inventions — By Thinking! Image source: wikipedia. @SoftArchConf #SoftwareArchitect2015 Among the inventions credited with passing into general practical use are • the strut bridge, • the automated bobbin winder, • the rolling mill, • the machine for testing the tensile strength of wire and • the lens-grinding machine
  32. 32. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Sketching • To observe (more attentively) • To study, think, reason, to puzzle things out • To record • to think longer, harder • to show, to teach • To invent, to combine, to make (new) connections • To test ideas • thought experiments • To persuade Leonardo Da Vinci Notebooks @SoftArchConf #SoftwareArchitect2015
  33. 33. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Eye Pencil “[John Ruskin’s] mission was not to teach people how to draw, but how to see.” – Niamh Sharky “The art of seeing has to be learned” – Marguerite Duras “Powers of observation can be developed by cultivating the habit of watching things with an active, enquiring mind.” – WIB Beveridge Self-portrait by John Ruskin, 1861
  34. 34. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Anatomy “First of all, as a sculptor, engineer, architect, he had an intuitive understanding of form — when he dissected a body, he could understand in a very fluid way how the different parts of the body fit together, worked together. And then, having made that understanding, as a supreme draftsman, he was able to record his observations and discoveries in drawings of such lucidity, he’s able to get across the form, the structure to the viewer” -- Martin Clayton, Leonardo da Vinci: Anatomist Image source: Royal Collection © Her Majesty Queen Elizabeth II @SoftArchConf #SoftwareArchitect2015
  35. 35. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Visualization in Medicine Today Brain Scans: peer inside your head – while you’re alive Image source: Oxford Centre for Functional MRI of the Brain, Oxford University. @SoftArchConf #SoftwareArchitect2015
  36. 36. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Visualization in Medicine Today Brain Scans: peer inside your head – while you’re alive and thinking! [This fMRI scan shows the areas of the brain active when you tell a lie.] Image source: http://www.sciencemuseum.org.uk/. @SoftArchConf #SoftwareArchitect2015
  37. 37. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Visualization in Medicine Today Brain Scans: revealing the brain’s pathways Image source: Tyszka, et al. The Journal of Neuroscience 2011. @SoftArchConf #SoftwareArchitect2015
  38. 38. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Image source: wikpedia @SoftArchConf #SoftwareArchitect2015 Visual processing Design for Visual Processing
  39. 39. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Source: https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition @SoftArchConf #SoftwareArchitect2015 code is visual Visual Design ;-)
  40. 40. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Code is design!
  41. 41. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 "An airplane can contain some six million lines of software code equivalent to a three-story- high pile of books" — Source: IBM Rational Code as Design
  42. 42. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 “The code is the truth” — Sam Guckenheim “The code is the truth, but not the whole truth” — Grady Booch 3 stories, and it’s not even the whole truth?! Code as Design
  43. 43. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Hard to wrap our arms around quite so much truth - understanding - communication - change - interactions Code as Truth
  44. 44. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Missing key truths - context - big picture - rationale - alternatives (ruled out) System properties - emergent from relationships - context dependent Code is
  45. 45. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Code is design! But… “we need good top level design” www.developerdotstar.com/mag/articles/reeves_13yearslater.html
  46. 46. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Why We Model • To abstract • To reason • To show • To test • To document • To transform To address wicked problems: To deal with complexity -- buffer overflow! To work together -- shared thought-space To communicate -- explain, defend, preserve
  47. 47. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Abstractions “As programmers we deal with abstractions all the time and we have to invent them in order to solve our problems” Michael Feathers
  48. 48. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Cohesion
  49. 49. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Parts Flying in Formation
  50. 50. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 System: What? “A system is an interconnected set of elements that is coherently organized in a way that achieves something” -- Donella Meadows
  51. 51. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Visual: Good for Exploring Relationships • Explore and express relationships • Structural • Causal • Temporal • Make connections
  52. 52. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 At Heart of Architecture: structure and relationships Posit structure Explore behavior Revise structure
  53. 53. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 At Heart of Architecture: structure and relationships Posit structure Explore behavior Revise structure Patterns Metaphors Experience Existing stuff Sequence, Activity, Communication Diagrams, State charts, Ad hoc diagrams How will this work?
  54. 54. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 •Cohesive responsibilities (separation of concerns) •Balanced distribution of responsibilities Posit responsibilities Refine as explore behavior and different views Patterns Metaphors Experience Existing stuff Factor and Refactor “The responsibility of architecture is the architecture of responsibility.” -- Jan van Til
  55. 55. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Architecture: What? Software architecture refers to the high level structures of a software system, the discipline of creating such structures, and the documentation of these structures. It is the set of structures needed to reason about the software system. Each structure comprises software elements, relations among them, and properties of both elements and relations. -- wikipedia/Clements et al
  56. 56. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Image source: stylonica.com Technical Wisdom Can haz?
  57. 57. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Technical Wisdom “A change of perspective is worth 80 IQ points” – Alan Kay
  58. 58. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 (Change) Perspective http://www.xkcd.com/32/
  59. 59. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Image source: stylonica.com Programming as Theory Building
  60. 60. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Design Arguments “The Federalist Papers are arguments that support different parts of the design of the Constitution. And the Constitution itself is a set of principles for building a very complex dynamic structure that should last for centuries” – Alan Kay Source: Powerful Ideas Need Love Too!
  61. 61. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 “it seems to have been reserved to the people of this country, [..], to decide the important question, whether societies of men are really capable or not, of establishing good government from reflection and choice, or whether they are forever destined to depend, for their political constitutions, on accident and force.” Federalist No.1 Reflection and Choice
  62. 62. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Mechanisms? The Federalist Papers, No. 51 addresses • checks and balances • separation of powers
  63. 63. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 How does it even?
  64. 64. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015
  65. 65. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 LMAX Disruptor Mechanism Source: Martin Fowler http://martinfowler.com/articles/lmax.html
  66. 66. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Cockburn’s Hexagonal Architecture
  67. 67. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Image: Ferguson, Engineering and the Mind’s Eye @SoftArchConf #SoftwareArchitect2015 Coincidence? ABATIS, n. [1.] Rubbish in front of a fort, to prevent the rubbish outside from molesting the rubbish inside.
  68. 68. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 68 What do you do when you don’t want a fox in your hen house?
  69. 69. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 69 Watchdog
  70. 70. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Mechanism Designs • Federalist Papers • Da Vinci Notebooks • Design Patterns
  71. 71. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Architecture is super hella important decisions
  72. 72. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Technical Wisdom Can haz? Image source: stylonica.com
  73. 73. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Image source: Pittsburg Post Gazette Archives @SoftArchConf #SoftwareArchitect2015 "The engineer, and more generally the designer, is concerned with how things ought to be - how they ought to be in order to attain goals, and to function." -- Herbert Simon How things ought to be
  74. 74. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Technical Wisdom More?? Image source: stylonica.com
  75. 75. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 “I confess that there are several parts of this constitution which I do not at present approve, but I am not sure I shall never approve them: For having lived long, I have experienced many instances of being obliged by better information, or fuller consideration, to change opinions even on important subjects, which I once thought right, but found to be otherwise. It is therefore that the older I grow, the more apt I am to doubt my own judgment, and to pay more respect to the judgment of others.” Benjamin Franklin
  76. 76. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Technical Wisdom Please, oh please? Image source: stylonica.com
  77. 77. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 “If you haven’t thought of three possibilities, you haven’t thought enough.” – @JerryWeinberg Rule of Three
  78. 78. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Extraordinary Moment “What, at this extraordinary moment, is the most important thing for me to be thinking about?” — Buckminster Fuller
  79. 79. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 vv v v What (system view) HowWhat (user view) SYSTEM ARCHITECTURE STRUCTURALBEHAVIORAL CAPABILITIESCONTEXT Why How well FUNCTIONAL QUALITIES System Design Intent (what should be)
  80. 80. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Design: Structure • Elements and relationships
  81. 81. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Structure “box and line”
  82. 82. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Structure • Relation to host topology • containers (Simon Brown) • deployment view in UML
  83. 83. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Behavior Ad hoc UML-ish UML • sequence • communication • activity • timing
  84. 84. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 vv v v What (system view) HowWhat (user view) SYSTEM ARCHITECTURE STRUCTURALBEHAVIORAL CAPABILITIESCONTEXT Why How well FUNCTIONAL QUALITIES System Design Intent (what should be) mechanisms
  85. 85. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Extraordinary Moment “What, at this extraordinary moment, is the most important thing for me to be thinking about?” — Buckminster Fuller
  86. 86. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 System Design Intent (what should be) System Design Reflection (what is)
  87. 87. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Roundtrip Back to Roundtrip Engineering?
  88. 88. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Image: Michele Lanza, presentation on slideshare titled “Of Code and Change”
  89. 89. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Perhaps we were too literal
  90. 90. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 System Design Intent (what should be) System Design Reflection (what is) What’s architecturally significant??
  91. 91. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 System Design Intent (what should be) System Design Reflection (what is) But… what’s this?? What’s architecturally significant?
  92. 92. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 vv v v What (system view) HowWhat (user view) SYSTEM ARCHITECTURE STRUCTURALBEHAVIORAL CAPABILITIESCONTEXT Why How well FUNCTIONAL QUALITIES System Design Intent (what should be)
  93. 93. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Design Across Context System-in-Context (use, dev, ops) System (Ecosystem) Architecture structure and mechanisms “Requirements” design of system capabilities Strategy ecosystem interventions
  94. 94. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015
  95. 95. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Code Wins “Code wins arguments” – Mark Zuckerberg but are all arguments worth having?
  96. 96. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Experiment — on paper! Sketch prototypes and pretendotypes
  97. 97. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 But soon, and then often
  98. 98. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Imagine this slide is M.C. Escher’s Magic Mirror
  99. 99. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 System Design Intent (what should be) System Design Reflection (what is)
  100. 100. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Cobbler’s Children • Does the software cobbler’s children have any shoes, or are they still in “research”? 100
  101. 101. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Visualization Shiny! • but what’s it good for?
  102. 102. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015102
  103. 103. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 What How Who SYSTEM STATIC DYNAMIC ORGANIZATION semantic dependencyhierarchy Elements and relationships
  104. 104. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Nest Circles Layout Flare on Flare
  105. 105. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Dependency Structure Matrix Lattix
  106. 106. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Dependency Map Structure101
  107. 107. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 What How Who SYSTEM STATIC DYNAMIC ORGANIZATION What is where? Elements and relationships How does it work? Dependencies/coupling? Coherence? Behavior
  108. 108. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 How Well Structural qualities Behavioral qualities Team qualities (POLY)METRIC /DASHBOARD (reflective) SIMULATIONS /PROJECTIONS (predictive) experiment predict plan
  109. 109. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 How Well Structural qualities Behavioral qualities Team qualities (POLY)METRIC (reflective) SIMULATIONS /PROJECTIONS (predictive) experiment predict plan City Map: spot structural anomalies like “god” classes
  110. 110. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 How Well Structural qualities Behavioral qualities Team qualities DASHBOARD (reflective) SIMULATIONS /PROJECTIONS (predictive) experiment predict plan TuningFork: spot “hot spots” in performance analysis XRadar: spot anomalies in code quality across packages
  111. 111. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 When POINT-IN -TIME OVER TIME Point-in-time versus Evolution
  112. 112. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 When POINT-IN -TIME OVER TIME Point-in-time versus Evolution: System Structure
  113. 113. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 When POINT-IN -TIME AGE -SENSITIVE Point-in-time versus Evolution: System Structure
  114. 114. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 When POINT-IN -TIME OVER TIME Code Map markers: Who is working on what right now ConcernLinesConc erns over time Point-in-time versus Evolution: Organization DeveloperRivers
  115. 115. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Locating Tech Debt
  116. 116. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Code Looks Like… a Pollock?
  117. 117. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Architecturally Significant, Yes “Developing a sense for code going awry is not a luxury.” -- Yves Reynhout
  118. 118. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 It has a name?
  119. 119. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Illustration: @1957 Disney @SoftArchConf #SoftwareArchitect2015 Code as a Crime Scene
  120. 120. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Illustration: @1957 Disney @SoftArchConf #SoftwareArchitect2015 Code as a Crime Scene hot spot analysis — complexity — change
  121. 121. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015@SoftArchConf #SoftwareArchitect2015 Smells? Sensory Journeys (2009-10) project by the artist Christian Nold
  122. 122. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Richard I. Cook
  123. 123. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 System Design Intent (what should be) System Design Reflection (what is)
  124. 124. Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 Join the conversation on Twitter: @SoftArchConf #SoftwareArchitect2015 What is visualization in design good for?

×