WA2343
Fundamentals of Architectural Thinking Training
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.
Course Details
Duration
2 days
Prerequisites
No prior knowledge is presumed.
Target Audience
- Architects
Course Outline
- Introduction
- 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
- 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
- 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
- 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
- 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
- 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
- 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 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
- 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