Course Overview
The term "software architecture"
is used both for the high-level structure of a software system, and the related field or
discipline. In the workshop, we approach the software architecture discipline from three
primary points of view:
architecture,
answering the question: "what is software architecture?" and introducing
architectural patterns, principles and mechanisms.
architecting,
that is the process of creating an architecture. The major emphasis of the workshop is on
learning how to create, validate and update an architecture.
architects,
focusing on the role and responsibilities of the architect and positioning the
architecture role within the organization.
Benefits
Software architecture contributes to
competitive advantage in two primary ways:
Software architects are thus poised to play
a critical role in an organizations business success, translating business strategy
into an architectural strategy that is the foundation for a stream of products or family
of systems. This workshop is designed to provide participants with concepts, techniques
and lessons from experience that will help them be more successful in the architect role.
We have considerable experience helping
architects and their organizations transition to higher levels of architectural
competency. The software architecture workshop integrates extensive real-world
architecture experience, and builds on five years of teaching software architecture
workshops.
Workshop participants
receive a certificate at the end of the
class.
Pricing
In-house: Pricing
depends on number of students taking the class. Please contact
us for details.
US Open Enrollment: The
fee for the
4-day workshop is US$2400.00 per student.
Europe Open Enrollment: The
fee for the
4-day workshop is affected by the higher cost structure for running
classes in Europe. The fee will be announced when a workshop is
scheduled.
Note: We only accept a maximum of 16
participants, so register early to avoid disappointment. Lunches and
morning and afternoon snacks
will be provided, but workshop participants are responsible for dinners and their own
accommodations.
We offer a 10% discount
when you enroll 3 or more people from the same company in the same
workshop at the same time. (We cannot retroactively apply the discount to
people from your company who may already have completed the registration
process.)
The price includes the workshop binder with
color copies of the slides and notes, and a set of our Architecture
Action Guides.
Cancellation Policy
Workshops in the US:
We will refund the registration fee less a 5% processing fee if
cancellations are made more than 30 days in advance of the workshop start
date. Cancellations made 30 days or less from the workshop start date are
not refundable. However, student substitutions may be made any time prior
to the start of the workshop.
Workshops outside the US:
We will refund the registration fee less a 5% processing fee if
cancellations are made more than 6 weeks in advance of the workshop start
date. Cancellations made within 6 weeks of the workshop start date are not
refundable. However, student substitutions may be made any time prior to
the start of the workshop.
All Please Note: We reserve the right to cancel or
reschedule any workshop if enrollments are below the minimum
necessary to cover costs and provide good class participation. This rarely happens,
and we will keep registrants informed if enrollments are low enough
to cause concern. If we are forced to cancel for any reason (such as
major personal calamity including severe sudden illness or
injury), our obligation will be limited to a full refund of class enrollment fees or
transfer of the registration to a future workshop.
Venue
We will be holding open
enrollment Software Architecture Workshops in:
-
South
Africa, Sept 3-6, 2001
-
Rochester,
NY, October 8-11, 2001
-
Germany:
November, 19-22, 2001
-
San
Diego, CA, March 11-14, 2002
-
London, UK: April 15-18, 2002
-
Seattle/Tacoma, WA, July 2002
-
New
Zealand, September 2-5, 2002
-
Dallas, TX, November 11-14, 2002
-
Cape
Town, South Africa, December 9-12, 2002
-
London,
UK, February 11-14,
2003
-
Boston,
MA, May 5-8, 2003
-
Houston,
TX, November 18-21, 2003
-
Denver, CO on
March 15-18, 2004.
-
London,
UK on June 28-July 1, 2004.
-
Oslo,
Norway on June 28-July 1, 2004
-
Boston, MA on
October 12-15, 2004.
-
Palo
Alto, CA March 21-24, 2005.
-
London,
UK June 21-24, 2005
-
Indianapolis,
IN September 26-29, 2005.
-
Las Vegas, NV,
March 14-17, 2006
-
Chicago, IL,
September 19-22, 2006
-
Washington, DC,
November 14-17, 2006
-
Chicago, IL,
May 22-25, 2007
-
Arlington, VA
(Washington, DC area)
October 1-4, 2007
-
Chicago,
April 15-18, 2008
-
Indianapolis,
IN October 13-16, 2008
-
Chicago, IL
April 6-9, 2009
- Please let
us know if there is a location you would be most interested in.
On-site: If
6 or
more people from your company would like to attend this class, you may find it more cost
effective (taking travel costs into account) to hold the class at your company site. Please call us at (812) 335-1653
or email training@bredemeyer.com for pricing
and schedule.
Suggest a venue: If there
is a location and timing that you are particularly interested in, please let
us know.
|
Course Contents
This is a workshop,
and small teams work on creating a draft architecture using the Visual
Architecting Process. We follow the iterative architecting process, and
weave concepts and architecting techniques into the lectures between work
sessions. The lecture topics are driven by the concerns that are being
addressed at that stage of the architecting process. This makes it a
"non-traditional" format, but it is one that works well as it
allows us to work end-to-end through the creation of a draft architecture.
Software Architecture
In the architecture
specification sections, we deal with:
meta-architecture:
the architectural vision, style, principles, key communication and control mechanisms, and
concepts that guide the team of architects in the creation of the architecture.
architectural
patterns: structural patterns such as layers and client/server, and
mechanisms such as brokers and bridges.
architecture
modeling using the Unified Modeling Language (UML).
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: components are identified and assigned responsibilities that
client components access through "contracted" interfaces. Component
interconnections specify communication and control mechanisms and allow component
interactions to accomplish system behavior.
key
architectural design principles including abstraction, separation of
concerns, postponing decisions, and simplicity, and related techniques such as interface
hiding and encapsulation, as well as system decomposition principles and good interface
design.
See
our white paper titled "Software
Architecture: Central Concerns, Key Decisions" for an
introduction to our approach to architecture.
The Architecting Process
The technical process section is the
principal focus of the workshop, and covers:
Architectural
requirements: how to elicit and document functional (i.e., behavioral)
requirements and non-functional requirements (i.e., system qualities including run-time
qualities such as performance and reliability, and development-time qualities such as
evolvability/ extensibility and reusability).
System
Specification: how to use architectural modeling to decompose the system,
evaluate architectural trade-offs, and document the system using different views.
Architecture
Validation:
how to assess the system in terms of the system requirements.
The organizational process section covers:
Sponsorship:
how to gain the support of all levels of management affected by the architecture
Leadership:
how to create and lead the architecture team
Consulting:
how to assist the developer community in their use of the architecture to ensure its
successful adoption and appropriate use.
See the draft chapters of our book titled
Software
Architecture Action Guide for an overview of the
architecting process that we work through in the workshop.

The Role and Responsibilities of the Architect
This section relates the responsibilities
and associated skills and attitudes of the architect to the architecting process.
See our white paper
titled "The Role of the
Architect" for an overview of the architect competency
framework that organizes our approach to this section.

Workshop Format
Exercises form a large component of
this four-day workshop, which is oriented toward building skills rather than simply
exposing students 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 and senior system design engineers. Managers of architecture teams will also
benefit.
Instructor's
Background
Either Dana Bredemeyer or
Ruth Malan teach the workshop.
ABOUT BREDEMEYER
CONSULTING|
Bredemeyer Consulting specializes in training and mentoring software architects. We
typically work with architecture teams, providing training and mentoring to accelerate
their creation or migration of an architecture. However, we do offer a limited number of
Software Architecture Workshops for open enrollment.
|