training banner.gif (18009 bytes)

Architecture Training

Architecture Overview Class (printer-friendly .pdf version of this page)

Software Architecture Class

Architectural Leadership Class

Architecture Overview Class

Architecture Requirements Workshop

 

 

Software Architecture Overview Seminar
Class Description

Course Overview

This class provides an overview of our approach to architecture, architecting and architects. It is not a "beginner" class, but rather a fast-paced treatment of the concepts and techniques that are important particularly to those who partner with architects, but also to architects. 

I you are a practicing architect, we recommend the 4-day workshop because that is where you will get deep coverage of the architecting process and a chance to practice techniques learned. But if you can't take 4-days right now, or your budget doesn't allow it, then this 1-day class is a reasonable alternative.

In this class on software architecture, we focus on the central concepts and key concerns of software architecture. It is organized around three major themes:

architecture (what), answering the question: "what is software architecture?" This section deals with architecture definitions and distinctions, benefits, key concerns, and primary techniques, including an introduction to architectural patterns. 

architecting (how), that is the process of creating an architecture. We provide an overview of our Visual Architecting Process.

architects (who), focusing on the role and responsibilities of the architect and positioning the architect role within the organization.

We also address architecture motivation (why), architecture context (where) and architecture timing (when).

Benefits

More and more companies are recognizing that they need to build their organization's architecture competency, and do so quickly. Part of this process is introducing architecture concepts, and an appreciation for architecture and its role in software development, to a broad community of managers, architects, and developers. This is as true in product development as it is in IT, where application architecture is the foundation for competitive service offerings and effective internal systems. 

This class is designed to help build a broad, shared appreciation for architecture and the role of architects, and the role of architecture in upstream (business) and downstream (development) processes. It helps build a common foundation of architecture terms and concepts, that will facilitate the work of the architects, and the work of everyone who uses the architecture directly or indirectly.

We have considerable experience helping architects and their organizations transition to higher levels of architectural competency. This software architecture overview class integrates extensive real-world architecture experience, and builds on five years of teaching software architecture workshops.

Please see our paper on Architecture as Business Competency, to see how architecture impact other roles, not just the role of the architect.

Workshop Format

This 1-day class relies mostly on lecture with class participation. We draw on stories from our experience, and large-group graphical facilitation, to help enliven and enrich this seminar format. Nonetheless, if you are looking for a more hands-on, and hence valuable, learning experience, we encourage you to attend our 4-day Software Architecture Workshop. 

Audience

This workshop is intended as an introduction to architecture for a broad audience, from managers, to technical leads, developers and test engineers.

Instructor's Background

The workshop leader, Dana Bredemeyer, has over 20 years experience architecting, designing and developing software systems, including 16 years with Hewlett-Packard. He developed HP's internal Software Architecture Workshop, and continues to be its principal instructor. He has provided architecture consulting and training to architects, architecture teams and their management at the project, organization and business unit levels, and has helped teams develop software, firmware and system architectures for products, product families and information systems. 

Pricing

In-house: Pricing depends on number of students taking the class. Please contact us for details.

Open Enrollment: The cost for the 1-day class is US$650 per student.  Lunch and snacks will be provided.

The price includes the workshop binder with color copies of the slides and notes.

Cancellation Policy

Seminars 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.

Seminars 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.

Course Contents

Software Architecture

In the software architecture section, we cover:

definitions and distinctions: we offer definitions of software architecture and distinguish it from other related kinds of architectures (enterprise, information, system, etc.).

benefits: we discuss the benefits of successful architectures, and the relationship between business strategy, architectural strategy and competitive advantage.

key concerns: we identify the focal concerns of architecture, including system decomposition and component specification, communication mechanisms, and ensuring system properties such as performance, consistency, data integrity, and scalability.

primary techniques: we outline the primary techniques used in architecting, including

  • architectural patterns: we introduce 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.

architecture, design and development: we discuss the relationship of architecture to design and implementation, and the various roles that are  played in ensuring that the architecture is successful.

The Architecting Process

In the process section, we introduce our Visual Architecting Process (see VisualArchitectingProcess.pdf). We provide an overview of the steps involved in:

Init/Commit: how to gain the support of all levels of management affected by the architecture; how to create and lead a cohesive, creative architecture team

Architectural requirements: how to elicit and document functional (i.e., behavioral) requirements and non-functional requirements (i.e., system qualities).

System Structuring: how to use architectural modeling to decompose the system, evaluate architectural trade-offs, and document the system using different views.

Evaluation: how to assess the system in terms of the system requirements.

Deployment: how to assist the developer and project manager community in their use of the architecture to ensure its successful adoption and appropriate use

The Role and Responsibilities of the Architect

This section describes the role of the architect, and discusses the responsibilities and associated skills and attitudes of the architect. We also explore the relationship of the architect role to other roles in the organization.

Venue

We don't have any 1-day open enrollment Software Architecture Overview classes scheduled at this point: 

On-site: If  you would like to hold this class in-house, 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, and we will look into scheduling an open enrollment class.

 

ABOUT BREDEMEYER CONSULTING|

Bredemeyer Consulting specializes in helping our clients build architectural competency. We typically work with software architecture and enterprise architecture teams, providing training and mentoring to accelerate the creation or migration of an architecture. However, we do offer a limited number of Software Architecture and related workshops for open enrollment.

Copyright © 2004 by  Bredemeyer Consulting
URL: http://www.bredemeyer.com
Last Modified: August 30, 2004