surviving architecture




Mittwoch, 23. Juni 2010
?

Mittwoch, 23. Juni 2010
Lars Jankowfsky

                            ๏   PHP, C++, Developer, Software Architect since 1992
                      ...
Mittwoch, 23. Juni 2010
...awesome!!!




Mittwoch, 23. Juni 2010
...awesome!!!




Mittwoch, 23. Juni 2010
...awesome!!!




Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
Johann-Peter Hartmann


                               ๏   PHP, Delphi, Java, Developer, Software since 1992
             ...
CTO           CEO




Mittwoch, 23. Juni 2010
... develops big web apps
            CTO                                       CEO




Mittwoch, 23. Juni 2010
... develops big web apps
            CTO                                       CEO


                                    ...
WHY?
Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
Great!




Mittwoch, 23. Juni 2010
but


Mittwoch, 23. Juni 2010
but
                            ... don‘t you hate that word?




Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
right?




Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
Java!
                           Scala/Lift
                 Ruby on
                  Rails         NOSQL
               ...
Mittwoch, 23. Juni 2010
client - server




Mittwoch, 23. Juni 2010
client - server
                                    ... kinda old school




Mittwoch, 23. Juni 2010
Frontend and Backend




Mittwoch, 23. Juni 2010
Three-tier model




Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
Event Driven Architecture




Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
Implicit invocation




Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
Monolithic application




Mittwoch, 23. Juni 2010
Monolithic application
                                        ...most likely your first
                                 ...
Peer 2 Peer




Mittwoch, 23. Juni 2010
S.O.A.


Mittwoch, 23. Juni 2010
S.O.A.


Mittwoch, 23. Juni 2010
C.O.A.

Mittwoch, 23. Juni 2010
Shared nothing




Mittwoch, 23. Juni 2010
Space based




Mittwoch, 23. Juni 2010
Messaging/Queues




Mittwoch, 23. Juni 2010
HOW?
Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
What your architecture should provide




Mittwoch, 23. Juni 2010
(ISO 9126 for
                          fun and profit)




Mittwoch, 23. Juni 2010
Functionality

                          ๏Suitability

                          ๏Accuracy ..

                          ๏...
Reliability

                          ๏Maturity

                          ๏Recoverability

                          ๏Fa...
Efficiency


                          ๏Time Behaviour

                          ๏Resource Behaviour




Mittwoch, 23. Ju...
Usability

                          ๏Learnability

                          ๏Understandability

                        ...
Maintainability

                          ๏Stability

                          ๏Analyzability

                         ...
Portability

                          ๏Installability

                          ๏Replaceability

                       ...
Mittwoch, 23. Juni 2010
FURPS




Mittwoch, 23. Juni 2010
Not every architecture works
                                  everywhere




Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
A.T.A.M.


Mittwoch, 23. Juni 2010
check business drivers




Mittwoch, 23. Juni 2010
check architecture quality goals




Mittwoch, 23. Juni 2010
let stakeholders
                          create important scenarios




Mittwoch, 23. Juni 2010
check architectures




Mittwoch, 23. Juni 2010
Identify PITA per architecture




Mittwoch, 23. Juni 2010
Identify PITA per architecture
                                  WTF/Min.




Mittwoch, 23. Juni 2010
DECIDE

Mittwoch, 23. Juni 2010
So you know the right architecture?




Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
... Houston, we have a problem!




Mittwoch, 23. Juni 2010
Fortune 500




Mittwoch, 23. Juni 2010
1976-1986:

                          50 Companies changed.




Mittwoch, 23. Juni 2010
2010:

                          36 Companies changed.




Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
But it‘s cool to change fast, too




Mittwoch, 23. Juni 2010
You + Change =
                             1 Month




Mittwoch, 23. Juni 2010
Competitor + Change =
                              12 Months




Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
Startup
                          Architecture
                           Lifecycle




Mittwoch, 23. Juni 2010
create cheap
                             prototype




                            Startup
                          Arch...
create cheap
                             prototype



                                           get VC,
                ...
create cheap
                             prototype



                                                     get VC,
      ...
create cheap
                                      prototype



                                                          ...
create cheap
                                                prototype



                                                ...
Architecture must change




Mittwoch, 23. Juni 2010
„Flexibility can be
                          viewed as an option“



Mittwoch, 23. Juni 2010
„Flexibility can be
                          viewed as an option“
                               Nobel price lecture 1997...
Mittwoch, 23. Juni 2010
Volatile environments




Mittwoch, 23. Juni 2010
Volatile environments
                                            You are here.




