Bỏ qua để đến nội dung

Giới thiệu

East Agile Tracker là một công cụ lập kế hoạch agile với những quan điểm mạnh mẽ về cách các đội ngũ phát hành phần mềm — và một ý tưởng khác thường về việc ai là thành viên của đội.

Story trôi qua một cỗ máy trạng thái (state machine) XP thực thụ. Iteration tự lập kế hoạch dựa trên velocity. Một bảng cho bạn thấy chính xác công việc đang ở đâu. Và bên cạnh những đồng đội con người, bạn có thể có agent — những bên tham gia AI có tên, được giới hạn theo vai trò, sẽ nhận story, bình luận, chuyển đổi trạng thái, và để lại một dấu vết kiểm toán mà bạn có thể đọc được.

Trang này trình bày các khái niệm. Để biết cách thao tác, xem Hướng dẫn vận hành.

Story là đơn vị công việc cơ bản. Có bốn loại, và sự phân biệt đó chính là điểm cốt lõi:

  • Feature — Giá trị mới cho người dùng. Là loại duy nhất mang điểm, loại duy nhất đóng góp vào velocity. Đây là thứ buộc bạn phải cắt nhỏ công việc thành giá trị mà người dùng có thể quan sát được.
  • Bug — Một lỗi. Không được ước lượng; nó chỉ cần được sửa. Bug không kiếm được điểm, điều này khiến chi phí làm lại trở nên hiển thị thay vì được tưởng thưởng.
  • Chore — Công việc bảo trì — tái cấu trúc, nâng cấp phụ thuộc, hạ tầng. Không được ước lượng; không có cổng chấp nhận (acceptance gate). Đội ngũ chịu áp lực phải gói các chore vào trong feature bất cứ khi nào có thể để khung định hướng giá trị luôn trung thực.
  • Release — Một cột mốc không điểm. Đánh dấu một lần triển khai hoặc một lần nâng phiên bản. Neo một mốc ngày cho dự báo.

Hiệu ứng hành vi mới là điều quan trọng: khi bug và chore không tính điểm, một đội ngũ tự nhiên sẽ hướng tới việc thể hiện công việc dưới dạng chức năng hướng tới người dùng, và đội ngũ trở nên nhạy bén sâu sắc với chi phí của lỗi. Đó là một kỷ luật lập kế hoạch được mã hóa vào trong mô hình dữ liệu — không phải một hướng dẫn mà bạn phải ghi nhớ.

Mỗi story có tiêu đề, mô tả (Markdown), người sở hữu (owner), người theo dõi (follower), nhãn (label), tác vụ (task) tùy chọn, bình luận, tệp đính kèm, blocker, liên kết, và đánh giá (review). Bảng chi tiết mở ngay tại chỗ trên bảng — không hộp thoại modal, không chuyển ngữ cảnh.

Cỗ máy trạng thái và vòng lặp chấp nhận

Phần tiêu đề “Cỗ máy trạng thái và vòng lặp chấp nhận”

Mỗi story di chuyển qua các trạng thái. Đường đi chính xác phụ thuộc vào loại:

LoạiĐường đi
FeatureUnstarted → Started → Finished → Delivered → Accepted (hoặc Rejected)
BugUnstarted → Started → Finished → Delivered → Accepted (hoặc Rejected)
ChoreUnstarted → Started → Accepted
ReleaseUnstarted → Accepted

Trạng thái then chốt là Delivered: một kỹ sư đánh dấu story đã được giao (delivered), nhưng nó vẫn chưa xong cho đến khi product owner chấp nhận (accept) nó một cách tường minh dựa trên các tiêu chí chấp nhận của nó — hoặc từ chối (reject), đẩy nó trở về Started. Điều này đưa một vòng lặp phản hồi của khách hàng vào trong từng story một, thay vì trì hoãn việc chấp nhận đến buổi demo cuối sprint. Tiêu chí chấp nhận phải nằm trên story trước khi nó được bắt đầu, lý tưởng nhất là theo dạng Given/When/Then để chúng ánh xạ trực tiếp sang các bài kiểm thử chấp nhận (acceptance test). INVEST là phép kiểm tra tỉnh táo về việc một story đã được định hình tốt hay chưa.

Bạn có thể tiến trạng thái từ nút hành động tại chỗ trên card, kéo story sang một nhóm iteration khác, hoặc gọi API. Các chuyển đổi lùi sẽ yêu cầu xác nhận để bạn không vô tình đánh mất vị trí của mình.

Công việc được tổ chức thành các iteration đóng khung thời gian (chúng tôi không dùng từ “sprint”). Mỗi iteration có một ngày bắt đầu, một độ dài (1–4 tuần cho mỗi dự án), và một mục tiêu sức chứa tính theo điểm.

Bạn không đóng gói iteration bằng tay. Hệ thống làm việc đó cho bạn, sử dụng velocity của bạn — trung bình số điểm hoàn thành của các iteration gần đây — và định nghĩa “trạng thái hoàn thành” (done state) của dự án (xem phần Velocity bên dưới). Kéo story để sắp xếp lại; iteration tự nạp lại tự động.

