Product Management
Đăng nhập
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Story map: Xương sống, walking skeleton và lát cắt phát hành

Đã đọc 0/12 mục · còn khoảng 9 phút
Cách chúng tôi ghi nhận

Một mục được tính là đã đọc khi nó nằm giữa màn hình đủ lâu so với độ dài của nó (bảng và sơ đồ tính một nửa), bạn vẫn đang cuộn hoặc bấm phím, và bạn đã thấy tới cuối mục. Lướt nhanh hoặc để tab mở không được tính. Chúng tôi chỉ lưu thời gian đọc từng mục — không lưu gì khác.

Vì sao chủ đề quan trọng

Bài 1 cho bạn một danh sách tính năng có bằng chứng: biết món còn hay hết trước khi đi, có phần cơm chờ sẵn khi tan lớp, nhận món đúng khung giờ. Nếu đổ thẳng danh sách đó vào backlog thành một cột dài, bạn sẽ mất hai thứ. Thứ nhất là bối cảnh: không ai thấy story "chọn khung giờ nhận" nằm ở đâu trong một bữa trưa. Thứ hai là khả năng cắt: bạn không biết phải làm gì tối thiểu để có một thứ chạy được từ đầu tới cuối.

Chị Lan đặt một ràng buộc rất cụ thể: "Học kỳ 2 phải chạy thử được ở một quầy." Đó không phải yêu cầu làm một nửa ứng dụng. Đó là yêu cầu làm một ứng dụng mỏng nhưng trọn vẹn, để một sinh viên thật ở quầy cơm thật đặt được một suất thật và ăn được. Story map là công cụ giúp bạn thấy chỗ cắt đó.

Bài này nhận đầu vào là danh sách tính năng của bài 1 và future journey của khóa Persona & User Journey dựa trên bằng chứng. Đầu ra là một story map có xương sống, có lát cắt phát hành, và một walking skeleton cho đợt chạy thử.

Bức tranh lớn

Bản đồ câu chuyện người dùng (story map), do Jeff Patton phổ biến, có ba lớp:

  • Xương sống (backbone): hàng trên cùng, các hoạt động lớn theo thứ tự thời gian, viết bằng động từ. Đọc từ trái sang phải là kể lại một bữa trưa.
  • Các story: xếp dọc dưới mỗi hoạt động, càng lên trên càng cần thiết.
  • Lát cắt phát hành (release slice): các đường kẻ ngang cắt qua toàn bộ bản đồ. Mỗi lát là một bản phát hành có thể dùng được.
Lát đầu tiên có tên riêng: khung xương biết đi (walking skeleton). Nó là phiên bản mỏng nhất mà vẫn đi hết mọi hoạt động trong xương sống. Mỏng theo chiều dọc, đủ theo chiều ngang.

Với Căng tin số, xương sống có hai làn. Làn trên là sinh viên. Làn dưới là phía căng tin, vì ứng dụng chỉ chạy được khi người nấu và người bán cũng làm phần việc của mình.

flowchart TD
    subgraph SV[Làn sinh viên]
    A1[Xem thực đơn] --> A2[Đặt món]
    A2 --> A3[Thanh toán]
    A3 --> A4[Nhận món]
    A4 --> A5[Phản hồi]
    end
    subgraph CT[Làn căng tin]
    B1[Chốt thực đơn] --> B2[Nấu theo đơn]
    B2 --> B3[Giao món]
    B3 --> B4[Đối soát]
    end
    B1 -.-> A1
    A3 -.-> B2
    B3 -.-> A4
    A5 -.-> B4

Những mũi tên đứt nét là chỗ hai làn chạm nhau. Đó cũng là nơi lỗi hay xảy ra nhất, vì mỗi làn do một nhóm người khác nhau làm.

Ví dụ chi tiết

Bước 1. Dựng xương sống từ journey. Lấy future journey của Minh Anh, gộp các bước nhỏ thành hoạt động. Phía sinh viên: Xem thực đơn → Đặt món → Thanh toán → Nhận món → Phản hồi. Phía căng tin lấy từ lời các bên liên quan. Anh Tuấn: "Thực đơn ngày mai chốt lúc 4 giờ chiều hôm trước" thành Chốt thực đơn. Cô Hạnh: "Cô nấu theo mẻ từ 10 giờ 30" thành Nấu theo đơn. Nhân viên quầy trao suất cho người đặt thành Giao món. Anh Tuấn: "Cuối ngày tôi mất cả tiếng đối soát tiền mặt với chuyển khoản" thành Đối soát.

Bước 2. Treo story dưới mỗi hoạt động. Viết ngắn, mỗi thẻ một ý. Dưới Đặt món có: chọn suất cơm theo R1, chọn khung giờ nhận, sửa hoặc hủy đơn trước 10:00, đặt theo nhóm 20–30 suất. Dưới Nấu theo đơn có: xem tổng số suất theo món lúc 10:00, in danh sách cho bếp. Cô Hạnh nói "Giờ cao điểm cô không cầm điện thoại được", nên mọi thứ cho bếp phải là bản in hoặc màn hình treo, không phải điện thoại.

