Bảng Điều Khiển Ôn Tập Android

Kotlin • MVVM • Flow • REST API • Compose • Testing

Về lộ trình Product Owner
Tuần 3Thực thi — Backlog, Scrum/Kanban & Collaboration

Biến chiến lược thành backlog team có thể giao

Sở hữu backlog rõ ràng, viết story/AC tốt và dẫn dắt delivery cùng UI/UX, Dev, QA.

Team Operating Model

Workflow, working agreement, WIP và ceremony cadence.

Story Map & Backlog

User journey, release slice và 12–15 user stories.

Quality Contract

Acceptance Criteria, Definition of Ready và Done.

Delivery Pack

Refinement agenda, Sprint Goal, release plan và blocker log.

1Ngày 15 — Agile, Scrum và Kanban thực chiến

Agile là khả năng tạo value sớm, học và thích nghi dưới uncertainty; không đồng nghĩa nhiều meeting. Scrum tạo cadence cố định với Product Goal, Sprint Goal và Increment; Kanban tối ưu flow bằng visualization, WIP và pull; Scrumban kết hợp cadence với flow. Chọn operating model theo loại demand, mức interrupt, khả năng tạo Sprint Goal và nhu cầu feedback.

  • Scrum có ba accountabilities: Product Owner, Scrum Master, Developers — không có Project Manager role bên trong Scrum Team.
  • Sprint Review để inspect outcome/Increment với stakeholder, không phải buổi demo lấy chữ ký.
  • Kanban đo lead time, cycle time, throughput, WIP và aging.
  • WIP limit làm bottleneck lộ ra; tăng WIP thường chỉ tăng chờ đợi.
  • Working agreement ghi policy team cùng sở hữu, không phải nội quy PO áp xuống.

Mẹo

Developer → PO: Anh đã sống trong ceremony; bây giờ hãy đánh giá ceremony có giúp transparency, inspection, adaptation và value hay chỉ tạo status meeting.

Template thực hành

Team Operating Model

Copy khung này sang Notion/Confluence, tự điền bằng evidence của LinguaFlow rồi ghi nguồn cho từng quyết định.

CONTEXT
- Product uncertainty:
- Demand/interrupt pattern:
- Release cadence:

MODEL: Scrum / Kanban / Scrumban
WHY:

WORKFLOW
Discovery → Ready → In Progress → Review/Test → Done

POLICIES
- Entry/exit criteria:
- WIP limits:
- Expedite rule:
- Blocker rule:

CADENCE
- Planning/Replenishment:
- Review:
- Retro:
- Metrics review:

WORKING AGREEMENT
- Communication:
- Decision:
- Quality:
- Availability:

Ghi nhớ

Thực hành: Chọn operating model cho team LinguaFlow vừa làm roadmap vừa nhận production incident. Giải thích vì sao không chọn hai model còn lại. Câu hỏi phỏng vấn: Scrum Team liên tục bị ticket khẩn chen vào Sprint. Anh sẽ thay đổi hệ thống thế nào thay vì trách team thiếu commitment?

2Ngày 16 — Cấu trúc Product Backlog và Story Mapping

Product Backlog là danh sách sống, có thứ tự và gắn Product Goal; không phải kho chứa mọi ý tưởng. Epic/Feature giúp nhóm scope, User Story mô tả value slice, Enabler mở khả năng kỹ thuật, Task là công việc, Bug là chênh lệch hành vi mong đợi. Story Mapping đặt user activities theo chiều ngang và detail theo chiều dọc, rồi cắt release slice end-to-end.

  • Order backlog bằng value, risk, learning, dependency và cost of delay.
  • Vertical slice đi qua UI–logic–data đủ để người dùng nhận value/test learning.
  • Horizontal slice kiểu “làm DB trước, UI sau” khó demo value và tích hợp muộn.
  • Enabler/technical debt vẫn có outcome/risk và acceptance rõ.
  • Backlog càng xa càng ít detail; refinement đúng lúc tránh inventory requirement.

Backlog Flow • Done chưa phải điểm kết thúc

1

Discovery

Problem/evidence

2

Refinement

Split/risk/AC

3

Ready

Đủ rõ để kéo

4

Sprint

Build & collaborate

5

Done

Đạt DoD

6

Learn

Measure & adapt

Learning mới quay lại Discovery và thay đổi thứ tự Product Backlog.

Mẹo

