Fundamentals of Architectural Thinking

This course is for architects of all types (EA, solution architecture, technical architecture, etc.). It covers core architecture concepts: Architecture Principles, Stakeholders, Views & Viewpoints, Quality Attributes, Nonfunctional requirements, Tactics, Patterns, and Techniques.

Audience

Architects.

Prerequisites

None.

Duration

2 days.

Outline

ARCHITECTURE OVERVIEW

§ Architecture

§ Architects

§ Importance of Architecture

§ Communications Vehicle Among Stakeholders

§ The Project is Organized Around Architectural Elements

§ What is a System?

§ Why Focus on Structure?

§ Solution Architecture Context

§ Solution Architecture & Domains

§ SA Spans All Domains

§ Relationship to EA Architecture Development Process

§ Solution Architecture

§ Solution Architecture Stakeholders

§ Solution Architecture Deliverables

§ EA Involvement in SA

§ Architecturally Significant

§ Architecturally Significant Elements

§ Group Discussion: Architecture

CORE ARCHITECTURE METHODS

§ Shared Vision

§ Example Shared Vision

§ Draw the Boundary

§ Well-defined Interface

§ Example: Context Diagram

§ Identify the External Interfaces

§ Subsystems

§ Subsystem Context Diagram

§ Layers

§ Example: Subsystems with Layers

§ Components

§ Decomposing the System

§ Requirements Allocation

§ Group Discussion: Requirements Allocation

STAKEHOLDER MANAGEMENT

§ Stakeholders

§ Stakeholder Management

§ When to Focus on Stakeholder Management

§ Steps in the Stakeholder Management Process

§ Identifying Stakeholders

§ Points to Consider

§ Example Stakeholders & Concerns

§ Classifying Their Positions: The Stakeholder Matrix

§ Determining the Stakeholder Management Approach and Tailoring the Deliverables: The Stakeholder Map

§ Example: Stakeholder Map

§ Template: Stakeholder Map Matrix Template

VIEWS & VIEWPOINTS

§ Views and Viewpoints

§ Views

§ Example View: Claim Handling from a Process Viewpoint

§ Example View: Claim Handling from a Data Viewpoint

§ Example View: Claim Handling Project from a Financial Viewpoint

§ Contents of Views and Viewpoints

§ Example Formal Viewpoint: Security

§ Software Architecture Viewpoints: 4+1

§ Group Discussion: Viewpoints

ARCHITECTURE CONCEPTS

§ Fundamental Architecture Concepts

§ Abstraction

§ Coupling

§ Cohesion

§ Decomposition & Modularization

§ Encapsulation & Information Hiding

§ Separation of Interface & Implementation

ARCHITECTURE PRINCIPLES

§ Architecture Principles

§ Components of Principles

§ Qualities of a Good Set of Principles

§ EA Principles: Creation Process

§ Templates: Principle & Principle Catalog

§ Example: Architecture Principles

§ Sample: Architecture Principles

§ Group Discussion: Principles

§ Applying Architecture Principles

ARCHITECTURE REQUIREMENTS

§ Architecture Quality Attributes

§ Quality of Service Requirement Categories

§ Checklist: Quality Attribute (QA) Categories

§ Trade-off Analysis

§ Group Discussion: Trade-offs

§ Technique: Requirement Patterns

§ Tool: Non-Functional Requirement Patterns

§ Checklist: Requirement Statement Best Practices

§ Technique: Architecture Change Cases

§ Template: Elements of a Change Case

§ Example: Change Case

§ Eliciting Change Cases

§ Group Discussion: Change Case

ARCHITECTURE TACTICS

§ Tactics

§ Availability Tactics

§ Modifiability Tactics

§ Performance Tactics

§ Security Tactics

§ Testability Tactics

§ Usability Tactics

§ Approach for Describing Tactics

§ Group Discussion: Tactics

§ Pipes & Filters: Tactics

§ Service-Oriented Architecture (SOA): Tactics

§ Architectural Patterns and Corresponding Tactics for Modifiability

PATTERNS

§ What are Patterns?

§ Elements of a Pattern

§ Pattern Levels

§ Pattern Types

