O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
EvolutionaryArchitecture  Rebecca Parsons CTO ThoughtWorks
AgendaEmergent design vs evolutionaryarchitecturePrinciples of evolutionary architectureTechniques of evolutionary archite...
Design and         ArchitectureEvolutionary versus EmergentDesign and ArchitectureEvolutionary Architecture and EmergentDe...
Principles of Evolutionary         ArchitectureLast responsible momentArchitect and develop for evolvabilityPostel’s LawAr...
Last Responsible       MomentDelay decisions as long as you can, but nolongerMaximizes the information you haveMinimizes t...
Architect for       EvolvabilitySensible breakdown of functionalityConsider data lifecycle and ownershipAppropriate coupli...
Develop for        EvolvabilitySoftware internal quality metrics focusingon ease of changeFind hotspots and focus efforts ...
Reversability
Postel’s LawBe conservative in what you sendBe liberal in what you receiveOnly validate what you needHolds for any informa...
Architect for        TestabilityAiming towards testability produces awell-architected systemMessaging infrastructure used ...
Conway’s LawOrganizations design systems reflectingtheir communication structuresBroken communications imply complexintegra...
TechniquesDatabase RefactoringContinuous DeliveryHATEOS
Database         RefactoringDe-compose big change into series ofsmall changesEach change is a refactoring/migrationpair (o...
Continuous          DeliveryAutomate environments and configurationsAutomate builds and use continuousintegrationAutomate t...
HATEOASHypermedia as the Engine of ApplicationStateDistribution of informationConsumer driven contractsEvolvable contracts...
Evolutionary       ArchitectureDefine your architectural fitness functionDelay your decisions as long as you canUnderstand v...
Questions?  http://rebeccaparsons.comhttp://www.thoughtworks.com
Próximos SlideShares
Carregando em…5
×

Evolutionary architecture

1.492 visualizações

Publicada em

Rebecca Parsons - Agile East ATL
2011

  • Seja o primeiro a comentar

Evolutionary architecture

  1. 1. EvolutionaryArchitecture Rebecca Parsons CTO ThoughtWorks
  2. 2. AgendaEmergent design vs evolutionaryarchitecturePrinciples of evolutionary architectureTechniques of evolutionary architectureHow to achieve an evolutionaryarchitecture in practice
  3. 3. Design and ArchitectureEvolutionary versus EmergentDesign and ArchitectureEvolutionary Architecture and EmergentDesign
  4. 4. Principles of Evolutionary ArchitectureLast responsible momentArchitect and develop for evolvabilityPostel’s LawArchitect for testabilityConway’s Law
  5. 5. Last Responsible MomentDelay decisions as long as you can, but nolongerMaximizes the information you haveMinimizes technical debt from complexityDecide early what your drivers are, andprioritize decisions accordinglyEvolutionary, neither emergent nor basedon guesswork
  6. 6. Architect for EvolvabilitySensible breakdown of functionalityConsider data lifecycle and ownershipAppropriate couplingLightweight tooling and documentation
  7. 7. Develop for EvolvabilitySoftware internal quality metrics focusingon ease of changeFind hotspots and focus efforts thereMeasure continually, focusing on trends
  8. 8. Reversability
  9. 9. Postel’s LawBe conservative in what you sendBe liberal in what you receiveOnly validate what you needHolds for any information exchangeUse version changes when a contractmust be broken
  10. 10. Architect for TestabilityAiming towards testability produces awell-architected systemMessaging infrastructure used formessaging, not business logicBusiness sensible componentsTesting at many levels, including contractBuild pipelines support the volume
  11. 11. Conway’s LawOrganizations design systems reflectingtheir communication structuresBroken communications imply complexintegrationSilos often result in broken communicationIf you don’t want your product to look likeyour organization, change yourorganization (or your product)
  12. 12. TechniquesDatabase RefactoringContinuous DeliveryHATEOS
  13. 13. Database RefactoringDe-compose big change into series ofsmall changesEach change is a refactoring/migrationpair (or triple if you include access code)Changes compose in the same wayfunctions composeAnd of course, version control thechangesAnd apply in the various environmentsduring promotion
  14. 14. Continuous DeliveryAutomate environments and configurationsAutomate builds and use continuousintegrationAutomate testing at all levelsAutomate deploymentJust because you CAN release at anytime doesn’t mean you HAVE to
  15. 15. HATEOASHypermedia as the Engine of ApplicationStateDistribution of informationConsumer driven contractsEvolvable contractsIdempotency and other properties
  16. 16. Evolutionary ArchitectureDefine your architectural fitness functionDelay your decisions as long as you canUnderstand various forms of technicaldebtImplement evidence based re-useCreate and maintain the testing safetynet
  17. 17. Questions? http://rebeccaparsons.comhttp://www.thoughtworks.com

×