Developer → PO: Đừng biến kiến trúc layer thành cách cắt backlog. Kiến trúc tốt ở code, nhưng story tốt nên tạo behavior end-to-end nhỏ.

Template thực hành

Story Map & Backlog Skeleton

Copy khung này sang Notion/Confluence, tự điền bằng evidence của LinguaFlow rồi ghi nguồn cho từng quyết định.

PRODUCT GOAL:
PRIMARY PERSONA/JTBD:

ACTIVITIES (backbone)
Discover → Start lesson → Practice → See progress → Return

TASKS UNDER EACH ACTIVITY
- Activity:
  - User task:
  - Pain/risk:

RELEASE 1 — MVP SLICE
- End-to-end journey:
- Learning/value:

RELEASE 2
- Improvements:

BACKLOG ITEM
- Type: Epic / Feature / Story / Enabler / Bug
- Outcome link:
- Dependency:
- Order rationale:

Ghi nhớ

Thực hành: Vẽ story map onboarding→bài học đầu→progress→return và cắt một MVP slice có thể học được hành vi activation. Câu hỏi phỏng vấn: Backlog 500 item có phải backlog tốt vì không bỏ sót yêu cầu không?

3Ngày 17 — User Story tập trung vào giá trị

User Story là lời mời hội thoại về một value slice, không phải mini contract. Format “As a / I want / So that” hữu ích khi làm rõ actor–need–value nhưng không bắt buộc nếu câu bị gượng. INVEST giúp kiểm tra story có độc lập tương đối, thương lượng được, có value, estimate được, đủ nhỏ và test được. Story tốt nói behavior/outcome; implementation detail được team thảo luận và ghi ở task/design khi cần.

  • “As a PO I want API endpoint” thường là task/enabler, không phải user value.
  • Cắt theo workflow step, business rule, data variation, happy path/edge path hoặc operation.
  • Không tách UI/API/database thành ba story nếu chỉ hoàn thành cả ba mới có behavior.
  • Story có thể chứa analytics expectation và non-functional constraint liên quan.
  • Negotiable không có nghĩa mơ hồ; goal và acceptance phải đủ rõ.

Mẹo

Developer → PO: Dùng hiểu biết kỹ thuật để đề xuất cách cắt ít coupling, nhưng để Developers sở hữu task/solution chi tiết.

Template thực hành

User Story Canvas

Copy khung này sang Notion/Confluence, tự điền bằng evidence của LinguaFlow rồi ghi nguồn cho từng quyết định.

TITLE: [Behavior ngắn]
OUTCOME LINK:

STORY
As a [user/context]
I want [need/capability]
So that [value/progress]

CONVERSATION NOTES
- Current behavior:
- Business rule:
- UX reference:
- Data/analytics:
- NFR/accessibility:

ACCEPTANCE CRITERIA
1.
2.
3.

OUT OF SCOPE:
DEPENDENCIES:
OPEN QUESTIONS:
INVEST CHECK: I N V E S T

Ghi nhớ

Thực hành: Viết 12–15 story cho MVP, sau đó chọn ba story quá lớn và cắt thành vertical slice. Câu hỏi phỏng vấn: Khi nào anh không dùng format User Story mà dùng job story, hypothesis hoặc plain requirement?

4Ngày 18 — Acceptance Criteria, DoR và DoD

Acceptance Criteria mô tả hành vi/điều kiện riêng của một backlog item; Given–When–Then giúp rõ context–action–outcome. Definition of Done là chuẩn chất lượng chung của Increment; Definition of Ready là working agreement tùy chọn giúp nhìn readiness nhưng không phải artifact chính thức của Scrum và không nên biến thành cổng quan liêu. Một story có AC tốt vẫn chưa Done nếu chưa đạt test, review, security, analytics hoặc release standard trong DoD.

  • AC bao phủ happy path, validation, permission, error/recovery và rule quan trọng.
  • Không mô tả pixel/implementation thừa khi đã có design reference.
  • DoD áp dụng nhất quán, được Developers sở hữu và nâng dần theo khả năng.
  • DoR không dùng để từ chối collaboration; item chưa rõ cần conversation/refinement.
  • NFR như performance, accessibility, privacy có thể nằm trong DoD hoặc AC tùy phạm vi.

Mẹo

Developer → PO: Test case và edge-case thinking là lợi thế. Nhưng đừng viết AC như code path; mô tả behavior quan sát được và để QA/Dev cùng mở rộng.