§ How to Start Using Patterns?

§ Common Architectural Patterns

§ Layers Pattern

§ Example: Retail Layered Architecture

§ Object-Oriented Design Patterns

§ OO Design Patterns

§ Structural Design Pattern: Facade Pattern Example

§ Enterprise Integration Patterns

§ Messaging Systems: Overview

§ Example Pattern: Pipes and Filters

§ Example: Monitoring Credit Bureau

§ EAA Patterns

§ Model-View-Controller (MVC) Pattern

§ SOA Patterns

§ Example: Saga Pattern

§ Business Process Patterns

§ Example: Synchronizing Merge Pattern

§ Configuration Management Patterns

§ New Patterns Continue to Emerge

§ Group Discussion: Patterns

PACKAGED SOFTWARE AND SAAS

§ Alternatives to Custom Development and Hosting

§ Open Source Software

§ Frameworks

§ Cloud Computing

§ Integration of Mixed Solutions

§ Implications for Architecture

§ Packaged Software Advantages & Disadvantages

§ SaaS Advantages and Disadvantages

§ Open Source Advantages and Disadvantages

§ Integration Strategies

§ The API Economy

§ COTS Implication: Accept Design Influence

§ COTS Implication: Plan for Stability

§ COTS Implication: Sustain Competency

§ COTS Implication: Vendor Lock-In

§ COTS Implication: Balance Business Needs & Architecture

§ COTS Inherent Risks

§ COTS Risk Management Strategy #1

§ COTS Risk Management Strategy #2

§ COTS Risk Management Strategy #3

§ Group Discussion: COTS

§ Typical COTS Architecture

ARCHITECTURE TECHNIQUES

§ Progressive Filtering

§ Rubric

§ Example: Service Design Rubric

§ Example: Architecture Rubric

§ Refactoring

§ Think About the Future, But Wait to Act

§ Feature Tree

§ Decision Tables

§ Decision Table Example

§ Flowcharts

§ Strength, Weakness, Opportunity, Threat (SWOT) Analysis

§ Example: SWOT Layout

§ SWOT Steps

ARCHITECTURE DELIVERABLES

§ Documentation Best Practices

§ Architecture Requirements Document

§ Template: Requirements Specification

§ IEEE Architectural Description Document

§ Template: Architectural Description Document

§ TOGAF Architecture Definition Document

§ Templates: Architectural Definition Document

§ Group Discussion: Architecture Definition Documents

§ Interface Specifications

§ Interface Specification Best Practices

§ Interface Design Document

§ Template: Interface Design Document

§ Database Design Document

§ Template: Database Design Document

§ Platform Design Document

§ Template: Platform Design Document

§ Architecture Decision Document

§ Template: Architecture Decision Document

§ ATAM: Scenario-based Architecture Review

§ Example: Utility Tree

§ Presentation Best Practices: ICEPAC

§ Verbal Supports: CREST

§ Group Discussion: Presentations

ARCHITECTURE DECISION DOCUMENTS

§ Architectural Decision-making

§ Architecture Decision Documents

§ Sample 1: Work Queues

§ Sample 1 Continued

§ Sample 2: Business Rules

§ Sample 2 Continued

THE ARCHITECTURE TOOLBOX

§ Improving Architecture Skills

§ Improving Architecture Skills: Spend Time @ the Library

§ Improving Architecture Skills: Use Cookbooks

§ Improving Architecture Skills: Practice with Mentors

§ Improving Architecture Skills: Look for Existing Stuff

§ Improving Architecture Skills: Build a Toolbox

§ What Goes in A Toolbox

§ Business Analysis Book of Knowledge (BABOK)

§ Resource: Business Architecture Body of Knowledge (BIZBOK™)

§ DAMA DMBOK

§ Software Engineering Institute (SEI)

§ Software Engineering Book of Knowledge (SWEBOK)

§ OpenUp

§ Microsoft Library

§ Financial Industry Organizations

§ Health Industry Organizations

§ Retail Industry Organizations

§ Technology Industry Organizations

§ Reference Library

§ Practitioner Toolbox Items

§ Group Discussion: Toolbox Items