Scrum & Agile Mastery

Cơ bản 10 tuần 5 bài học
50 phút

Agile Fundamentals và Mindset

Agile Fundamentals và Mindset

Agile là gì?

Agile là một tập hợp các nguyên tắc và phương pháp phát triển phần mềm, tập trung vào việc cung cấp giá trị nhanh chóng, thích ứng với thay đổi và cải tiến liên tục.

Agile Manifesto (2001)

4 Giá trị cốt lõi

1. Cá nhân và tương tác HƠN quy trình và công cụ
2. Phần mềm chạy được HƠN tài liệu đầy đủ
3. Cộng tác với khách hàng HƠN đàm phán hợp đồng
4. Phản hồi với thay đổi HƠN tuân thủ kế hoạch

(Trong khi vẫn có giá trị ở vế phải, chúng ta đánh giá cao vế trái hơn)

12 Nguyên tắc Agile

1. Ưu tiên cao nhất: thỏa mãn khách hàng qua giao hàng sớm và liên tục
2. Chấp nhận yêu cầu thay đổi, ngay cả muộn
3. Giao hàng thường xuyên (2 tuần - 2 tháng)
4. Business và Dev làm việc cùng nhau hàng ngày
5. Xây dựng dự án xung quanh cá nhân có động lực
6. Truyền đạt trực tiếp (face-to-face)
7. Phần mềm chạy được là thước đo chính
8. Phát triển bền vững
9. Chú ý đến excellence kỹ thuật
10. Đơn giản - tối đa hóa công việc không cần làm
11. Kiến trúc, yêu cầu, thiết kế nổi lên từ self-organizing teams
12. Định kỳ phản tư và điều chỉnh

Agile vs Waterfall

Waterfall

Requirements → Design → Development → Testing → Deployment

Characteristics:
- Sequential
- Big design upfront
- Long delivery cycles (6-24 months)
- Changes expensive
- Document-driven
- Working software at end

Agile

Iteration 1: Req → Design → Dev → Test → Deploy
Iteration 2: Req → Design → Dev → Test → Deploy
Iteration 3: ...

Characteristics:
- Iterative & Incremental
- Just enough design
- Short iterations (1-4 weeks)
- Welcome changes
- Working software each iteration
- Customer collaboration

Khi nào dùng cái nào?

Waterfall tốt khi:
- Yêu cầu rõ ràng, cố định
- Dự án nhỏ, ngắn
- Regulatory requirements
- Fixed-price contract
- Team nhỏ, senior

Agile tốt khi:
- Yêu cầu thay đổi
- Dự án phức tạp, dài
- Customer available
- Team có thể self-organize
- Time-to-market quan trọng

Agile Mindset

Growth Mindset

Fixed Mindset:
- "Tôi không thể làm được"
- Tránh thử thách
- Bỏ cuộc khi khó
- Bỏ qua feedback

Growth Mindset:
- "Tôi chưa làm được"
- Chấp nhận thử thách
- Kiên trì
- Học từ feedback

Empirical Process

3 trụ cột:
1. Transparency: Thông tin minh bạch cho tất cả
2. Inspection: Kiểm tra thường xuyên
3. Adaptation: Điều chỉnh khi cần

Chu kỳ: Transparent → Inspect → Adapt → Repeat

Servant Leadership

Scrum Master là servant-leader:
- Không ra lệnh
- Phục vụ team
- Loại bỏ obstacles
- Coach và mentor
- Tạo môi trường phát triển

Agile Frameworks

Scrum (Chi tiết ở lesson sau)

- Iterations: 2-4 tuần (Sprints)
- Roles: PO, SM, Dev Team
- Artifacts: Product Backlog, Sprint Backlog, Increment
- Ceremonies: Planning, Daily, Review, Retro
- Phổ biến nhất

Kanban

- Continuous flow (không iterations)
- Visual board
- WIP limits
- Pull system
- Lead time, Cycle time
- Tốt cho support/maintenance

XP (Extreme Programming)

- Pair programming
- TDD (Test-Driven Development)
- Continuous Integration
- Small releases
- Refactoring
- Simple design

SAFe (Scaled Agile Framework)

- Enterprise-scale Agile
- Multiple teams
- Release Trains
- PI Planning
- Tốt cho organizations lớn

LeSS (Large-Scale Scrum)

- Scaling Scrum
- Multiple teams, one product
- One PO, one backlog
- Simple as possible

Nexus

- Scrum.org framework
- 3-9 teams
- Nexus Integration Team
- Nexus Sprint

Agile Metrics

Velocity

Story Points hoàn thành mỗi Sprint

Ví dụ:
Sprint 1: 25 points
Sprint 2: 28 points
Sprint 3: 32 points
Sprint 4: 30 points
Sprint 5: 35 points
Average: 30 points

Dùng để:
- Forecast (không so sánh teams)
- Không dùng làm KPI
- Team tự nguyện dùng

Burndown Chart

- Trục X: Thời gian (ngày)
- Trục Y: Work remaining (points/hours)
- Đường lý tưởng: từ tổng work → 0
- Đường thực tế: theo dõi hàng ngày

Đọc:
- Phía trên đường lý tưởng → chậm
- Phía dưới → nhanh
- Đường phẳng → không tiến triển

Burnup Chart

- Tổng scope (thay đổi?)
- Work completed
- So sánh hai đường

Ưu điểm so với burndown:
- Thấy scope changes
- Thấy progress rõ hơn

Lead Time & Cycle Time

Lead Time: Từ khi tạo request → khi deliver
Cycle Time: Từ khi bắt đầu work → khi deliver

Ví dụ:
- Ticket tạo: 1/1
- Bắt đầu: 1/3
- Hoàn thành: 1/5
- Lead time: 4 ngày
- Cycle time: 2 ngày

Cumulative Flow Diagram (CFD)

Stacked area chart theo thời gian:
- Y: Số items ở mỗi state
- X: Thời gian

Đọc:
- Band width: WIP
- Song song: flow ổn định
- Mở rộng: backlog tăng
- Thu hẹp: problem

Bài tập thực hành

Hãy so sánh Agile vs Waterfall cho 1 dự án cụ thể!

Bài tập 1