Mittwoch, 23. Juni 2010
„Real Options“




Mittwoch, 23. Juni 2010
„Real Options“
                                     Google Dork




Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
Growth Option
Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
Exit Option
Mittwoch, 23. Juni 2010
http://www.flickr.com/photos/grdloizaga/




Mittwoch, 23. Juni 2010
http://www.flickr.com/photos/grdloizaga/




                                       Platform Option
Mittwoch, 23. Juni 2010
http://www.flickr.com/photos/randysonofrobert/




Mittwoch, 23. Juni 2010
http://www.flickr.com/photos/randysonofrobert/




                                            Delay Option
Mittwoch, 23. J...
http://www.flickr.com/photos/randysonofrobert/




Mittwoch, 23. Juni 2010
http://www.flickr.com/photos/randysonofrobert/




                                     Learning Option
Mittwoch, 23. Juni ...
Mittwoch, 23. Juni 2010
=
Mittwoch, 23. Juni 2010
Embrace change!




Mittwoch, 23. Juni 2010
Surviving architecture howto




Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
„Everything in software changes.“
                                    Kent Beck, 2000




Mittwoch, 23. Juni 2010
Agile!
                          is a 100% match




Mittwoch, 23. Juni 2010
No reengineering,
                           No refactoring,
                            No evolution




Mittwoch, 23. Ju...
TDD




Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
Deliver frequently




Mittwoch, 23. Juni 2010
Continuous Integration




Mittwoch, 23. Juni 2010
Commit
                          frequently
Mittwoch, 23. Juni 2010
fight code aging!!!




Mittwoch, 23. Juni 2010
Continuous Inspection




Mittwoch, 23. Juni 2010
Quality matters
                            even more




Mittwoch, 23. Juni 2010
quick != dirty




Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
D.R.Y
                          Do Not Repeat Yourself




Mittwoch, 23. Juni 2010
Mittwoch, 23. Juni 2010
Y.A.G.N.I
Mittwoch, 23. Juni 2010
(c) 2003 Extreme Programming Perspectives Hakan Erdogmus and John Favaro

Mittwoch, 23. Juni 2010
Architecture documentation ...




Mittwoch, 23. Juni 2010
... on paper does
                          not work anymore.




Mittwoch, 23. Juni 2010
That‘s it.
                          Questions anyone?




Mittwoch, 23. Juni 2010
Upcoming SlideShare
Loading in...5
×

Surviving architecture

857
-1

Published on

