Agile teams embrace a “whole team” approach and incremental delivery of system functionality. This requires changes to the ways architects traditionally work. Instead of delivering a fully defined architecture at the beginning, the architecture continues to evolve and be refined as new functionality is defined and delivered. An agile architect engages in activities that explicitly support the agile values of teamwork, collaboration, and constant learning.
This hands-on workshop introduces techniques, patterns and practices for the definition, delivery, communication and refinement of a system’s architecture for agile projects or programs. The focus is on useful techniques and their practical application.
- What is agile architecture? How is it different? What roles do architects play?
- Design values, principles, practices, and myths
- Practices for making architectural requirements visible
- Agile landing zones, roadmaps, architecture on the backlog
- Architecting on agile projects
- Incremental architecture, sharing architecture responsibility, stewardship, architecture spikes
- System qualities
- Quality Attribute Scenarios, System quality-related acceptance criteria, System quality checklists and pause points, Monitoring system qualities
- Agile ways to communicate architecture
- Separating permanent from just-in-time documentation
- Informal and formal views
- Decision records, principles, and design recipes
- Sketching visions and views of your architecture
About the instructor
Rebecca is an object design pioneer who invented the set of design practices known as Responsibility-Driven Design (RDD) and by accident started the x-Driven Design meme. Along the way she authored two popular object design books that are still in print. She was the design columnist for IEEE Software. You can find her design columns, papers, and writing at www.wirfs-brock.com/Resources.html.
In her work, Rebecca helps teams hone their design and architecture skills, manage and reduce technical debt, refactor their code, and address architecture risks. In addition to coaching and personal mentoring, she teaches and conducts workshops on Responsibility-Driven Design, Pragmatic TDD, enterprise application design, agile design skills and thinking, being agile about system qualities, and Agile Architecture. In her spare time she jogs (even in the rain).
Rebecca is also program director of the Agile Alliance’s Experience Report Initiative. Another interest of hers is software patterns. She serves on the Board of the Hillside Group and recently has written an essay about the relationship between patterns and heuristics, patterns about how to create and manage magic backlogs, sustainable architecture, agile QA, and adaptive systems architectures. If you are interested in writing about your experiences or sharing your wisdom in pattern form, contact Rebecca. She can help you turn your itch for writing into the written word.