Template thực hành

AC + DoR + DoD

Copy khung này sang Notion/Confluence, tự điền bằng evidence của LinguaFlow rồi ghi nguồn cho từng quyết định.

STORY:

AC — GIVEN / WHEN / THEN
1. Given ...
   When ...
   Then ...

EDGE CASES
- Empty/loading/error:
- Permission/network:
- Duplicate/retry:
- Analytics:
- Accessibility:

DEFINITION OF READY (working agreement)
[ ] Outcome/value rõ
[ ] AC đủ cho conversation
[ ] Dependency/risk đã lộ
[ ] Design/data cần thiết có sẵn
[ ] Đủ nhỏ để team nhận

DEFINITION OF DONE
[ ] Code review + automated tests
[ ] AC pass
[ ] Analytics verified
[ ] Accessibility/security/privacy
[ ] Docs/release notes
[ ] Deployable Increment

Ghi nhớ

Thực hành: Viết AC cho “hoàn thành bài học và duy trì streak”, gồm timezone, offline, retry và event tracking. Câu hỏi phỏng vấn: DoR có phải artifact bắt buộc của Scrum không? Làm sao dùng DoR mà không tạo waterfall mini?

5Ngày 19 — Refinement, Sprint Goal và release

Refinement là hoạt động liên tục làm backlog item rõ/nhỏ/ordered đủ cho quyết định; không phải ceremony bắt buộc có format cố định. Sprint Planning chọn Sprint Goal trước rồi chọn work phù hợp. Sprint Goal tạo coherence và flexibility: có thể thương lượng scope khi vẫn giữ goal. Release planning kết nối Increment, dependency, readiness, rollout và feedback; release không nhất thiết trùng cuối Sprint.

  • Agenda refinement theo decision/risk, không đọc từng ticket từ trên xuống.
  • PO mang context/outcome/order; Developers mang feasibility/estimate/plan; QA/UIUX mang quality/usability.
  • Estimate là forecast của team, không phải cam kết cá nhân.
  • Scope change trong Sprint được PO và Developers thương lượng, không làm nguy hiểm Sprint Goal.
  • Release readiness gồm feature flag, monitoring, support/operation, rollback và communication.

Mẹo

Developer → PO: Đừng dùng velocity làm KPI năng suất hoặc ép estimate. Dùng forecast để quản lý option/risk và tập trung cycle time, quality, outcome.

Template thực hành

Refinement & Release Pack

Copy khung này sang Notion/Confluence, tự điền bằng evidence của LinguaFlow rồi ghi nguồn cho từng quyết định.

REFINEMENT AGENDA (60’)
1. Product Goal/outcome — 5’
2. Item cần decision — 15’
3. Risk/dependency — 15’
4. Story/AC conversation — 20’
5. Decision/owner — 5’

SPRINT GOAL
Chúng ta sẽ [outcome/capability]
để [value], được kiểm chứng bởi [signal].

RELEASE READINESS
[ ] DoD / regression
[ ] Feature flag / rollout
[ ] Analytics / monitoring
[ ] Support/Operation
[ ] Privacy/Play policy
[ ] Rollback / owner
[ ] Stakeholder message

Ghi nhớ

Thực hành: Chuẩn bị refinement cho ba story có uncertainty khác nhau và viết Sprint Goal không phải danh sách ticket. Câu hỏi phỏng vấn: Giữa Sprint Business muốn chen feature khẩn. Anh ra quyết định dựa trên gì?

6Ngày 20 — Cross-functional collaboration, blocker và tool

PO tạo clarity và flow bằng collaboration, không ném requirement qua hàng rào. UI/UX cần problem, user, constraint và success signal; Dev cần outcome, rule, dependency và decision speed; QA cần risk, observable behavior và quality expectation. Jira/ClickUp phản ánh workflow thật; Notion/Confluence giữ context/decision; Figma/Miro trực quan hóa; AI chỉ draft/sparring partner và mọi output phải được kiểm chứng.

  • Blocker log có impact, owner, next action, due date và escalation rule.
  • Tách blocker khỏi status; tập trung điều kiện để gỡ chứ không tìm người chịu lỗi.
  • Feature spec vừa đủ link tới goal, design, story, AC, analytics và decision.
  • Không duplicate source of truth giữa Jira và Confluence: link, không copy rồi lệch.
  • AI không được nhận dữ liệu nhạy cảm; ghi rõ phần AI hỗ trợ và phần PO xác minh.

