/grō/ - developing an emergent architecture

/grō/ - developing an emergent architecture

Architectural design more often than not, struggles to find a place within an agile environment. Unfortunately, big up-front design is second-nature and the designing, building, and maintaining of an architecture does not come for free.

Within this talk we will…

explore why technical practices are key to technical excellence
discuss the concepts of intentional yet emergent
discuss how to master incremental planning
discuss how to embrace uncertainty
and understand cost/benefit of constant rework
This presentation will be a journey to a common understanding of why emergent architectures can and will solve your business needs in a more efficient manner. Come and explore the world of emergent architecture.

A2c74ea2f22838640d40c64daa3fa524?s=128

DJ Daugherty

June 07, 2016
Tweet

Transcript

  1. None
  2. /grō/ emergent architecture developing an

  3. dj daugherty dj@pillartechnology.com @ddaugher

  4. None
  5. i am

  6. i am developer.

  7. developer. i am tech lead.

  8. tech lead. i am developer. business.

  9. tech lead. i am developer. business. I create business solutions

    for business problems…
  10. why did I choose this title?

  11. grow /ɡrō/ verb undergo natural development by increasing in size

    and changing physically; progress to maturity.
  12. disclosure

  13. i struggle with these ideas every day. disclosure

  14. think.

  15. question the norm.

  16. disruption source of

  17. technical?

  18. business?

  19. Architectural design more often than not, struggles to find a

    place within an agile environment. Unfortunately, big up-front design is second-nature and the designing, building, and maintaining of an architecture does not come for free. Within this talk we will... - explore why technical practices are key to technical excellence - discuss the concepts of intentional yet emergent - discuss how to master incremental planning - discuss how to embrace uncertainty - and understand cost/benefit of constant rework
  20. Architectural design more often than not, struggles to find a

    place within an agile environment. Unfortunately, big up-front design is second-nature and the designing, building, and maintaining of an architecture does not come for free. Within this talk we will... - explore why technical practices are key to technical excellence - discuss the concepts of intentional yet emergent - discuss how to master incremental planning - discuss how to embrace uncertainty - and understand cost/benefit of constant rework WHOA
  21. Architectural design more often than not, struggles to find a

    place within an agile environment. Unfortunately, big up-front design is second-nature and the designing, building, and maintaining of an architecture does not come for free. Within this talk we will... - explore why technical practices are key to technical excellence - discuss the concepts of intentional yet emergent - discuss how to master incremental planning - discuss how to embrace uncertainty - and understand cost/benefit of constant rework
  22. Architectural design more often than not, struggles to find a

    place within an agile environment. Unfortunately, big up-front design is second-nature and the designing, building, and maintaining of an architecture does not come for free. Within this talk we will... - explore why technical practices are key to technical excellence - discuss the concepts of intentional yet emergent - discuss how to master incremental planning - discuss how to embrace uncertainty - and understand cost/benefit of constant rework
  23. Architectural design more often than not, struggles to find a

    place within an agile environment. Unfortunately, big up-front design is second-nature and the designing, building, and maintaining of an architecture does not come for free. Within this talk we will... - explore why technical practices are key to technical excellence - discuss the concepts of intentional yet emergent - discuss how to master incremental planning - discuss how to embrace uncertainty - and understand cost/benefit of constant rework
  24. Architectural design more often than not, struggles to find a

    place within an agile environment. Unfortunately, big up-front design is second-nature and the designing, building, and maintaining of an architecture does not come for free. Within this talk we will... - explore why technical practices are key to technical excellence - discuss the concepts of intentional yet emergent - discuss how to master incremental planning - discuss how to embrace uncertainty - and understand cost/benefit of constant rework
  25. Architectural design more often than not, struggles to find a

    place within an agile environment. Unfortunately, big up-front design is second-nature and the designing, building, and maintaining of an architecture does not come for free. Within this talk we will... - explore why technical practices are key to technical excellence - discuss the concepts of intentional yet emergent - discuss how to master incremental planning - discuss how to embrace uncertainty - and understand cost/benefit of constant rework
  26. Architectural design more often than not, struggles to find a

    place within an agile environment. Unfortunately, big up-front design is second-nature and the designing, building, and maintaining of an architecture does not come for free. Within this talk we will... - explore why technical practices are key to technical excellence - discuss the concepts of intentional yet emergent - discuss how to master incremental planning - discuss how to embrace uncertainty - and understand cost/benefit of constant rework
  27. Architectural design more often than not, struggles to find a

    place within an agile environment. Unfortunately, big up-front design is second-nature and the designing, building, and maintaining of an architecture does not come for free. Within this talk we will... - explore why technical practices are key to technical excellence - discuss the concepts of intentional yet emergent - discuss how to master incremental planning - discuss how to embrace uncertainty - and understand cost/benefit of constant rework
  28. Architectural design more often than not, struggles to find a

    place within an agile environment. Unfortunately, big up-front design is second-nature and the designing, building, and maintaining of an architecture does not come for free. Within this talk we will... - explore why technical practices are key to technical excellence - discuss the concepts of intentional yet emergent - discuss how to master incremental planning - discuss how to embrace uncertainty - and understand cost/benefit of constant rework
  29. Architectural design more often than not, struggles to find a

    place within an agile environment. Unfortunately, big up-front design is second-nature and the designing, building, and maintaining of an architecture does not come for free. Within this talk we will... - explore why technical practices are key to technical excellence - discuss the concepts of intentional yet emergent - discuss how to master incremental planning - discuss how to embrace uncertainty - and understand cost/benefit of constant rework
  30. Architectural design more often than not, struggles to find a

    place within an agile environment. Unfortunately, big up-front design is second-nature and the designing, building, and maintaining of an architecture does not come for free. Within this talk we will... - explore why technical practices are key to technical excellence - discuss the concepts of intentional yet emergent - discuss how to master incremental planning - discuss how to embrace uncertainty - and understand cost/benefit of constant rework
  31. /grō/ emergent architecture developing an

  32. emergent architecture developing an

  33. The purpose of architecture is ?

  34. to shape the solution and address technical risks. The purpose

    of architecture is
  35. Architectural design more often than not, struggles to find a

    place within an agile environment. Unfortunately, big up-front design is second-nature and the designing, building, and maintaining of an architecture does not come for free. Within this talk we will... - explore why technical practices are key to technical excellence - discuss the concepts of intentional yet emergent - discuss how to master incremental planning - discuss how to embrace uncertainty - and understand cost/benefit of constant rework
  36. intentional vs. emergent

  37. intentional vs. emergent

  38. intentional vs. emergent

  39. intentional ?

  40. diagrams, documents intentional ?

  41. diagrams, documents hours of meetings intentional ?

  42. diagrams, documents hours of meetings no working software intentional ?

  43. diagrams, documents hours of meetings no working software intentional ?

    BUFD
  44. emergent ?

  45. let's not do any architecture design. let it emerge. emergent

    ?
  46. neither is good.

  47. None
  48. emergence is not sufficient!

  49. good architecture doesn’t emerge.

  50. good architecture doesn’t emerge. it evolves.

  51. Architectural design more often than not, struggles to find a

    place within an agile environment. Unfortunately, big up-front design is second-nature and the designing, building, and maintaining of an architecture does not come for free. Within this talk we will... - explore why technical practices are key to technical excellence - discuss the concepts of intentional yet emergent - discuss how to master incremental planning - discuss how to embrace uncertainty - and understand cost/benefit of constant rework
  52. Architectural design more often than not, struggles to find a

    place within an agile environment. Unfortunately, big up-front design is second-nature and the designing, building, and maintaining of an architecture does not come for free. Within this talk we will... - explore why technical practices are key to technical excellence - discuss the concepts of intentional yet emergent - discuss how to master incremental planning - discuss how to embrace uncertainty - and understand cost/benefit of constant rework
  53. Architectural design more often than not, struggles to find a

    place within an agile environment. Unfortunately, big up-front design is second-nature and the designing, building, and maintaining of an architecture does not come for free. Within this talk we will... - explore why technical practices are key to technical excellence - discuss the concepts of intentional yet emergent - discuss how to master incremental planning - discuss how to embrace uncertainty - and understand cost/benefit of constant rework this is agile…!
  54. religious conversation.

  55. “agile evangelists claim we (almost) do not need conventional architectural

    design at all. this emergent approach leads to the simplest and therefore the most optimal architecture possible.”
  56. None
  57. None
  58. None
  59. agile manifesto (#11) the best architectures, requirements and designs emerge

    from self-organizing teams.
  60. None
  61. no more big upfront design

  62. agile teams struggle with architecture

  63. uncomfortable not having a design first rework is inevitable

  64. - cost and benefit of incremental design - must embrace

    the uncertainty - incremental planning must master:
  65. None
  66. /grō/ emergent architecture developing an

  67. emergent architecture developing an

  68. evolving architecture developing an

  69. evolving architecture developing an

  70. test driven development continuous integration paired programming refactoring collective code

    ownership technical practices are key:
  71. test driven ‘doing’ continuous integration refactoring collective code ownership technical

    practices are key: paired programming
  72. test driven ‘doing’ continuous ‘feedback’ refactoring collective code ownership technical

    practices are key: paired programming
  73. test driven ‘doing’ refactoring collective code ownership technical practices are

    key: paired ‘collaboration’ continuous ‘feedback’
  74. test driven ‘doing’ continuous ‘feedback’ refactoring collective ownership technical practices

    are key: paired ‘collaboration’
  75. - think big, act small, fail fast, learn rapidly -

    last responsible moment - simplest thing that works - sprint zero - backlog - working software how do we get there?
  76. - think big, act small, fail fast, learn rapidly (Poppendiecks'

    book Lean Software Development: An Agile Toolkit)
  77. thinkBIG.

  78. actsmall.

  79. failfast.

  80. failFAST.

  81. learnrapidly.

  82. - think big, act small, fail fast, learn rapidly -

    last responsible moment - simplest thing that works - sprint zero - backlog - working software how do we get there?
  83. - last responsible moment

  84. my favorite - last responsible moment

  85. all about information, the most current information is always the

    best - last responsible moment
  86. "the moment at which failing to make a decision eliminates

    an important alternative." (Poppendiecks' book Lean Software Development: An Agile Toolkit) - last responsible moment
  87. - think big, act small, fail fast, learn rapidly -

    last responsible moment - simplest thing that works - sprint zero - backlog - working software how do we get there?
  88. - simplest thing that works

  89. "the art of maximizing the amount of work not done."

    simplest thing that could work
  90. no gold-plating or shaving the yak simplest thing that could

    work
  91. None
  92. - think big, act small, fail fast, learn rapidly -

    last responsible moment - simplest thing that works - sprint zero - backlog - working software how do we get there?
  93. - sprint zero

  94. stopping and thinking... building backlog sprint zero

  95. - think big, act small, fail fast, learn rapidly -

    last responsible moment - simplest thing that works - sprint zero - backlog - working software how do we get there?
  96. - working software

  97. - working architecture

  98. "working software is the primary measure of progress." working architecture

  99. - think big, act small, fail fast, learn rapidly -

    last responsible moment - simplest thing that works - sprint zero - backlog - working software how do we get there?
  100. - backlog

  101. - architectural backlog

  102. "-ilities" of a product architectural backlog

  103. scalability architectural backlog

  104. maintainability architectural backlog

  105. usability architectural backlog

  106. reliability architectural backlog

  107. extensibility architectural backlog

  108. reusability architectural backlog

  109. security architectural backlog

  110. securability architectural backlog

  111. robotic uprising

  112. 1. design emerges. Architecture is a collaboration.

  113. 1. design evolves. Architecture is a collaboration.

  114. 1. design evolves. Architecture is a collaboration. 2. big system.

    big backlog.
  115. 1. design evolves. Architecture is a collaboration. 2. big system.

    big backlog. 3. build the simplest architecture that can possibly work
  116. 1. design evolves. Architecture is a collaboration. 2. big system.

    big backlog. 3. build the simplest architecture that can possibly work 4. code / model it.
  117. 1. design evolves. Architecture is a collaboration. 2. big system.

    big backlog. 3. build the simplest architecture that can possibly work 5. there is no monopoly on innovation 4. code / model it.
  118. credit card example

  119. data import example

  120. noteasy.

  121. None
  122. just start!

  123. just start! it will stink at first.

  124. just start! it will stink at first. that’s ok.

  125. just start! it will stink at first. have a ritual.

    that’s ok.
  126. just start! it will stink at first. have a ritual.

    it is ok to fail. that’s ok.
  127. just start! it will stink at first. have a ritual.

    it is ok to fail. caffeine helps! that’s ok.
  128. just start! it will stink at first. have a ritual.

    it is ok to fail. caffeine helps! eventually it will stink less. that’s ok.
  129. dj daugherty dj@pillartechnology.com @ddaugher thanks. https://speakerdeck.com/ddaugher