Bredemeyer Consulting
System Design Workshop
Course Overview
We work in small teams on creating a draft architecture, and lecture topics are driven by the concerns that are being addressed as we do so. This allows us to work on shaping a system design, moving from exploring the system concept to architectural definition, weaving guidance, discussion and practice.
As we iterate through architecture design with its trade-offs, decision making, modeling and specification, we grapple with:
- system design: systems concepts, uncertainty and complexity, context, framing, constraints, forces and trade-offs.
- system capabilities and properties: understanding needs/concerns and designing system capabilities and system properties including run-time qualities such as scalability and reliability, and development-time qualities such as evolvability/extensibility.
- architectural patterns: structural patterns such as layers, hexagonal architecture, and microservices, and mechanisms that may be architecturally significant in various contexts.
- systems and architecture modeling including an introduction to (just enough, as relevant) Unified Modeling Language (UML) and C4, but drawing on other templates and modeling as appropriate to the design stage and its decision focus.
- architectural views: structural views help document and communicate the architecture in terms of the components and their relationships, and are useful in assessing architectural qualities like extensibility. Behavioral views are useful in thinking through how the components interact to accomplish their assigned responsibilities and evaluating the impact of what-if scenarios on the architecture. Behavioral views are especially useful in assessing run-time qualities such as performance and security. Execution views help in evaluating physical distribution options and documenting decisions.
- component specification, interfaces and APIs: components are identified and assigned responsibilities, and interfaces are designed.
- key architectural design principles and heuristics, including abstraction, separation of concerns, postponing decisions, and simplicity, and related techniques such as interface hiding and encapsulation, as well as system decomposition principles, factoring and refactoring, and good interface design.
- architecture improvement: we pause periodically to consider what it means to improve and evolve systems and their design, and why, when and how to do that.
Workshop Format
Exercises form a large component of this remote workshop, which is oriented toward building skills rather than simply exposing participants to new concepts. Also, case studies and stories from our experience are used to integrate real-world lessons into the workshop.
Audience
This workshop is designed for architects (those doing architecture work, whatever their title) and system design engineers. Managers of architecture teams will also benefit. Product owners may be interested too.
This workshop may also be of interest to developers who are interested in a system design approach that works across both capabilities design ("requirements," including properties or "non-functionals") and the design of the system internals (architecturally significant parts and interactions, and mechanisms).
Pricing
In-house: Pricing depends on number of students taking the class. Please contact us for details.
2024 Remote Open Enrollment:
- System Design for Software Architects Workshop: March 18-20 and 25-28, 2024 at 11 am - 3:30 pm Eastern Time ( 6 x 4 hr sessions with 30 minute break each day) [$1500/$2000; group discount]
The prices are given as [early enrollment price/enrollment price]. All prices per person.
In-House (Remote or On-site):
Most of our workshops are, in non-Covid times, run on-site with clients, helping to ramp up an architecture focus, providing training for architects and providing common grounding for architects across projects, running new product incubators with a core group of product owner/architects/developers, preparing for legacy revitalization with design recovery and renewal, and so forth. During this era of remote work, we have been doing these in-house workshops, incubators, and classes remotely. Please contact Ruth Malan for onsite and remote pricing.
We also have shorter versions of our workshops focused on specific topics, or to address specific needs a group has.
Copyright © 1999-2023 by Bredemeyer Consulting
URL: https://www.bredemeyer.com
Page Created: December 2020
Last Updated: January 15, 2023