Complexity Theory and Software Development

6,714 views
6,559 views

Published on

Published in: Technology, Business

Complexity Theory and Software Development

  1. 1. COMPLEXITY THEORY SOFTWARE DEVELOPMENT and by Tim Berglund Monday, June 21, 2010
  2. 2. ACKNOWLEDGMENTS Monday, June 21, 2010
  3. 3. ACKNOWLEDGMENTS http://bit.ly/unde rstanding-compl exity Monday, June 21, 2010
  4. 4. ACKNOWLEDGMENTS http://bit.ly/unde rstanding-compl exity Monday, June 21, 2010
  5. 5. ACKNOWLEDGMENTS http://bit.ly/understanding-complexity Monday, June 21, 2010
  6. 6. The Santa Fe Institute is a private, not-for-profit, independent research and education center founded in 1984, for multidisciplinary collaborations in the physical, http://www.santafe.edu biological, computational, and social sciences. Understanding of complex adaptive systems is critical to addressing key environmental, technological, biological, economic, and political challenges. Renowned scientists and researchers come to Santa Fe Institute from universities, government agencies, research institutes, and private industry to collaborate in attempts to uncover the mechanisms that underlie the deep simplicity present in our complex world. Monday, June 21, 2010
  7. 7. Agents Landscapes Emergence Complexity Criticality Connectedness Monday, June 21, 2010
  8. 8. Agents Monday, June 21, 2010
  9. 9. Agents are... Monday, June 21, 2010
  10. 10. Agents are... Simple Monday, June 21, 2010
  11. 11. Agents are... Simple Interactive Monday, June 21, 2010
  12. 12. Agents are... Simple Interactive Adaptive Monday, June 21, 2010
  13. 13. Why Does TRAFFIC Jam? Monday, June 21, 2010
  14. 14. Stuck TRAFFIC in Monday, June 21, 2010
  15. 15. Stuck in TRAFFIC all this space! I'm'a speed up. Monday, June 21, 2010
  16. 16. Stuck TRAFFIC in Monday, June 21, 2010
  17. 17. Stuck TRAFFIC in Talking on cell phone, not paying attention... Monday, June 21, 2010
  18. 18. Stuck TRAFFIC in Monday, June 21, 2010
  19. 19. Stuck TRAFFIC in I sure am in a hurry! Monday, June 21, 2010
  20. 20. Stuck TRAFFIC in Monday, June 21, 2010
  21. 21. Stuck TRAFFIC in Monday, June 21, 2010
  22. 22. Stuck TRAFFIC in maniAc! Monday, June 21, 2010
  23. 23. Stuck TRAFFIC in Monday, June 21, 2010
  24. 24. Stuck TRAFFIC in Oh, my bad. Monday, June 21, 2010
  25. 25. Stuck TRAFFIC in Monday, June 21, 2010
  26. 26. Stuck TRAFFIC in @%$#%! Monday, June 21, 2010
  27. 27. Gameof Conway’s LIFE Monday, June 21, 2010
  28. 28. Gameof Conway’s LIFE 1. Any live cell with fewer than two live neighbors dies. 2. Any live cell with more than three live neighbors dies. 3. Any live cell with two or three live neighbors lives. 4. Any dead cell with exactly three live neighbors comes to life. Monday, June 21, 2010
  29. 29. Gameof Conway’s LIFE Monday, June 21, 2010
  30. 30. Gameof Conway’s LIFE Monday, June 21, 2010
  31. 31. Gameof Conway’s LIFE Monday, June 21, 2010
  32. 32. Monday, June 21, 2010
  33. 33. Monday, June 21, 2010
  34. 34. Agents Landscapes Emergence Complexity Criticality Connectedness Monday, June 21, 2010
  35. 35. Landscapes Monday, June 21, 2010
  36. 36. Monday, June 21, 2010
  37. 37. Think of a Problem as a SURFACE Monday, June 21, 2010
  38. 38. MT. FUJI Monday, June 21, 2010
  39. 39. Monday, June 21, 2010
  40. 40. Frederick Winslow TAYLOR Monday, June 21, 2010
  41. 41. RUGGED LANDSCAPES Monday, June 21, 2010
  42. 42. Dancing LANDSCAPES Monday, June 21, 2010
  43. 43. Monday, June 21, 2010
  44. 44. What’s the Quickest Way to the SUMMIT? Monday, June 21, 2010
  45. 45. Monday, June 21, 2010
  46. 46. EXPLORATION vs. EXPLOITATION Monday, June 21, 2010
  47. 47. Agents Landscapes Emergence Complexity Criticality Connectedness Monday, June 21, 2010
  48. 48. Criticality Monday, June 21, 2010
  49. 49. the Normal DISTRIBUTION Monday, June 21, 2010
  50. 50. the Central LIMIT Theorem Monday, June 21, 2010
  51. 51. the Central LIMIT Theorem “The mean value of a repeatedly sampled random variable approaches a normal distribution as the sample size approaches infinity.” Monday, June 21, 2010
  52. 52. the Central LIMIT Theorem Monday, June 21, 2010
  53. 53. the Central LIMIT Theorem “The world is pretty much a normal place.” Monday, June 21, 2010
  54. 54. the Power Law DISTRIBUTION Monday, June 21, 2010
  55. 55. Monday, June 21, 2010 Rice PILES
  56. 56. Work LOAD Monday, June 21, 2010
  57. 57. Work LOAD Monday, June 21, 2010
  58. 58. Work LOAD Monday, June 21, 2010
  59. 59. Work LOAD Monday, June 21, 2010
  60. 60. Work LOAD Monday, June 21, 2010
  61. 61. Work LOAD Monday, June 21, 2010
  62. 62. Work LOAD Monday, June 21, 2010
  63. 63. Work LOAD Monday, June 21, 2010
  64. 64. Work LOAD Monday, June 21, 2010
  65. 65. Work LOAD Monday, June 21, 2010
  66. 66. Work LOAD Monday, June 21, 2010
  67. 67. Work LOAD Monday, June 21, 2010
  68. 68. Work LOAD Monday, June 21, 2010
  69. 69. Work LOAD Monday, June 21, 2010
  70. 70. Work LOAD Monday, June 21, 2010
  71. 71. Work LOAD Monday, June 21, 2010
  72. 72. Monday, June 21, 2010
  73. 73. Too much Optimization leads to CRITICALITY Monday, June 21, 2010
  74. 74. Agents Landscapes Emergence Complexity Criticality Connectedness Monday, June 21, 2010
  75. 75. Connectedness Monday, June 21, 2010
  76. 76. Monday, June 21, 2010
  77. 77. A really basic refresher in Graph THEORY Monday, June 21, 2010
  78. 78. A really basic refresher in Graph THEORY Seriously...BASIC. Monday, June 21, 2010
  79. 79. Monday, June 21, 2010
  80. 80. Degree 5 Monday, June 21, 2010
  81. 81. Degree 4 Monday, June 21, 2010
  82. 82. Degree 1 Monday, June 21, 2010
  83. 83. Monday, June 21, 2010
  84. 84. Monday, June 21, 2010
  85. 85. From here Monday, June 21, 2010
  86. 86. To here From here Monday, June 21, 2010
  87. 87. To here From here Path Length= 3 Monday, June 21, 2010
  88. 88. CLUSTERING Monday, June 21, 2010
  89. 89. SmallWORLDS Monday, June 21, 2010
  90. 90. Network FUNCTIONALITY Monday, June 21, 2010
  91. 91. Monday, June 21, 2010
  92. 92. Information DIFFUSION Monday, June 21, 2010
  93. 93. Information DIFFUSION depends on Path Length Monday, June 21, 2010
  94. 94. Monday, June 21, 2010
  95. 95. Robustness to FAILURE depends on degree distribution Monday, June 21, 2010
  96. 96. Networks and COMPLEXITY Monday, June 21, 2010
  97. 97. NODES Monday, June 21, 2010
  98. 98. AGENTS Monday, June 21, 2010
  99. 99. Monday, June 21, 2010
  100. 100. Schools of FISH Monday, June 21, 2010
  101. 101. Schools of FISH Flocks of BIRDS Monday, June 21, 2010
  102. 102. Monday, June 21, 2010
  103. 103. Standing OVATIONS Monday, June 21, 2010
  104. 104. Standing OVATIONS Audience PARTICIPATION Monday, June 21, 2010
  105. 105. Agents Landscapes Emergence Complexity Criticality Connectedness Monday, June 21, 2010
  106. 106. Emergence Monday, June 21, 2010
  107. 107. Slime Monday, June 21, 2010 MOLD
  108. 108. Slime Mold Emergence Monday, June 21, 2010
  109. 109. Monday, June 21, 2010
  110. 110. Conway’s Game of Monday, June 21, 2010 LIFE
  111. 111. Gameof Conway’s LIFE 1. Any live cell with fewer than two live neighbours dies. 2. Any live cell with more than three live neighbours dies. 3. Any live cell with two or three live neighbors lives. 4. Any dead cell with exactly three live neighbors comes to life. Monday, June 21, 2010
  112. 112. Monday, June 21, 2010
  113. 113. Monday, June 21, 2010
  114. 114. Monday, June 21, 2010
  115. 115. Surprise! it’s a COMPUTER Monday, June 21, 2010
  116. 116. Von Neumann ARCHITECTURE Monday, June 21, 2010
  117. 117. Monday, June 21, 2010
  118. 118. Monday, June 21, 2010
  119. 119. Monday, June 21, 2010
  120. 120. Ant COLONIES Monday, June 21, 2010
  121. 121. Monday, June 21, 2010
  122. 122. Proceed with CAUTION Monday, June 21, 2010
  123. 123. Weak EMERGENCE Monday, June 21, 2010
  124. 124. Weak EMERGENCE Monday, June 21, 2010
  125. 125. Weak EMERGENCE Can’t predict it Monday, June 21, 2010
  126. 126. Weak EMERGENCE Can’t predict it CAN explain it after the fact Monday, June 21, 2010
  127. 127. Strong EMERGENCE Monday, June 21, 2010
  128. 128. Strong EMERGENCE Monday, June 21, 2010
  129. 129. Strong EMERGENCE Can’t predict it Monday, June 21, 2010
  130. 130. Strong EMERGENCE Can’t predict it Can’t explain it after the fact either! Monday, June 21, 2010
  131. 131. Strong EMERGENCE Can’t predict it Can’t explain it after the fact either! It’s just there, man Monday, June 21, 2010
  132. 132. Strong EMERGENCE Can’t predict it Can’t explain it after the fact either! It’s just there, man Deal with it Monday, June 21, 2010
  133. 133. I said... CAUTION Monday, June 21, 2010
  134. 134. Software as a COMPLEX Profession Monday, June 21, 2010
  135. 135. Lean says: Monday, June 21, 2010
  136. 136. Lean says: Optimize the WHOLE Monday, June 21, 2010
  137. 137. Lean says: Optimize the WHOLE http://agilesoftwaredevelopment.com/blog/pbielicki/optimize-the-whole Monday, June 21, 2010
  138. 138. Optimize THIS! Monday, June 21, 2010
  139. 139. “This is the constitutional limitation of man's knowledge and interests, the fact that he cannot know more than a tiny part of the whole of society and that therefore all that can enter into his motives are the immediate effects which his actions will have in the sphere he knows.” —F.A. Hayek Monday, June 21, 2010
  140. 140. AGENT- BASED DECISION MAKING Monday, June 21, 2010
  141. 141. Monday, June 21, 2010
  142. 142. Software Architecture Monday, June 21, 2010
  143. 143. What kind of Software Architecture would look like an ANT Monday, June 21, 2010 COLONY?
  144. 144. Monday, June 21, 2010
  145. 145. Monday, June 21, 2010
  146. 146. Monday, June 21, 2010
  147. 147. SOAP the way Works Monday, June 21, 2010
  148. 148. SOAP the way Works Desktop App Web Service Monday, June 21, 2010
  149. 149. SOAP the way Works Desktop App <soap:Envelope> make me a sandwich </soap:Envelope> Web Service Monday, June 21, 2010
  150. 150. SOAP the way Works Desktop App Web Service Monday, June 21, 2010
  151. 151. the way <soap:Envelope> SOAP Works FAIL DELI009283 </soap:Envelope> Desktop App Web Service Monday, June 21, 2010
  152. 152. SOAP the way Works Desktop App Web Service Monday, June 21, 2010
  153. 153. SOAP the way Works Desktop App <soap:Envelope> make me a pastrami on rye? </soap:Envelope> Web Service Monday, June 21, 2010
  154. 154. SOAP the way Works Desktop App Web Service Monday, June 21, 2010
  155. 155. the way <soap:Envelope> SOAP Works FAIL DELI276193 </soap:Envelope> Desktop App Web Service Monday, June 21, 2010
  156. 156. Monday, June 21, 2010
  157. 157. Contracts are Imposed from the TOP Monday, June 21, 2010 DOWN
  158. 158. Monday, June 21, 2010
  159. 159. Hypertext as the Engine of APPLICATION STATE http://bit.ly/HATEOAS Monday, June 21, 2010
  160. 160. HATEOAS the way Works Monday, June 21, 2010
  161. 161. HATEOAS the way Works Service Web Service Monday, June 21, 2010
  162. 162. HATEOAS the way Works Service GET /sandwich Web Service Monday, June 21, 2010
  163. 163. HATEOAS the way Works Service Web Service Monday, June 21, 2010
  164. 164. the way HATEOAS Works 500 ERROR <link rel=”bread” /> <link rel=”ingredient” /> Service Web Service Monday, June 21, 2010
  165. 165. HATEOAS the way Works Service Web Service Monday, June 21, 2010
  166. 166. HATEOAS the way Works Service POST /sandwich bread=rye meat=pastrami Web Service Monday, June 21, 2010
  167. 167. HATEOAS the way Works Service Web Service Monday, June 21, 2010
  168. 168. the way HATEOAS Works 200 OK <link href=”eat” /> <link href=”side” /> Service <sandwich-body>... Web Service Monday, June 21, 2010
  169. 169. Make me a Add Toppings Sandwich Checkout Toast Bun Monday, June 21, 2010
  170. 170. Make me a Add Toppings Sandwich I make sandwiches. Checkout Toast Bun Monday, June 21, 2010
  171. 171. Make me a Add Toppings Sandwich Give me a sandwich, and I can decorate it with toppings. Checkout Toast Bun Monday, June 21, 2010
  172. 172. Make me a Add Toppings Sandwich I toast sandwich buns. Checkout Toast Bun Monday, June 21, 2010
  173. 173. Make me a Add Toppings Sandwich I exchange sandwiches for Federal Reserve Notes. Checkout Toast Bun Monday, June 21, 2010
  174. 174. Make me a Add Toppings Sandwich Checkout Toast Bun Monday, June 21, 2010
  175. 175. Monday, June 21, 2010
  176. 176. Behavior Emerges from the EDGES Monday, June 21, 2010 IN
  177. 177. Monday, June 21, 2010
  178. 178. Class Are your Dependencies like a RICE PILE? Monday, June 21, 2010
  179. 179. Monday, June 21, 2010
  180. 180. Afferent COUPLING A class's afferent coupling is a measure of how many other classes are coupled to it through method calls, field accesses, inheritance, arguments, return types, and exceptions. Monday, June 21, 2010
  181. 181. remember the Power Law DISTRIBUTION Monday, June 21, 2010
  182. 182. grails-web 900 675 450 225 0 Monday, June 21, 2010
  183. 183. Hibernate 3 1500 1125 750 375 0 Monday, June 21, 2010
  184. 184. Spring 3 Core 300 225 150 75 0 Monday, June 21, 2010
  185. 185. having a Monday, June 21, 2010
  186. 186. having a Scale-Free CODE BASE Monday, June 21, 2010
  187. 187. Monday, June 21, 2010
  188. 188. toward a COMPLEX THEORY of SOFTWARE DEVELOPMENT Monday, June 21, 2010
  189. 189. Agents Landscapes Emergence Complexity Criticality Connectedness Monday, June 21, 2010
  190. 190. Thank You Tim Berglund www.augusttechgroup.com tim.berglund@augusttechgroup.com @tlberglund Monday, June 21, 2010
  191. 191. Photo Credits Slime Mold Cells http://campus.queens.edu/faculty/jannr/Botany/images/slimies/slimeMolds/slimeMold1152.jpg Car Top View http://www.motiontrends.com/2006/m09/Volvo/C30.shtml Ants http://www.flickr.com/photos/binux/2495709841 Traffic Jam http://www.flickr.com/photos/lynac/321100379/ Turning Machine http://www.ecs.syr.edu/faculty/fawcett/handouts/webpages/CoreTechnologies.htm VonNeumann Machine http://en.wikipedia.org/wiki/File:Von_Neumann_architecture.svg Ant Colony http://www.bioone.org/doi/full/10.1672/1536-2442%282004%29004%5B0001%3ATNAOTF%5D2.0.CO%3B2 Mt. Fuji http://www.flickr.com/photos/mtsn/229410448 Snowy Mountains http://www.flickr.com/photos/huzhead/85362599 Portrait of Frederick Winslow Taylor http://upload.wikimedia.org/wikipedia/commons/9/90/Frederick_Winslow_Taylor_crop.jpg Female Velvet Ant (in Work Load Illustration) http://www.flickr.com/photos/markop/1036891509 Frederick Hayek http://www.lancs.ac.uk/staff/ecagrs/Hayek%20quotes.htm Monday, June 21, 2010

×