Bước 3. Kẻ lát cắt. Câu hỏi cho lát đầu: "Thiếu thẻ nào thì một sinh viên ở quầy cơm không thể đặt, trả, nhận và ăn một suất?" Mọi thẻ không qua được câu hỏi này đều xuống lát dưới.

Hoạt độngLát 1 walking skeletonLát 2Lát 3
Xem thực đơnThực đơn quầy cơm và trạng thái còn hay hếtThành phần và chất gây dị ứngThực đơn cả 6 quầy
Đặt mónMột suất theo R1, chọn khung giờ, chốt 10:00Sửa và hủy đơnĐặt theo nhóm cho sự kiện
Thanh toánChuyển khoản QR trả trước, đối chiếu tayXác nhận tự độngPhiếu suất hỗ trợ theo R4
Nhận mónĐọc mã đơn 4 số ở quầyTự giải phóng phần sau 30 phút theo R3Ẩn loại thanh toán khi nhận
Phản hồiMột ô góp ý gửi thẳng Anh TuấnĐánh giá từng mónBáo cáo cho Chị Lan
Chốt thực đơnAnh Tuấn nhập món trước 16:00Sao chép thực đơn tuần trướcĐổi món trong ngày khi hết
Nấu theo đơnBản in tổng suất theo món lúc 10:00Màn hình bếpGợi ý lượng nấu theo lịch sử
Giao mónDanh sách đơn theo khung giờ trên máy tính bảngĐánh dấu đã giao bằng một chạmQuét mã QR trên điện thoại
Đối soátXuất file đơn đã trả và đã nhậnKhớp tự động với sao kêHoàn tiền do quản lý duyệt theo R6
Đọc hàng Lát 1 từ trên xuống: đó là một bữa trưa trọn vẹn, dù thô. Thanh toán còn đối chiếu tay, phản hồi chỉ là một ô văn bản, bếp dùng giấy in. Nhưng một sinh viên có lớp 12:45 đã có thể đặt từ tối hôm trước và nhận suất lúc 11:35 mà không xếp hàng.

Bước 4. Kiểm tra lát 1 với các ràng buộc đã biết. Đăng nhập: Chị Lan yêu cầu "bằng mã số sinh viên qua hệ thống của trường", nên lát 1 chỉ mở cho sinh viên. Giảng viên và nhân viên trường, những người Anh Tuấn nhắc tới, chờ lát 3 cùng cách giải mâu thuẫn C2. Thanh toán: lát 1 theo ý Anh Tuấn, trả trước. Nỗi lo của Minh Anh "lỡ ra tới nơi hết món" được trả lời bằng chính việc đặt trước: phần đã trả là phần đã giữ. Giờ chốt: 10:00 theo Cô Hạnh, không phải 11:15, vì bếp không nấu kịp.

Bước 5. Đặt mục tiêu cho từng lát. Mỗi lát cần một câu "phát hành để học điều gì". Lát 1: có ít nhất 50 suất đặt trước mỗi ngày ở quầy cơm không, và bếp có làm việc được với bản in không. Lát 2: tự động hóa có bớt được giờ đối soát của Anh Tuấn không. Lát 3: mở rộng có giữ được chất lượng không.

flowchart TD
    S[Story map đầy đủ] --> Q{Thiếu thẻ này thì có ăn được một suất không}
    Q -->|Không ăn được| L1[Lát 1 walking skeleton]
    Q -->|Vẫn ăn được| Q2{Có giúp học điều lát 2 cần học}
    Q2 -->|Có| L2[Lát 2]
    Q2 -->|Không| L3[Lát 3 hoặc sau]
    L1 --> P[Chạy thử ở quầy cơm học kỳ 2]
    P --> R[Đo và điều chỉnh map]
    R --> S

Mẫu để dùng ngay

Tải mẫu: Story map và user story (Excel)

Nếu chưa tải, chép khung sau ra giấy hoặc bảng tính. Mỗi dòng là một thẻ story.

Làn        | Hoạt động     | Story ngắn                       | Lát | Bằng chứng
Sinh viên  | Đặt món       | Chọn khung giờ nhận              | 1   | Minh Anh, lớp 12:45
Căng tin   | Nấu theo đơn  | In tổng suất theo món lúc 10:00  | 1   | Cô Hạnh, không cầm điện thoại
Sinh viên  | Xem thực đơn  | Xem chất gây dị ứng của món      | 2   | Thảo Vy, dị ứng đậu phộng

Lộ trình từng bước

  • Gộp các bước của future journey thành 4 tới 6 hoạt động, viết bằng động từ.
  • Thêm làn cho những vai trò phải làm việc thì ứng dụng mới chạy: bếp, quầy, quản lý.
  • Viết story ngắn dưới mỗi hoạt động, mỗi thẻ một ý, kèm tên người đã nói.
  • Sắp thứ tự dọc: thẻ cần thiết nhất lên trên.
  • Kẻ lát 1 bằng câu hỏi "thiếu thẻ này thì có đi hết hành trình không".
  • Kiểm tra lát 1 với ràng buộc của nhà tài trợ và các quy tắc nghiệp vụ.
  • Viết cho mỗi lát một câu "phát hành để học điều gì".
  • Đi qua map cùng Cô Hạnh và Anh Tuấn, kể bằng lời từ trái sang phải.