An explanation, why agility is not only a question of development and design, but also important for architecture.

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
857
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Surviving architecture

  1. 1. surviving architecture Mittwoch, 23. Juni 2010
  2. 2. ? Mittwoch, 23. Juni 2010
  3. 3. Lars Jankowfsky ๏ PHP, C++, Developer, Software Architect since 1992 ๏ PHP since 1998 ๏ Many successful projects from 2 to 20 developers ๏ Running right now three projects using eXtreme Programming ๏ CTO and (Co-)Founder swoodoo AG ๏ Founder OXID eSales AG Mittwoch, 23. Juni 2010
  4. 4. Mittwoch, 23. Juni 2010
  5. 5. ...awesome!!! Mittwoch, 23. Juni 2010
  6. 6. ...awesome!!! Mittwoch, 23. Juni 2010
  7. 7. ...awesome!!! Mittwoch, 23. Juni 2010
  8. 8. Mittwoch, 23. Juni 2010
  9. 9. Johann-Peter Hartmann ๏ PHP, Delphi, Java, Developer, Software since 1992 ๏ PHP since 1999 ๏ Many successful projects from 2 to 20 developers ๏ Running a company based on SCRUM, XP and Crystal Clear Mittwoch, 23. Juni 2010
  10. 10. CTO CEO Mittwoch, 23. Juni 2010
  11. 11. ... develops big web apps CTO CEO Mittwoch, 23. Juni 2010
  12. 12. ... develops big web apps CTO CEO ...fixes security issues done by Mayflower Mittwoch, 23. Juni 2010
  13. 13. WHY? Mittwoch, 23. Juni 2010
  14. 14. Mittwoch, 23. Juni 2010
  15. 15. Mittwoch, 23. Juni 2010
  16. 16. Great! Mittwoch, 23. Juni 2010
  17. 17. but Mittwoch, 23. Juni 2010
  18. 18. but ... don‘t you hate that word? Mittwoch, 23. Juni 2010
  19. 19. Mittwoch, 23. Juni 2010
  20. 20. right? Mittwoch, 23. Juni 2010
  21. 21. Mittwoch, 23. Juni 2010
  22. 22. Java! Scala/Lift Ruby on Rails NOSQL PHP MVC Mittwoch, 23. Juni 2010
  23. 23. Mittwoch, 23. Juni 2010
  24. 24. client - server Mittwoch, 23. Juni 2010
  25. 25. client - server ... kinda old school Mittwoch, 23. Juni 2010
  26. 26. Frontend and Backend Mittwoch, 23. Juni 2010
  27. 27. Three-tier model Mittwoch, 23. Juni 2010
  28. 28. Mittwoch, 23. Juni 2010
  29. 29. Event Driven Architecture Mittwoch, 23. Juni 2010
  30. 30. Mittwoch, 23. Juni 2010
  31. 31. Implicit invocation Mittwoch, 23. Juni 2010
  32. 32. Mittwoch, 23. Juni 2010
  33. 33. Monolithic application Mittwoch, 23. Juni 2010
  34. 34. Monolithic application ...most likely your first software project Mittwoch, 23. Juni 2010
  35. 35. Peer 2 Peer Mittwoch, 23. Juni 2010
  36. 36. S.O.A. Mittwoch, 23. Juni 2010
  37. 37. S.O.A. Mittwoch, 23. Juni 2010
  38. 38. C.O.A. Mittwoch, 23. Juni 2010
  39. 39. Shared nothing Mittwoch, 23. Juni 2010
  40. 40. Space based Mittwoch, 23. Juni 2010
  41. 41. Messaging/Queues Mittwoch, 23. Juni 2010
  42. 42. HOW? Mittwoch, 23. Juni 2010
  43. 43. Mittwoch, 23. Juni 2010
  44. 44. What your architecture should provide Mittwoch, 23. Juni 2010
  45. 45. (ISO 9126 for fun and profit) Mittwoch, 23. Juni 2010
  46. 46. Functionality ๏Suitability ๏Accuracy .. ๏Interoperability ๏Compliance ๏Security Mittwoch, 23. Juni 2010
  47. 47. Reliability ๏Maturity ๏Recoverability ๏Fault Tolerance Mittwoch, 23. Juni 2010
  48. 48. Efficiency ๏Time Behaviour ๏Resource Behaviour Mittwoch, 23. Juni 2010
  49. 49. Usability ๏Learnability ๏Understandability ๏Operability Mittwoch, 23. Juni 2010
  50. 50. Maintainability ๏Stability ๏Analyzability ๏Changeability ๏Testability Mittwoch, 23. Juni 2010
  51. 51. Portability ๏Installability ๏Replaceability ๏Adaptability ๏Conformance Mittwoch, 23. Juni 2010
  52. 52. Mittwoch, 23. Juni 2010
  53. 53. FURPS Mittwoch, 23. Juni 2010
  54. 54. Not every architecture works everywhere Mittwoch, 23. Juni 2010
  55. 55. Mittwoch, 23. Juni 2010
  56. 56. A.T.A.M. Mittwoch, 23. Juni 2010
  57. 57. check business drivers Mittwoch, 23. Juni 2010
  58. 58. check architecture quality goals Mittwoch, 23. Juni 2010
  59. 59. let stakeholders create important scenarios Mittwoch, 23. Juni 2010
  60. 60. check architectures Mittwoch, 23. Juni 2010
  61. 61. Identify PITA per architecture Mittwoch, 23. Juni 2010
  62. 62. Identify PITA per architecture WTF/Min. Mittwoch, 23. Juni 2010
  63. 63. DECIDE Mittwoch, 23. Juni 2010
  64. 64. So you know the right architecture? Mittwoch, 23. Juni 2010
  65. 65. Mittwoch, 23. Juni 2010
  66. 66. ... Houston, we have a problem! Mittwoch, 23. Juni 2010
  67. 67. Fortune 500 Mittwoch, 23. Juni 2010
  68. 68. 1976-1986: 50 Companies changed. Mittwoch, 23. Juni 2010
  69. 69. 2010: 36 Companies changed. Mittwoch, 23. Juni 2010
  70. 70. Mittwoch, 23. Juni 2010
  71. 71. But it‘s cool to change fast, too Mittwoch, 23. Juni 2010
  72. 72. You + Change = 1 Month Mittwoch, 23. Juni 2010
  73. 73. Competitor + Change = 12 Months Mittwoch, 23. Juni 2010
  74. 74. Mittwoch, 23. Juni 2010
  75. 75. Startup Architecture Lifecycle Mittwoch, 23. Juni 2010
  76. 76. create cheap prototype Startup Architecture Lifecycle Mittwoch, 23. Juni 2010
  77. 77. create cheap prototype get VC, Startup grow fast Architecture Lifecycle Mittwoch, 23. Juni 2010
  78. 78. create cheap prototype get VC, Startup grow fast Architecture Lifecycle succeed Mittwoch, 23. Juni 2010
  79. 79. create cheap prototype get VC, Startup grow fast Architecture Lifecycle get screwed by your cheap fast succeed architecture Mittwoch, 23. Juni 2010
  80. 80. create cheap prototype get VC, do it right Startup grow fast Architecture Lifecycle get screwed by your cheap fast succeed architecture Mittwoch, 23. Juni 2010
  81. 81. Architecture must change Mittwoch, 23. Juni 2010
  82. 82. „Flexibility can be viewed as an option“ Mittwoch, 23. Juni 2010
  83. 83. „Flexibility can be viewed as an option“ Nobel price lecture 1997 Mittwoch, 23. Juni 2010
  84. 84. Mittwoch, 23. Juni 2010
  85. 85. Volatile environments Mittwoch, 23. Juni 2010
  86. 86. Volatile environments You are here. Mittwoch, 23. Juni 2010
  87. 87. „Real Options“ Mittwoch, 23. Juni 2010
  88. 88. „Real Options“ Google Dork Mittwoch, 23. Juni 2010
  89. 89. Mittwoch, 23. Juni 2010
  90. 90. Growth Option Mittwoch, 23. Juni 2010
  91. 91. Mittwoch, 23. Juni 2010
  92. 92. Exit Option Mittwoch, 23. Juni 2010
  93. 93. http://www.flickr.com/photos/grdloizaga/ Mittwoch, 23. Juni 2010
  94. 94. http://www.flickr.com/photos/grdloizaga/ Platform Option Mittwoch, 23. Juni 2010
  95. 95. http://www.flickr.com/photos/randysonofrobert/ Mittwoch, 23. Juni 2010
  96. 96. http://www.flickr.com/photos/randysonofrobert/ Delay Option Mittwoch, 23. Juni 2010
  97. 97. http://www.flickr.com/photos/randysonofrobert/ Mittwoch, 23. Juni 2010
  98. 98. http://www.flickr.com/photos/randysonofrobert/ Learning Option Mittwoch, 23. Juni 2010
  99. 99. Mittwoch, 23. Juni 2010
  100. 100. = Mittwoch, 23. Juni 2010
  101. 101. Embrace change! Mittwoch, 23. Juni 2010
  102. 102. Surviving architecture howto Mittwoch, 23. Juni 2010
  103. 103. Mittwoch, 23. Juni 2010
  104. 104. „Everything in software changes.“ Kent Beck, 2000 Mittwoch, 23. Juni 2010
  105. 105. Agile! is a 100% match Mittwoch, 23. Juni 2010
  106. 106. No reengineering, No refactoring, No evolution Mittwoch, 23. Juni 2010
  107. 107. TDD Mittwoch, 23. Juni 2010
  108. 108. Mittwoch, 23. Juni 2010
  109. 109. Deliver frequently Mittwoch, 23. Juni 2010
  110. 110. Continuous Integration Mittwoch, 23. Juni 2010
  111. 111. Commit frequently Mittwoch, 23. Juni 2010
  112. 112. fight code aging!!! Mittwoch, 23. Juni 2010
  113. 113. Continuous Inspection Mittwoch, 23. Juni 2010
  114. 114. Quality matters even more Mittwoch, 23. Juni 2010
  115. 115. quick != dirty Mittwoch, 23. Juni 2010
  116. 116. Mittwoch, 23. Juni 2010
  117. 117. D.R.Y Do Not Repeat Yourself Mittwoch, 23. Juni 2010
  118. 118. Mittwoch, 23. Juni 2010
  119. 119. Y.A.G.N.I Mittwoch, 23. Juni 2010
  120. 120. (c) 2003 Extreme Programming Perspectives Hakan Erdogmus and John Favaro Mittwoch, 23. Juni 2010
  121. 121. Architecture documentation ... Mittwoch, 23. Juni 2010
  122. 122. ... on paper does not work anymore. Mittwoch, 23. Juni 2010
  123. 123. That‘s it. Questions anyone? Mittwoch, 23. Juni 2010
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×