Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Continuous Architecture and Emergent Design: Disciplined Agile Strategies

4,565 views

Published on

An overview of how disciplined agile teams address architecture and design. This includes initial agile architecture modeling, proving the architecture early in the project, test-driven development, architecture spikes, architecture handbooks, and many more.

Architecture and design are so important to disciplined agile teams that we consider these issues every day. Your approach to architecture is a key enabler of agility at scale.

Published in: Technology, Business

Continuous Architecture and Emergent Design: Disciplined Agile Strategies

  1. 1. © Scott Ambler + Associates 1 Continuous Architecture and Emergent Design Scott W. Ambler Senior Consulting Partner scott@scottambler.com @scottwambler
  2. 2. © Scott Ambler + Associates 2 Agenda 1. Myths and misunderstandings 2. Ideas from Disciplined Agile Delivery (DAD) 3. Getting started 4. Emergence 5. Stuff happens 6. Parting thoughts
  3. 3. Myths and Misunderstandings © Scott Ambler + Associates 3
  4. 4. Common Myths Surrounding Agile Architecture 1. Agilists don’t “do architecture” 2. Agilists start coding right away 3. Agilists don’t follow enterprise architecture strategies 4. Agilists don’t model 5. Agilists don’t document © Scott Ambler + Associates 4
  5. 5. Realities of Agile Architecture 1. Architecture is so important agilists address it throughout the entire lifecycle 2. Disciplined agilists invest in some up front envisioning 3. Discipline agilists work closely with enterprise professionals 4. Disciplined agilists explicitly model in a lightweight manner throughout the lifecycle 5. Disciplined agilists write deliverable documentation continuously © Scott Ambler + Associates 5
  6. 6. Disciplined Agile © Scott Ambler + Associates 6
  7. 7. DAD Role: Architecture Owner • Guides the creation and evolution of the solution’s architecture • Mentors and coaches team members in architecture practices and issues • Understands the architectural direction and standards of your organization and ensures that the team adheres to them • Ensures the system will be easy to support by encouraging appropriate design and refactoring • Ensures that the system is integrated and tested frequently • Has the final decision regarding technical decisions, but doesn’t dictate them • Leads the initial architecture envisioning effort 7 © Scott Ambler + Associates
  8. 8. DAD Teams Are Enterprise Aware • DAD teams strive to leverage and enhance the existing organizational eco system wherever possible • Implications for architecture and design: – Work with enterprise architects – Follow existing roadmap(s) where appropriate – Leverage existing assets – Enhance existing assets © Scott Ambler + Associates 8
  9. 9. Scrum Construction Lifecycle © Scott Ambler + Associates 9
  10. 10. A Scrum Delivery Lifecycle © Scott Ambler + Associates 10
  11. 11. Unbranded Agile Delivery Lifecycle © Scott Ambler + Associates 11
  12. 12. Governed Delivery Lifecycle © Scott Ambler + Associates 12
  13. 13. Disciplined Agile Delivery: Basic Lifecycle © Scott Ambler + Associates 13
  14. 14. DAD is Goal-Driven, Not Prescriptive 14© Scott Ambler + Associates
  15. 15. Disciplined Agilists Take a Goal Driven Approach © Scott Ambler + Associates 15 Goal Issue Advantages Disadvantages Considerations * Option Default Option * Explore the Initial Scope Form the Initial Team Address Changing Stakeholder Needs Source Team size Team structure Team members Geographic distribution Supporting the team Availability Co-located Partially dispersed Fully dispersed Distributed subteams
  16. 16. Initial Architecture © Scott Ambler + Associates 16
  17. 17. Goal: Identify Initial Technical Strategy © Scott Ambler + Associates 17
  18. 18. Goal: Align With Enterprise Direction © Scott Ambler + Associates 18
  19. 19. © Scott Ambler + Associates Survey Says: Initial Architecture Efforts • 25% use enterprise or industry architecture models as references • 77% performed high-level initial architecture envisioning • 28% performed detailed initial architecture modeling • 92% performed some form of up-front architecture modeling • 97% performed some initial modeling OR worked from an existing legacy architecture Source: SA+A 2013 Agile Project Initiation Survey Ambysoft.com/surveys/ 19
  20. 20. © Scott Ambler + Associates 20 Non-functional requirements are critical drivers of your architecture
  21. 21. You’ll Need Several Views © Scott Ambler + Associates 21 Some Architecture Frameworks: Zachman TOGAF DoDAF 4+1
  22. 22. Emergence © Scott Ambler + Associates 22
  23. 23. © Scott Ambler + Associates 23 Continuous Architecture Practices Architectural vision guides development efforts Initial architectural envisioning Architecture owner facilitates architectural decisions throughout Construction Architecture handbook and models updated as required Architecture spikes to explore a technical issue Reduce risk early by proving the architecture works
  24. 24. Emergent Design Practices © Scott Ambler + Associates 24 Discuss design implications during iteration planning/modeling Test-Driven Design (TDD) throughout Construction Look-ahead modeling for upcoming complex work items Consider design issues of incoming requests from production
  25. 25. Agile Model Driven Development (AMDD): Project Level © Scott Ambler + Associates 25
  26. 26. Goal: Prove Architecture Early © Scott Ambler + Associates 26
  27. 27. Goal: Produce a Potentially Consumable Solution 27 © Scott Ambler + Associates
  28. 28. Goal: Leverage and Enhance the Existing Infrastructure © Scott Ambler + Associates 28
  29. 29. © Scott Ambler + Associates 29 Stuff Happens…
  30. 30. What if… You don’t think all the issues through from the very beginning? © Scott Ambler + Associates 30 There is a major requirements change that forces you to rethink the architecture in the middle of construction? Another team needs to update the solution years from now? The team gets hit by a truck?
  31. 31. © Scott Ambler + Associates 31
  32. 32. General Solution Architecture Principles Architecture owners should understand why Look beyond technology Adopt a multi-view approach Architecture is driven by requirements Architectures should be loosely coupled Architectural elements should be highly cohesive © Scott Ambler + Associates 32
  33. 33. Principles of Agile Solution Architecture Think about the future, but wait to act Learn early, learn fast Simplicity first Build quality in Model in an agile manner Be enterprise aware © Scott Ambler + Associates 33
  34. 34. Thank You! scott [at] scottambler.com @scottwambler AgileModeling.com AgileData.org Ambysoft.com DisciplinedAgileConsortium.org DisciplinedAgileDelivery.com ScottAmbler.com Disciplined Agile Delivery Disciplined Agile Delivery © Scott Ambler + Associates 34
  35. 35. Recommended Resources © Scott Ambler + Associates 35
  36. 36. Backup Slides © Scott Ambler + Associates 36
  37. 37. 37 Disciplined Agile Delivery (DAD) Disciplined Agile Delivery (DAD) is a process decision framework The key characteristics of DAD: – People-first – Goal-driven – Hybrid agile – Learning-oriented – Full delivery lifecycle – Solution focused – Risk-value lifecycle – Enterprise aware © Scott Ambler + Associates
  38. 38. Goal Diagram Notation © Scott Ambler + Associates 38 Goal Issue* Option Default Option * Indicates a preference for the options towards the top

×