Thói quen & kỷ luật

Thói quenTần suấtKết quả mong đợi
Kể lại map thành lời từ trái sang phảiMỗi lần sửa mapPhát hiện chỗ hổng trong hành trình
Mời một người phía căng tin xem mapMỗi hai tuầnLàn căng tin không bị bỏ quên
Xét lại đường kẻ lát 1Sau mỗi đợt phỏng vấn mớiLát 1 không phình ra theo thời gian
Gắn tên người nói vào thẻMỗi thẻ mớiMọi thẻ truy được về bằng chứng

Cần luyện tập

Drill một: Trên story map Căng tin số, giả sử Chị Lan yêu cầu đưa suất hỗ trợ vào lát 1 vì Thảo Vy và khoảng 300 sinh viên khác cần nó. Hãy viết ra những thẻ phải thêm, những quy tắc phải xử lý theo R4, và đề xuất bạn sẽ đổi thẻ nào ra khỏi lát 1 để giữ nó mỏng.

Drill hai: Vẽ story map cho một việc quen thuộc như đăng ký học phần ở trường bạn. Tìm xương sống, rồi kẻ walking skeleton. Kiểm tra: lát đó có đi hết mọi hoạt động không?

Drill ba: Lấy một backlog dạng danh sách mà bạn từng làm trong đồ án. Xếp lại thành story map và đếm có bao nhiêu thẻ không thuộc về hoạt động nào. Đó thường là những thẻ không ai cần.

Checklist hành động tuần này

  • [ ] Viết xương sống hai làn cho Căng tin số
  • [ ] Treo ít nhất ba story dưới mỗi hoạt động
  • [ ] Kẻ lát 1 và kiểm tra nó đi hết chín hoạt động
  • [ ] Viết câu "phát hành để học điều gì" cho ba lát
  • [ ] Kể lại map thành lời cho một người ngoài nhóm nghe

Chỉ số cho cách làm

Các con số dưới đây đo cách nhóm làm bước này, không đo app có thành công hay không. Câu hỏi app có hiệu quả không, và làm gì tiếp, là việc của khóa Đo lường thành công.

Loại chỉ sốVí dụVai trò
North StarSố sinh viên nhận suất đặt trước đúng khung giờ mỗi ngày ở quầy cơmCho biết walking skeleton có thật sự chạy
Chỉ số dẫn dắtSố đơn đặt trước trước 10:00 mỗi ngàyBáo sớm nhu cầu thật trong đợt chạy thử
Chỉ số vận hànhSố đơn bếp nấu sai so với bản inKiểm tra làn căng tin có theo kịp
Chỉ số bảo vệThời gian đối soát cuối ngày của Anh TuấnĐảm bảo ứng dụng không làm việc nặng hơn

Dấu hiệu bạn đã thành thạo

Bạn nhìn một danh sách tính năng và thấy ngay hoạt động nào bị thiếu. Bạn tự thêm làn cho người vận hành mà không cần ai nhắc. Bạn bảo vệ được lát 1 khi có người muốn nhét thêm, bằng câu hỏi "thiếu nó thì có ăn được một suất không". Và bạn chỉ vào một thẻ bất kỳ là nói được ai đã cần nó.

Cạm bẫy thường gặp

Cạm bẫyBiểu hiệnCách tránh
Chỉ có làn sinh viênBếp và đối soát không có thẻ nàoThêm làn căng tin ngay từ đầu
Lát 1 làm sâu một hoạt độngThanh toán hoàn hảo nhưng chưa nhận món đượcLát 1 phải chạm mọi hoạt động
Lát 1 phình toMỗi cuộc họp thêm một thẻ vào lát 1Mọi thẻ thêm phải đổi lấy một thẻ ra
Xương sống viết bằng màn hìnhMàn hình chủ, màn hình giỏ hàngViết hoạt động bằng động từ của người dùng
Map vẽ xong thì bỏMap không đổi sau đợt chạy thửCập nhật map sau mỗi lần đo

Chốt lại

Story map biến danh sách tính năng thành một câu chuyện có thứ tự. Với Căng tin số, xương sống có hai làn: sinh viên Xem thực đơn → Đặt món → Thanh toán → Nhận món → Phản hồi, và căng tin Chốt thực đơn → Nấu theo đơn → Giao món → Đối soát. Lát 1 là walking skeleton cho quầy cơm học kỳ 2: thô ở mọi chỗ nhưng đi hết hành trình, đúng ràng buộc của Chị Lan. Đầu ra là map với ba lát. Bài 3 sẽ biến từng thẻ trên map thành user story viết đầy đủ theo INVEST.

Học xong bài này rồi? Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu, và học hết khóa thì có chứng chỉ. Lưu tiến độ của tôi