Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Creating a good architecture

Talk for the PHP Usergroup Münster, 17.05.2016

Is a good software architecture just an accident or can it be planned? What are the common problems in creating an architecture and how can we improve that situation?

  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Creating a good architecture

  1. 1. code-quality.de  @FrankS Creating a good Architecture Planned or just an accident?
  2. 2. Moin moin! Frank SonsFrank Sons  FrankS FrankS http://code-quality.dehttp://code-quality.de
  3. 3. code-quality.de  @FrankS Important: Let's talk Feel free to askFeel free to ask Please share your own experiences!Please share your own experiences!
  4. 4. code-quality.de  @FrankS Who of you have created architectures?
  5. 5. code-quality.de  @FrankS A short agenda... Software architecture – the basicsSoftware architecture – the basics What are the problems?What are the problems? Anything we can do to improve this?Anything we can do to improve this?
  6. 6. code-quality.de  @FrankS Your definition of software architecture?
  7. 7. code-quality.de  @FrankS Software Architecture defined... „The software architecture are those decisions that are hard to change.“ „The software architecture are those decisions that are hard to change.“ Martin Fowler
  8. 8. code-quality.de  @FrankS Development process simplified Project idea Development Your new software!
  9. 9. code-quality.de  @FrankS Architecture sometimes just happens... Project idea Development Your new software! And then a miracle occurs
  10. 10. code-quality.de  @FrankS Let's take a look at some details Defining software architectureDefining software architecture What are the problems?What are the problems? Anything we can do to improve this?Anything we can do to improve this?
  11. 11. code-quality.de  @FrankS Three problems Focusing on technical parts of the architectureFocusing on technical parts of the architecture Not enough time used for planningNot enough time used for planning How to become an experienced architect?How to become an experienced architect?
  12. 12. code-quality.de  @FrankS The wrong focus: Creating vs. understanding
  13. 13. code-quality.de  @FrankS Wrong focus Difference between goal and targetDifference between goal and target Requirements are often not delivered directlyRequirements are often not delivered directly Focus on technical solutionsFocus on technical solutions
  14. 14. code-quality.de  @FrankS 2nd problem, the planning itself „Weeks of coding can save you hours of planning!“„Weeks of coding can save you hours of planning!“
  15. 15. code-quality.de  @FrankS But wait, we are agile! Agile manifestoAgile manifesto BigDesignUpfront (xP)BigDesignUpfront (xP) YAGNIYAGNI
  16. 16. code-quality.de  @FrankS Planning vs. Agile development?
  17. 17. code-quality.de  @FrankS Planning in an agile world Planning is creative workPlanning is creative work Creative work is hard to estimateCreative work is hard to estimate It still needs to be done, one way or the otherIt still needs to be done, one way or the other
  18. 18. code-quality.de  @FrankS The thing about experience... „How do we get great designers? Great designers design, of course.“ „How do we get great designers? Great designers design, of course.“ Fred Brooks
  19. 19. code-quality.de  @FrankS We have a problem... „So how are we supposed to get great architects, if they only get the chance to architect fewer than a half-dozen times in their career?“ „So how are we supposed to get great architects, if they only get the chance to architect fewer than a half-dozen times in their career?“ Ted Neward
  20. 20. code-quality.de  @FrankS Let's see what we can do... SoftwareSoftware What are the problems?What are the problems? How can we improve this?How can we improve this?
  21. 21. code-quality.de  @FrankS Get involved early on!
  22. 22. code-quality.de  @FrankS Understand the requirements!
  23. 23. code-quality.de  @FrankS Pair thinking helps
  24. 24. code-quality.de  @FrankS Plan to throw one away… (on a whiteboard)
  25. 25. code-quality.de  @FrankS Practice with architecture katas!
  26. 26. code-quality.de  @FrankS Focus on the important decisions „The software architecture are those decisions that are hard to change.“ „The software architecture are those decisions that are hard to change.“ Martin Fowler
  27. 27. code-quality.de  @FrankS More ideas? Questions?
  28. 28. code-quality.de  @FrankS Links ● http://blogs.tedneward.com/post/architectural-katas/ ● http://nealford.com/katas/index.html ● https://archkatas.herokuapp.com/
  29. 29. code-quality.de  @FrankS Thanks!

×