Course Outline
Introduction
Overview of Software Architecture
- Architectural drivers
- The need for architecting
Exploring Architecting Responsibilities
- Responsibilities, skills, and knowledge
- Technical leadership
- Developer versus architect
Understanding the Process of Architecting
- Coding, coaching, and collaboration
- Managing technical risks
- Analyzing and evaluating an architecture
Making Architecture Decisions in Development Teams
- Collecting and documenting issues
- Establishing a community of practice
- Creating a responsibility assignment matrix
Learning About Architecture Descriptions
- Viewpoints and frameworks
- Description languages
Visualizing the Software Architecture
- Communication and shared vocabulary
- Models and diagrams
- Architectural patterns
Documenting the Software Architecture
- Documentation as a guidebook
- Components
Understanding Standards, Decay, and Recovery
- International standards
- Solving process divergence
Getting Involved in the Delivery Process
- Where architecture fits in the process
- Relationship to organizational structure
- Building agile designs
Summary and Conclusion
Requirements
- Knowledge of software design, development, or testing
Audience
- Senior engineers
- Junior engineers
- Developers
Testimonials (3)
I liked the exercises that helped to open the mind and gain new insights into software architecture.
Gabriele - EAGLEPROJECTS S.p.A.
Course - Architecture and Design: Core + Advanced Training
Structured and funny
Valentin Pravtchev - Carmeq GmBH
Course - Learning CMake
I found the course structure to be very well thought out. While some of my colleagues failed to see Kristin's intentions I feel that the way he presented the material and managed to connect basic concepts with a much broader set of complex issues was spot on.