architecture oral history
play

Architecture Oral History Minimalist Techniques for Describing - PDF document

4/11/2012 Creating an Architecture Oral History Minimalist Techniques for Describing Systems Michael Keeling Vivsimo @michaelkeeling Documentation is Important Software Architecture Descriptions have some major drawbacks. 2 1


  1. 4/11/2012 Creating an Architecture Oral History Minimalist Techniques for Describing Systems Michael Keeling Vivísimo @michaelkeeling Documentation is Important… Software Architecture Descriptions have some major drawbacks. 2 1

  2. 4/11/2012 3 S oftware A rchitecture D escription SAD 4 2

  3. 4/11/2012 SAD without Purpose? NO! 5 Architecture Documentation is an investment. 6 3

  4. 4/11/2012 7 Lean? Agile? Architecture Documentation Loans 8 4

  5. 4/11/2012 Your Documentation Loan How much? When? What do I get? 9 Documenting Software Architecture What you document and how you document it should change as the project evolves. 10 5

  6. 4/11/2012 Architecture Oral History 11 EARLY IN THE SOFTWARE LIFECYCLE 12 6

  7. 4/11/2012 “The easiest time to document the software architecture is at the end of the project… All the hard decisions have already been made! ” – Me, just now 13 “Period of Uncertainty” 4x Software Variability in Shipped Estimation of Project Scope 0.25x Time Steven McConnell, “Software Estimation: Demystifying the Black Art” 14 Anthony Lattanze, “Architecting Software Systems: A Practitioner's guide” 7

  8. 4/11/2012 Architecture Description Document 15 Architecture Written in Stone… 16 8

  9. 4/11/2012 17 18 9

  10. 4/11/2012 19 Promoted in Ideal Representations Visibility Changeability Understandability 20 10

  11. 4/11/2012 Talk is cheap. (That’s why it’s so useful!) 21 MIDWAY IN THE SOFTWARE LIFECYCLE 22 11

  12. 4/11/2012 “ What did we decide last week about this part of the system? ” – My team, a week after our amazing whiteboard discussion 23 “Period of Uncertainty” 4x “Period of Certainty” Variability in Estimation of Project Scope 0.25x Time Steven McConnell, “Software Estimation: Demystifying the Black Art” 24 Anthony Lattanze, “Architecting Software Systems: A Practitioner's guide” 12

  13. 4/11/2012 Cusp of Uncertainty/Certainty Shift from exploration to construction . 25 The Period of Optimistic Certainty 26 13

  14. 4/11/2012 Promoted in Ideal Representations Visibility Changeability Understandability Guide-ability 27 Two Example Techniques System Metaphor Architecture Haiku 28 14

  15. 4/11/2012 System Metaphor (Refreshed) Michael Keeling, “Making Metaphors that Matter,” Agile2011 Experience Report Michael Keeling, “Guidelines for the System Metaphor” 29 http://neverletdown.net/2011/08/guidelines-for-the-system-metaphor/ 30 15

  16. 4/11/2012 A Good Metaphor… 1. Represents a single view. 2. Deals with only one type of structure. 3. Gives clear guidance concerning design decisions. 4. Sheds light on system properties. 5. Draws on shared experience. Corollary: Even a good metaphor still requires explanation. 31 16

  17. 4/11/2012 UI Business Layer Utility Layer Services Layer Server Layer 34 17

  18. 4/11/2012 Web Client Overview (Static Perspective) “Bento Box” “Noodles” Layer X Utility Service Layer Layer Server Layer Legend Layer A B A is allowed to use elements in B Vocabulary Representation Reference Point + Information Payload System Metaphor 36 18

  19. 4/11/2012 Architecture Haiku George Fairbanks, “Architecture Haiku,” http://rhinoresearch.com/content/speaking-boulder-java-user-group-7-sept-2010- architecture-haiku 37 Architecture Haiku includes • Solution description • Summary of architectural drivers • Quality attribute priorities • Design rationale and trade-offs • Architectural styles/patterns used • Diagrams All on a single page! 38 19

  20. 4/11/2012 A Recent Haiku at Vivísimo… 39 Vivísimo’s Architecture Haiku Rules • One page in Visio • No font smaller than 10pt • Should follow basic template • Diagrams optional – Velocity Patterns Catalog • Assume a requirements document exists – Customer communication, planning 40 20

  21. 4/11/2012 Haiku + System Metaphor… Architecture Styles/Patterns Architecture Styles/Patterns 3-tier (data, crawl, query) 3-tier (data, crawl, query) Source-Selector – promotes reliability Source-Selector – promotes reliability Double Redundancy – promotes availability Double Redundancy – promotes availability Virtual Documents – all data crawled Virtual Documents – all data crawled Document Enqueue – for website data Document Enqueue – for website data Collection Farm – promotes crawl-ability Collection Farm – promotes crawl-ability Geolocation Lookup – promotes Geolocation Lookup – promotes maintainability/modifiability maintainability/modifiability 41 LATE IN THE SOFTWARE LIFECYCLE 42 21

  22. 4/11/2012 “The easiest time to document the software architecture is at the end of the project… All the hard decisions have already been made! ” – Me, about 11 minutes ago 43 Change Becomes Expensive Shift from Creating to Releasing and Maintaining. 44 22

  23. 4/11/2012 Now is the Time to Document Most Knowledge Least Rework Time to Move on 45 Architecture oral history collapses without a team to keep the culture alive. 46 23

  24. 4/11/2012 CREATING AN ARCHITECTURE ORAL HISTORY 47 Core Assumption Architecture oral history requires that the team is both willing and able to retell the stories and keep the oral history alive. 48 24

  25. 4/11/2012 Essential Knowledge • Basics of architectural drivers • Simple quality attribute scenarios • Static, dynamic, physical structures • Basics of architectural styles/patterns • Identify (and evaluate) trade-offs 49 Mileage May Vary - Adjust Accordingly Size of Project Size of Team Collocated vs. Distributed Team Experience 50 25

  26. 4/11/2012 Evolution is not Simple… Elements or Subsystems Knowledge Time 51 51 To Review… Stay Light! Codify Decisions 4x as Oral History Variability in Estimation of Project Scope Delay Formality! 0.25x Time 52 26

  27. 4/11/2012 We’re Already Doing This… Discussing Whiteboarding Sketching Talking in Metaphors 53 Thank you! Michael Keeling @michaelkeeling mkeeling@neverletdown.net http://neverletdown.net 54 27

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend