Back to training

Agile Architecture Workshop: An Incremental Approach

Let your architecture emerge at Rebecca Wirfs-Brock‘s two-day workshop.


Two commonly heard phrases in agile development are “Let your architecture emerge” and “Always implement what you actually need, never what you think you might need.” However, complex software systems have lots of moving parts, dependencies, challenges, and unknowns. Counting on the software architecture to properly evolve without any planning or design investigations can be risky. On agile projects, software architecture activities should not be pie-in-the-sky experiments that slow down the delivery of working code. Yet producing working code based on a shaky architecture isn’t sustainable either.

In this workshop Rebecca Wirfs-Brock provided a hands-on experience applying practices and techniques for effectively defining (and refining) software architecture that support agile values. She focuses on methods for balancing software architecture activities with other ongoing development efforts. Learn tactics for creating just enough architecture at the most opportune time.

Who Should Attend

  • Product architects
  • Technical architects
  • Program managers
  • Testers
  • Developers
  • Team leaders
  • Any interdisciplinary product or cross-functional team working in an agile way

Why attend

  • Understand what agile architecture is (and is not)
  • Explore characteristics of an agile architecture role
  • Learn techniques for planning and bounding architecting activities
  • Communicate architecture to diverse audiences: The basics of communicating architecture goals and vision
  • Recognize and manage architectural debt


“Great workshop Rebecca! Really good and new information here for me.”
Sorin O., Timisoara, Romania

“There was an excellent presentation. I found it very interesting and help me a lot. Thank you Rebecca!”
Dana D., Timisoara, Romania

“Thanks a lot — the class and the organizing were excellent!!!”
Florin C., Iasi, Romania

Topics covered

  1. Introduction
    Agile Values, Qualities of good architecture, What is different about architecture on agile projects?
  2. Agile Architecture for Small Projects
    Patterns for incremental architecture, Rhythms of development, Design spikes
  3. Agile Architecture for Larger Projects, Products, and Programs
    Understanding project and system complexities , Using product and feature roadmaps, Identifying risks and risk horizons, Critical decisions and “responsible” moments, Options for fitting architecture activities into an agile project
  4. Architecture Practices to Reduce Risk
    Wayfinding, exploration and prototyping, Monitoring and reducing technical and architecture debt, Testing system qualities
  5. Techniques and Practices for Projects and Programs
    Defining and using a landing zone, Identifying risks and risk horizons, Alternatives for fitting architecture activities into an agile project, Backlogs, architecture tasks, architecture work queues, design spikes, Kanban: A lean practice for agile tasks, Defining acceptance criteria for architecture qualities, Monitoring technical and architectural debt
  6. What Agile Architects Do
    Balance, optimize, and align stakeholder goals, Keep the system “soft” and able to absorb changes, Identify architectural risks, Develop common practices, Lead by doing—finding a balance
  7. Keeping the Architecture Alive
    Explaining architecture to others, Selling architecture ideas, Giving and receiving constructive design criticism, Drawing and sketching for agile architects, Architecture stewardship
Approximately 50% of the time is spent doing and reviewing short exercises; 50% in short lectures. This course combines short presentations introducing new concepts and techniques with short, to-the-point exercises. In addition to course slides, attendees receive notes describing each technique, concept, or practice.


Attendees should have familiarity with agile software practices and be experienced with software programming and development.

Practical details

  • Trainer: Rebecca Wirfs-Brock
  • Duration: 2 days, daily from 09:00 to 17:30
  • Included: welcome coffee, lunch and coffee breaks
  • All courseware materials will be received in electronic format.
  • Training language: English
  • Courseware language: English
  • Participants will receive a certificate of attendance

Need more information? Contact us and we’ll help you choose the right course for you.

More from Rebecca

(Video) Why We Need Architects (and Architecture) on Agile Projects
(Video) Interview about domain driven design, resp. driven design, OO
(Video) What should an architect do?
(Video) Pragmatic, not dogmatic TDD: Rethinking how we test
(Book) Object Design: Roles, Responsibilities, and Collaborations
(Blog) Software architecture stewardship
Her official blog (almost ten years of writing)