MODULE 1 - Introduction
Introductions
Course Outline
Handouts & Appendices
Practical Application
Practical Application: Filling Your Toolbox
Course Evaluation & Questions
Course Delivery Overview
MODULE 2 - 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?
Architecturally Significant
Architecturally Significant Elements
Solution Architecture
Solution Architecture Context
Solution Architecture & Domains
SA Spans All Domains
Relationship to EA Architecture Development Process
Solution Architecture Stakeholders
Solution Architecture Deliverables
EA Involvement in SA
Agile Architecture
Continuous Architecture
Group Discussion: Architecture
Summary
MODULE 3 - Architecture Strategies
Fundamental Architecture Concepts
Abstraction
Coupling
Cohesion
Decomposition & Modularization
Encapsulation & Information Hiding
Separation of Interface & Implementation
Architecture Principles
Components of Principles
Qualities of a Good Set of Principles
Example: Architecture Principles
Sample: Architecture Principles
Summary
MODULE 4 - 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
Summary
MODULE 5 - Agile Architecture
What is the Problem We're Trying to Solve?
Prioritization
Integration
What About How the Environment Has Changed?
So What to Do?
Goals of Agile Architecture
Benefits
Agile Architecture at Work
Agile Architecture for Agile Software Projects
Scaled Agile Framework (SAFe)
Continuous Architecture
Agile Architecture for Software
Agile Architecture Research
Agile Architecture Research Example 1
Agile Architecture Research Example 2
Agile Architecture Research Example 3
Agile Architecture as an EA Practice
Agile Architecture in the Industry
Agile Architecture for EA Conclusion
MODULE 6 - 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
MODULE 7 - Stakeholder Management
Stakeholders
Stakeholder Management
When to Focus on Stakeholder Management
Steps in the Stakeholder Management Process
Identifying Stakeholders
Example Stakeholders & Concerns
Views and Viewpoints
Example View: Claim Handling from a Process Viewpoint
Classifying Stakeholde Positions: The Stakeholder Matrix
Determining the Stakeholder Management Approach and Tailoring the Deliverables: The Stakeholder Map
Example: Stakeholder Map
Template: Stakeholder Map Matrix Template
MODULE 8 - 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
MODULE9 - 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 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
Group Discussion: Documentation
Verbal Supports: CREST
Group Discussion: Presentations
MODULE10 - 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
Handout 1 - Sample Principles
Business Principles
Data Principles
Application Principles
Technology Principles
Governance Principles
SOA Governance Principles
Handout 2 - Requirement Patterns
Handout 3 - Rubric Worksheet
Appendix A - Reference Library
Overview
Industry Organizations
References & Further Reading
Appendix B - 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
Appendix C - 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
Appendix D - Pattern List
Appendix E - Interface Specifications
Interface Specification Best Practices
Lab Exercises
Lab 1. Requirements
Lab 2. System Scope
Lab 3. Architecture Techniques
Lab 4. Start Your Architecture Toolbox