Mẹo

Developer → PO: Anh có thể dịch hai chiều technical ↔ business. Hãy dùng năng lực đó để làm constraint và option dễ hiểu, không để PO thành single point of translation.

Template thực hành

Feature Spec & Blocker Log

Copy khung này sang Notion/Confluence, tự điền bằng evidence của LinguaFlow rồi ghi nguồn cho từng quyết định.

FEATURE SPEC
- Outcome / Product Goal link:
- Customer/problem/evidence:
- Scope / out of scope:
- UX link:
- Stories / AC:
- Analytics:
- NFR/privacy:
- Dependencies:
- Open decisions + owner:

BLOCKER LOG
| Blocker | Impact | Owner | Next action | Due | Escalate when |
|---------|--------|-------|-------------|-----|---------------|

AI VERIFICATION NOTE
- AI dùng để:
- Input đã ẩn dữ liệu:
- Claims đã kiểm tra:
- PO decision:

Ghi nhớ

Thực hành: Tạo board To discover→Ready→In progress→Review/Test→Done, đặt WIP và điền blocker QA/analytics/dependency. Câu hỏi phỏng vấn: Requirement thay đổi nhiều. Anh làm sao giữ documentation đủ tin cậy mà không làm team chậm?

7Ngày 21 — Checkpoint: điều hành refinement và xử lý release conflict

Tình huống: Dev báo tích hợp speech scoring trễ ba ngày; QA phát hiện lỗi tính streak sai timezone có thể ảnh hưởng retention; Business đã lên lịch campaign và không muốn lùi. PO không tự quyết kỹ thuật hay ép QA bỏ qua. PO làm rõ severity/customer impact, option scope/flag/rollback, Sprint/Product Goal, campaign dependency và decision right; sau đó đưa recommendation minh bạch.

  • Dừng tranh luận solution, thống nhất fact và unknown.
  • QA trình severity/repro; Dev trình option/effort; Business trình cost; PO tổng hợp value/risk.
  • Không coi quality là biến miễn phí; lỗi làm sai promise cốt lõi là guardrail.
  • Có thể tắt speech scoring, giữ core lesson, hoãn campaign hoặc rollout nhỏ.
  • Ghi decision, owner, monitoring và trigger rollback.

Mẹo

Developer → PO: Kỹ thuật giúp anh thấy option, nhưng facilitation tốt là để đúng chuyên môn cung cấp input rồi chốt theo product risk.

Template thực hành

Release Conflict Decision

Copy khung này sang Notion/Confluence, tự điền bằng evidence của LinguaFlow rồi ghi nguồn cho từng quyết định.

FACTS
- Customer impact:
- Repro/severity:
- Campaign/business impact:
- Technical options:

PRODUCT GOAL / GUARDRAIL:

OPTIONS
| Option | Value | Time | Quality risk | Business impact | Reversible? |
|--------|-------|------|--------------|-----------------|-------------|

RECOMMENDATION:
DECISION OWNER:
MITIGATION:
MONITORING:
ROLLBACK TRIGGER:
MESSAGE TO STAKEHOLDERS:

Ghi nhớ

Thực hành: Chạy role-play 25 phút: 5 phút context, 10 phút clarification, 5 phút options, 5 phút decision. Tự chấm clarity, inclusion và decisiveness. Câu hỏi phỏng vấn: Kể lần anh phải chọn giữa deadline và quality. Anh dùng dữ liệu, option và communication thế nào?

Flashcard tuần này

Tự giải thích từng thuật ngữ bằng ví dụ LinguaFlow trước khi lật thẻ để đối chiếu.

Câu hỏi tự kiểm tra

Trả lời thành tiếng, không nhìn bài. Chỗ nào không giải thích được bằng ví dụ và trade-off thì quay lại section tương ứng.

  1. 1Khi nào dùng Scrum, Kanban hoặc Scrumban?
  2. 2Epic, Feature, Story, Task và Bug khác nhau thế nào?
  3. 3Cắt một story ngang layer thành vertical slice.
  4. 4Viết ba Acceptance Criteria Given–When–Then cho streak.
  5. 5DoR khác DoD và Acceptance Criteria ở đâu?
  6. 6QA chặn release còn Business ép deadline: PO cần làm gì trước?

Checklist năng lực

Chỉ tick khi anh có thể tự làm hoặc giải thích

0/7