LeadershipTechnical ManagerCommunication and Influence

Session 03 - Presenting Architecture

C4 Model Overview

C4 Model (Simon Brown) cung cấp 4 levels of abstraction để communicate architecture. Mỗi level phục vụ audience khác nhau.

4 Levels

LevelNameAudienceShowsAnalogy
Level 1System ContextEveryoneHệ thống trong bối cảnh users và external systemsGoogle Maps zoom out max
Level 2ContainerTechnical + ManagementApplications, databases, message queuesZoom vào thành phố
Level 3ComponentDevelopersComponents bên trong 1 containerZoom vào quận/huyện
Level 4CodeDevelopers (optional)Classes, interfacesZoom vào đường phố

Khi nào dùng level nào

Present cho CTO/VP           → Level 1 (Context)
Present cho Engineering team  → Level 1 + 2 (Context + Container)
Design review với dev team    → Level 2 + 3 (Container + Component)
Onboarding new developer      → Level 2 + 3
Code-level discussion         → Level 4 (hiếm khi cần formal diagram)

C4 Diagrams với Mermaid

Level 1 - System Context Diagram

Level 2 - Container Diagram

Mermaid Tips

TipMô tả
SubgraphGroup related elements cho clarity
DirectionTB (top-bottom) cho hierarchy, LR (left-right) cho flow
LabelsLuôn có Name<br/>Technology trong mỗi box
Keep simpleMax 15-20 elements per diagram, split nếu nhiều hơn
Color codingDùng style hoặc classDef để phân biệt types
Version controlMermaid as code → commit cùng source code

Architecture Presentation Structure

[5 phút]  Context & Problem
           → Tại sao cần architecture này?
           → Business driver là gì?

[5 phút]  Current State
           → Hệ thống hiện tại (Level 1 diagram)
           → Pain points cụ thể (với data)

[10 phút] Proposed Solution
           → Level 2 diagram (containers)
           → Key design decisions
           → Data flow cho main use cases

[10 phút] Trade-offs & Alternatives
           → Tại sao chọn approach này?
           → Đã consider gì khác?
           → What we're giving up

[5 phút]  Implementation Plan
           → Phases, timeline, milestones
           → Migration strategy

[5 phút]  Q&A
           → Prepared answers cho anticipated questions

Slide Template

SlideContentDiagram Type
1. TitleArchitecture Proposal: [Name]None
2. ProblemBusiness context, pain points, dataNone / current state
3. ContextSystem in ecosystemC4 Level 1
4. ContainersTechnical componentsC4 Level 2
5. Key FlowMain use case walkthroughSequence diagram
6. Trade-offsComparison tableTable
7. PlanTimeline, phasesGantt / roadmap
8. AskDecision/resource neededNone

Presenting to Different Audiences

Technical Audience (Developers, Architects)

DoDon't
Show trade-offs và reasoningJust show final design
Discuss failure scenariosOnly happy path
Include performance numbersVague "it's fast"
Welcome challengesGet defensive
Show code samples cho complex partsOnly high-level

Non-Technical Audience (PM, Business, Executives)

DoDon't
Lead với business impactLead với technology
Use analogiesUse jargon
Show before/after metricsShow architecture details
Focus on timeline và costFocus on how it works
1 simple diagram maxMultiple complex diagrams

Analogy Examples

Technical ConceptBusiness Analogy
Microservices"Thay vì 1 nhà máy làm mọi thứ, chia thành nhiều xưởng chuyên biệt"
Load balancer"Giống nhân viên hướng dẫn ở quầy, chia khách đều cho các cashier"
Database replication"Bản sao dự phòng - nếu kho chính gặp sự cố, kho phụ tiếp tục hoạt động"
Message queue"Hòm thư giữa các phòng ban - gửi yêu cầu vào, bên kia xử lý khi sẵn sàng"
Circuit breaker"Cầu dao điện - ngắt tự động khi quá tải để bảo vệ hệ thống"
Caching"Giống sticky note trên bàn - ghi lại thông tin hay dùng thay vì mở tủ hồ sơ mỗi lần"

Architecture Review Meeting Facilitation

Meeting Structure

Pre-meeting:
  - Share design doc ít nhất 2 ngày trước
  - Yêu cầu reviewers đọc trước và ghi comments
  - Define scope: review gì (security? scalability? cost?)

During meeting (60 phút):
  [0-10]  Author presents overview (KHÔNG đọc doc)
  [10-40] Structured discussion theo categories
  [40-50] Open Q&A
  [50-60] Decisions và action items

Post-meeting:
  - Update design doc với decisions
  - Send summary email với action items
  - Schedule follow-up nếu cần

Review Categories Checklist

CategoryKey Questions
FunctionalCó meet requirements không? Missing use cases?
ScalabilityHandle 10x traffic thế nào? Bottlenecks ở đâu?
ReliabilitySingle points of failure? Recovery time?
SecurityAuthentication, authorization, data protection?
OperabilityMonitoring, alerting, debugging, deployment?
CostInfrastructure cost reasonable? Hidden costs?
ComplexityCó quá complex không? Team maintain được không?
MigrationMigration path từ current state? Rollback plan?

Decision Framework

After discussion, categorize:

APPROVED:     Ready to proceed
APPROVED WITH CONDITIONS: Proceed nhưng cần address [specific items]
NEEDS REVISION: Major concerns, revise và review lại
REJECTED:     Fundamental issues, consider alternative approach

Visual Storytelling

Principles

PrincipleApplication
Progressive disclosureBắt đầu simple (Level 1), drill down dần
Highlight what mattersDùng color/bold cho phần đang discuss
Before → AfterShow current state vs proposed state
Animation/BuildReveal diagram từng phần (trong slides)
Consistent notationCùng shape = cùng type (rectangle = service, cylinder = DB)

Color Convention

ElementColorMeaning
New/ChangedGreen / BluePhần thay đổi
ExistingGrayGiữ nguyên
DeprecatedRed / StrikethroughSẽ bỏ
ExternalOrangeThird-party
Focus areaBold borderĐang discuss

Diagram Dos and Don'ts

DO:
  ✓ Mỗi diagram có title và legend
  ✓ Label mọi arrows (data flow, protocol)
  ✓ Include technology trong box labels
  ✓ Max 15 elements per diagram
  ✓ Consistent layout direction

DON'T:
  ✗ Diagram quá phức tạp, nhiều crossing lines
  ✗ Missing labels trên connections
  ✗ Mix abstraction levels trong 1 diagram
  ✗ Diagram không có context (title, scope)
  ✗ Quá đẹp mà không informative