2 DAY WORKSHOP
Team-Driven Software Architecture
Are you aiming to enable software teams to drive their own architecture? Do you wish for your team to make architectural decisions that result in adaptable and resilient structures? Are you ready to understand the foundation and view software architecture through a new lens that positions the entire team at the forefront of its design? Join me in an engaging workshop aimed at revolutionising your team’s approach to software architecture.
This workshop is designed with software people in mind, namely ones involved in software design and architecture. Titles vary, but can fall under one of those:
- Software Developers & Engineers
- Software, Solution & Enterprise Architects
- Product Managers & Owners
- Business Analysts & Quality assurance roles
- Engineering managers & Scrum Masters
- Anyone interested in learning the what and how of software architecture, and how the team can drive it!
During this immersive workshop, we’ll delve into the core of software architecture, examining its structure, essential decision-making processes, design principles, and the defining characteristics that guarantee quality.
We will deconstruct these concepts into comprehensible sections and demonstrate how they can be integrated into a team’s software delivery lifecycle.
Participants will engage in pragmatic, hands-on activities, utilizing either their own use case or learning from real-world case studies. Through these exercises, you will gain practical knowledge of various software architecture styles, including microservices, monoliths, event-driven, service-oriented architecture (SOA), and ports and adapters, among others. In addition, the workshop will present the principles of residuality theory as formulated by Barry M O’Reilly, offering insights into designing systems that go beyond mere resilience; you will learn to create architectures that not only withstand but also flourish under pressure.
What you will learn
- Understanding the Fundamentals: Grasp the basics of software architecture, including structure, decision-making, design principles and software qualities/charactaristics.
- Incorporating Architecture in Team Life-cycle: Learn to embed architectural practices within your team’s development life-cycle.
- Distinguishing Architectural Roles: Clearly differentiate the roles and responsibilities of software architecture in contrast to domain and enterprise architecture.
- Adopting a Team-Driven Approach: Shift perspective to view software architecture as a collaborative, team-oriented discipline.
- Designing for Software Quality: Recognize and implement the key software qualities that lead to better architectural outcomes.
- Introduction to Residuality Theory: Get acquainted with residuality theory and its application in designing anti-fragile systems.
- Explore multiple architectural styles: Explore the different trade-offs of multiple architectural styles including microservices, monoliths, event-driven, service-oriented architecture (SOA), and ports and adapters, among others
Prior experience in Software Architecture is not a prerequisite for this workshop. To help lay the groundwork for the concepts we’ll explore, we provide an optional short introduction to Software Architecture before the beginning of the workshop. This preparatory material is designed to prime your understanding and set you up for maximum benefit from the workshop’s content.
For participants keen on advanced preparation, we recommend delving into “Fundamntals of Software architecture” by Neal Ford and Mark B. Richards. This resource offers insightful, accessible guidance for those new to Software Architecture.
The workshop is highly interactive, designed to engage you in hands-on learning experiences. When conducted online, we utilise Miro, a versatile digital whiteboard tool, for our collaborative exercises. If you’re unfamiliar with Miro, we encourage you to take advantage of the self-paced participant onboarding course available at Miro Academy: Miro Participant Onboarding Course. This short course will equip you with the navigational knowledge needed to fully participate in our interactive sessions.