Velocity là số điểm feature được chấp nhận trên mỗi iteration. East Agile Tracker tính toán nó từ lịch sử của bạn và dùng nó để lập kế hoạch sức chứa cho iteration tiếp theo.

Một vài thứ có thể cấu hình theo từng dự án:

  • Done state — trạng thái nào được tính là “xong” đối với velocity. Hầu hết các đội chọn Accepted; một số chọn Finished nếu chu kỳ giao hàng của họ được tách rời.
  • Strategy — cách velocity được tính trung bình: 3 iteration gần nhất, 5 gần nhất, v.v.
  • Initial velocity — một giá trị khởi đầu cho các dự án mới chưa có lịch sử.

Bảng là nơi công việc tồn tại. Ba vùng, một quy tắc:

  • Icebox — Hồ chứa ý tưởng chưa được ưu tiên. Icebox được phép trở thành một nghĩa địa.
  • Backlog — Một danh sách được sắp xếp nghiêm ngặt, ưu tiên đơn (single-priority). Không có đồng hạng. Không có chuyện “P1/P1/P1.” Product owner sở hữu thứ tự từ trên xuống dưới. Tính bất biến ở đây là: phần đầu của backlog luôn là phần quan trọng nhất và được đặc tả tốt nhất, với độ rõ ràng giảm dần một cách chính đáng khi bạn đi xuống. Một story gần đỉnh với tiêu chí chấp nhận mơ hồ là một lỗi lập kế hoạch — không phải một vấn đề tương lai để phớt lờ.
  • Current — Iteration đang hoạt động. Story nằm theo thứ tự trình tự thời gian của iteration với trạng thái của chúng (Unstarted / Started / Finished / Delivered / Accepted) hiển thị trên từng card. Thứ tự cho bạn biết việc gì sẽ được làm tiếp theo; trạng thái cho bạn biết nó đang ở đâu trong chu kỳ.

Cột Current nhóm theo tiêu đề iteration (hiện tại, rồi sắp tới, rồi đã đóng) — không theo trạng thái. Đó là chủ đích: một iteration Current là một kế hoạch công việc, không phải một phân vùng theo trạng thái. Nhiều story trong iteration ở trạng thái Unstarted (một số sẽ bắt đầu, một số sẽ chuyển sang iteration tiếp theo, một số sẽ bị loại bỏ). Cắt cột theo trạng thái sẽ phá vỡ trình tự thời gian của iteration mà đội ngũ thực sự dùng để lập kế hoạch.

Từ mục Board của thanh bên, bạn có thể bật hoặc tắt các cột bổ sung (mỗi preset một ô đánh dấu): Done, My Work, Blocked, Epics, Chat. Bạn cũng có thể lưu các bảng lọc tùy chỉnh và thay đổi kích thước cột theo ý muốn — bố cục của bạn được giữ lại theo từng dự án trên từng trình duyệt.

Bạn chỉ ước lượng feature, sử dụng điểm tương đối — không phải giờ. Ước lượng là một cuộc trò chuyện về kích thước, không phải một lời hứa. Bug và chore giữ ở mức không; gán điểm cho chúng sẽ thổi phồng velocity thành một thứ chẳng có ý nghĩa gì, và dự báo — thứ làm cho toàn bộ hệ thống trung thực — sẽ sụp đổ. Velocity là một dụng cụ đo lường; bạn không can thiệp vào dụng cụ của chính mình.

East Agile Tracker đi kèm ba thang đo ngay từ đầu:

  • Fibonacci0, 1, 2, 3, 5, 8, 13. Thang đo XP kinh điển. Bất cứ thứ gì lớn hơn 13 nên được tách thành các story nhỏ hơn.
  • East Agile0, 1, 2, 3. Một thang đo chặt chẽ hơn mà chúng tôi tự dùng. Ngăn việc suy nghĩ quá mức; không gì vượt quá 3 nên nằm trong một iteration.
  • 3-Point1, 2, 3 (Small / Medium / Large). Phân loại theo cỡ áo (t-shirt sizing) nghiêm ngặt cho các đội muốn độ chi tiết tối thiểu.

Chọn thang đo theo từng dự án. Bạn có thể đổi thang đo sau — các ước lượng hiện có sẽ được ánh xạ qua.

Phần thưởng của việc ước lượng có kỷ luật: dự báo ngày phát hành trở thành một phép tính, không phải một cuộc thương lượng. Cuộc trò chuyện với các bên liên quan chuyển từ “anh có cam kết X vào thứ Sáu không” thành “với velocity hiện tại, release này rơi vào khoảng ngày Y — đây là sự đánh đổi phạm vi/ngày tháng.”

Nhãn là các thẻ có màu. Story có thể có nhiều nhãn. Bạn quản lý chúng trên trang Labels — màu sắc, tên, lưu trữ (archive) khi đã cũ.

