Rethinking enterprise software

1,702 views

Published on

My presentation at London's DDDeXchange 2013 where I talk about a different approach to enterprise modeling.

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,702
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Rethinking enterprise software

  1. 1. Rethinking Enterprise Software @ziobrando Thursday, September 19, 13
  2. 2. What do I do? Who am I? Thursday, September 19, 13
  3. 3. What do I do? I do other things instead Who am I? Thursday, September 19, 13
  4. 4. Enterprise software Thursday, September 19, 13
  5. 5. Ignorance is the single greatest impediment to throughput. Dan North http://dannorth.net/2010/08/30/introducing-deliberate-discovery/ Thursday, September 19, 13
  6. 6. Learning is the constraint Dan North http://dannorth.net/2010/08/30/introducing-deliberate-discovery/ Thursday, September 19, 13
  7. 7. ...maybe not the only one... Thursday, September 19, 13
  8. 8. When doing DDD... Thursday, September 19, 13
  9. 9. Software development is a learning process Working code is a side effect Thursday, September 19, 13
  10. 10. Learning Thursday, September 19, 13
  11. 11. Memories Thursday, September 19, 13
  12. 12. Thursday, September 19, 13
  13. 13. Learning Thursday, September 19, 13
  14. 14. Learning School Thursday, September 19, 13
  15. 15. Learning School BoringThursday, September 19, 13
  16. 16. Learning School Boring Study Thursday, September 19, 13
  17. 17. Learning School Boring Study Lesson Thursday, September 19, 13
  18. 18. Learning School Boring Study Lesson Experiment Thursday, September 19, 13
  19. 19. Learning School Boring Study Lesson Experiment Mistakes Thursday, September 19, 13
  20. 20. Learning School Boring Study Lesson Experiment Mistakes Fun Thursday, September 19, 13
  21. 21. Learning School Boring Study Lesson Experiment Mistakes Fun Marks Thursday, September 19, 13
  22. 22. Learning School Boring Study Lesson Experiment Mistakes Fun Marks Exams Thursday, September 19, 13
  23. 23. Learning School Boring Study Lesson Experiment Mistakes Fun Marks Exams Stress Thursday, September 19, 13
  24. 24. Learning School Boring Study Lesson Experiment Mistakes Fun Marks Exams Stress Life Thursday, September 19, 13
  25. 25. Learning is so important, and yet we don’t know much about it Thursday, September 19, 13
  26. 26. Learning is non linear Thursday, September 19, 13
  27. 27. Learning is non linear (doesn’t fit into spreadsheets, burndown and Gantt charts) Thursday, September 19, 13
  28. 28. Stress Psycological reaction To an adverse situation Situation is perceived as inevitable Thursday, September 19, 13
  29. 29. Brain can’t learn under stress Thursday, September 19, 13
  30. 30. Relax Thursday, September 19, 13
  31. 31. Conformity kills creativity Thursday, September 19, 13
  32. 32. Pressure hurts problem solving Thursday, September 19, 13
  33. 33. Can’t actually predict when the learning will happen Thursday, September 19, 13
  34. 34. Guaranteed? Thursday, September 19, 13
  35. 35. Thursday, September 19, 13
  36. 36. Thursday, September 19, 13
  37. 37. Thursday, September 19, 13
  38. 38. Coding against an ecosystem Thursday, September 19, 13
  39. 39. Coding against an ecosystem How do we measure effect on an ecosystem? Thursday, September 19, 13
  40. 40. Thursday, September 19, 13
  41. 41. Value Stream Mapping http://agile.dzone.com/books/continuous-delivery-free Thursday, September 19, 13
  42. 42. A quicker notation.. Thursday, September 19, 13
  43. 43. Coding 20cl, learning 20cl, deciding 20cl, waiting... Thursday, September 19, 13
  44. 44. Mutual waiting Thursday, September 19, 13
  45. 45. Mutual waiting Apparently, a process and organization issue... Thursday, September 19, 13
  46. 46. Learning is not the only constraint Thursday, September 19, 13
  47. 47. Deciding? Thursday, September 19, 13
  48. 48. We’re damn bad at it Thursday, September 19, 13
  49. 49. How many DDD practitioners are needed to name a class? Thursday, September 19, 13
  50. 50. Thursday, September 19, 13
  51. 51. We should really find a name for our daughter... Thursday, September 19, 13
  52. 52. We should really find a name for our daughter... Isn’t a GUID sufficient? Thursday, September 19, 13
  53. 53. We should really find a name for our daughter... Isn’t a GUID sufficient? No, a proper name... Thursday, September 19, 13
  54. 54. We should really find a name for our daughter... Isn’t a GUID sufficient? No, a proper name... What about Foo now, and refactor later? Thursday, September 19, 13
  55. 55. Thursday, September 19, 13
  56. 56. Should I marry her? Yes No Thursday, September 19, 13
  57. 57. Thursday, September 19, 13
  58. 58. We really should be getting married soon... Thursday, September 19, 13
  59. 59. We really should be getting married soon... Can we talk about this another time, dear? I’m facing a zerg assault right now... Thursday, September 19, 13
  60. 60. The strategy? Thursday, September 19, 13
  61. 61. Deadline! Thursday, September 19, 13
  62. 62. Wedding cerimony is a Ponzi schema designed to stop the man procrastinating Thursday, September 19, 13
  63. 63. ...but can we stop afterthoughts? Thursday, September 19, 13
  64. 64. Thursday, September 19, 13
  65. 65. I really should have married Kate instead... Thursday, September 19, 13
  66. 66. I really should have married Kate instead... ...and used MongoDB in that project Thursday, September 19, 13
  67. 67. Problem Thursday, September 19, 13
  68. 68. Thursday, September 19, 13
  69. 69. Ubiquitous Language Reloaded Thursday, September 19, 13
  70. 70. Model Affinity Thursday, September 19, 13
  71. 71. Domain Events work better Thursday, September 19, 13
  72. 72. Thursday, September 19, 13
  73. 73. Thursday, September 19, 13
  74. 74. here the user decides Command User issues influences External information influences Read Model Thursday, September 19, 13
  75. 75. Quali informazioni Thursday, September 19, 13
  76. 76. Thursday, September 19, 13
  77. 77. Fine-Grained Delegation Management 30.com Thursday, September 19, 13
  78. 78. Steal and tweak Thursday, September 19, 13
  79. 79. Process fine tuning Thursday, September 19, 13
  80. 80. Growth engine Thursday, September 19, 13
  81. 81. 3 model archetypes -Collaborative construction -Execution -Tracking & Control Thursday, September 19, 13
  82. 82. Engagement Thursday, September 19, 13
  83. 83. meaningful conversation with the domain expert Thursday, September 19, 13
  84. 84. Thursday, September 19, 13
  85. 85. “...Eric?” Thursday, September 19, 13
  86. 86. Thursday, September 19, 13
  87. 87. ...even better! Thursday, September 19, 13
  88. 88. Hack! Thursday, September 19, 13
  89. 89. Hack! Warning: DDD doesn’t work on the Death Star Thursday, September 19, 13
  90. 90. Gamification! Thursday, September 19, 13
  91. 91. Constraints Thursday, September 19, 13
  92. 92. Constraints Rules Thursday, September 19, 13
  93. 93. Constraints Rules Timeboxing Thursday, September 19, 13
  94. 94. Let’s collect key events for our domain Let’s place events on a timeline Look for pre- and post- An event is something meaningful that happened in our domain. We can express it as a verb in the past. Es. “Payment Received” We can model it with an orange sticker like... Ask the domain expert if necessary Thursday, September 19, 13
  95. 95. Thursday, September 19, 13
  96. 96. Space Thursday, September 19, 13
  97. 97. Yes, I mean that much space... Thursday, September 19, 13
  98. 98. Can’t see big problems in a little space Thursday, September 19, 13
  99. 99. Context is constraining the solution space Thursday, September 19, 13
  100. 100. Take control of the constraints Thursday, September 19, 13
  101. 101. Some great ideas here... BDD Specification by example Concrete scenarios Thursday, September 19, 13
  102. 102. Solution Space Thursday, September 19, 13
  103. 103. Short timeboxes throwaway code ...more ;-) coderetreat.org Thursday, September 19, 13
  104. 104. coderetreat.org Thursday, September 19, 13
  105. 105. coderetreat.org Thursday, September 19, 13
  106. 106. coderetreat.org Thursday, September 19, 13
  107. 107. coderetreat.org Thursday, September 19, 13
  108. 108. coderetreat.org Thursday, September 19, 13
  109. 109. coderetreat.org Thursday, September 19, 13
  110. 110. coderetreat.org Thursday, September 19, 13
  111. 111. coderetreat.org Thursday, September 19, 13
  112. 112. Can we tweak it? Thursday, September 19, 13
  113. 113. Conflict resolution Thursday, September 19, 13
  114. 114. The only thing they agree on is fooling us! Thursday, September 19, 13
  115. 115. They’re both right! Context A Context B Thursday, September 19, 13
  116. 116. whew! Thursday, September 19, 13
  117. 117. Tool Affinity Thursday, September 19, 13
  118. 118. Thursday, September 19, 13
  119. 119. Simple notation Thursday, September 19, 13
  120. 120. Thursday, September 19, 13
  121. 121. Thursday, September 19, 13
  122. 122. How long is this cycle? Thursday, September 19, 13
  123. 123. What about ...minutes? Thursday, September 19, 13
  124. 124. Me and UML... Thursday, September 19, 13
  125. 125. ...Waiting Thursday, September 19, 13
  126. 126. We’re changing the ecosystem... Thursday, September 19, 13
  127. 127. But most of all... Thursday, September 19, 13
  128. 128. Experience! Thursday, September 19, 13
  129. 129. Experience! ...as an imperative verb Thursday, September 19, 13
  130. 130. Grazie! Alberto.brandolini@avanscoperta.it @ziobrando Thursday, September 19, 13

×