Tìm kiếm sử dụng một cú pháp lọc đơn giản kết hợp một cách tự nhiên:

type:feature state:started label:mvp owner:claire

Các bộ lọc thông dụng: type:, state:, label:"with spaces", owner:, requester:, has:blocker, is:unestimated, cùng văn bản tự do trên tiêu đề và mô tả. Lưu các bộ lọc thành các bảng có tên trên board.

  • Owner — Người đang làm việc. Có thể là nhiều người.
  • Follower — Những người quan tâm đến các cập nhật. Có thể là nhiều người.
  • Requestor — Người yêu cầu story. Thường là một người.

Mỗi vị trí trong số này đều có thể được lấp đầy bởi một thành viên con người hoặc một agent. Card story hiển thị avatar của owner; agent owner được xử lý hình ảnh khác biệt để luôn rõ ai thực sự đã làm gì.

Đây là phần mà hầu hết các tracker không có, và là phần mà chúng tôi xây dựng một cách có chủ đích.

Một agent là một bên tham gia có tên trong một dự án — giống như một thành viên, nhưng đó là một AI. Nó có danh tính riêng, vai trò riêng (viewer / member / owner — owner chỉ dành riêng cho con người), và dấu vết kiểm toán riêng. Khi một agent chuyển đổi một story, nhật ký hoạt động ghi rằng agent đã làm điều đó. Khi một agent bình luận, bình luận đó được ký bởi agent. Không có những con người ma trên các thao tác ghi của agent.

Agent xác thực bằng agent API key (ea_agent_*), được phát hành theo từng dự án. Thu hồi một agent thì quyền truy cập chết theo key; lịch sử của agent vẫn ở lại trong audit log mãi mãi, nên bạn luôn biết điều gì đã xảy ra.

Đọc thêm tại Hướng dẫn vận hành → AgentHướng dẫn API.

Bình luận, tệp đính kèm, blocker, liên kết, đánh giá

Phần tiêu đề “Bình luận, tệp đính kèm, blocker, liên kết, đánh giá”
  • Bình luận (Comment) — Markdown, tối đa 10.000 ký tự. Theo luồng dưới story.
  • Tệp đính kèm (Attachment) — Tệp bao gồm cả video, tối đa 2 GB mỗi tệp.
  • Blocker — Ghi chú văn bản tự do “cái gì đang chặn việc này”, được đánh dấu đã giải quyết/chưa giải quyết.
  • Liên kết (Link) — Kết nối các story với nhau (blocks, is blocked by, duplicates, relates to) hoặc với các URL bên ngoài (PR/nhánh GitHub được tự động phát hiện).
  • Đánh giá (Review) — Gán một người đánh giá (con người hoặc agent), nhận chấp nhận/từ chối.

Ngoài board, tab Analytics cung cấp cho bạn:

  • Project Overview — Velocity, tỷ lệ chấp nhận, cycle time, các KPI iteration gần đây.
  • Iteration Report — Phân tích chi tiết theo từng iteration.
  • Releases & Burndowns — Các cột mốc release và burndown theo từng iteration.
  • Story Activity — Ai đã làm gì, khi nào (có thể lọc).
  • Cycle Time — Thời gian từ Started đến done state của dự án.
  • Projections — Dự báo khi nào backlog của bạn sẽ hoàn thành ở velocity hiện tại.

Bốn chủ đề đi kèm sẵn:

  • Agile — Bảng màu trang đích tiếp thị. Trắng ấm, điểm nhấn thương hiệu xanh đậm (#1f6f9f), biểu tượng loại story bão hòa vàng/đỏ/xám đá/tím. Mặc định cho khách truy cập mới và là lựa chọn dẫn đầu trong bộ chuyển đổi.
  • Labs — Bảng màu Pivotal Tracker nguyên bản — khung tối, thanh trên cùng màu xanh PT, các khoảng cách cột màu pastel. Được gìn giữ một cách trìu mến.
  • Dark — Tối trung tính thuần túy, không sắc độ.
  • Light — Sáng trung tính thuần túy, không sắc độ. Mực trên giấy.

Chuyển đổi trong chân thanh bên hoặc trong Account Settings → Theme. Lựa chọn của bạn được giữ lại qua các phiên.

Giao diện được dịch sang 15 ngôn ngữ: Anh, Pháp, Đức, Tây Ban Nha, Nhật, Trung, Hàn, Bồ Đào Nha, Ý, Hà Lan, Thụy Điển, Đan Mạch, Séc, Phần Lan, Ba Lan. Chuyển đổi từ chân thanh bên; lựa chọn được giữ lại. Phần khung giao diện, các trang xác thực, khu vực tài khoản/bảo mật, và trang đích tiếp thị đã được kết nối ngay hôm nay; phần chi tiết story / phân tích / cài đặt sẽ theo sau trong các cập nhật tiếp theo.