Jira áp dụng mô hình Aglie Scum để làm việc
1. Giới thiệu về Aglie Scum
1.1. Aglie là gì?
Agile là tập hợp các nguyên lý dành cho nhà phát triển phần mềm, trong đó khuyến khích:
- Lập kế hoạch thích ứng.
- Phát triển tăng dần.
- Chuyển giao sớm.
- Cải tiến liên tục.
Mục đích của Agile: giúp các doanh nghiệp đạt được sự linh hoạt (Agility), từ đó nâng cao sức cạnh tranh và phát triển bền vững.
1.2. Scum là gì?
- Scrum là phương thức đơn giản giúp mọi người, nhóm và tổ chức tạo ra giá trị thông qua các giải pháp thích ứng cho các vấn đề phức tạp.
- Phương thức này bao gồm các vai trò (Roles), sự kiện (Events), hiện vật (Artifacts) của Scrum và các quy tắc ràng buộc chúng với nhau.
- Scrum sẽ làm việc xoay quanh
sprint
.
2. Scrum Team
Trong một Scum Team sẽ có 3 vai trò chính:
- Product Owner:
- Người chịu trách nhiệm về việc tối đa hóa giá trị các sản phẩm và là người đại diện cho khách hàng.
- Scum Master:
- Luôn đảm bảo quá trình Scrum được thực hiện đúng.
- Huấn luyện đội, loại bỏ trở ngại, bảo vệ đội.
- Developers:
- Nhóm phát triển có thể là Dev, Test, Design, Ba v.v.
- Chịu trách nghiệm về việc phát triển, xây dựng và cung cấp sản phẩm cuối cùng.
3. Scrum Atifacts
Là các phần tử cố định trong quy trình Scrum giúp làm cho thông tin liên quan đến dự án trở nên rõ ràng và truyền tải hiểu biết chung cho toàn bộ nhóm Scrum.
- Product Backlog:
- Product backlog là danh sách ưu tiên của tất cả yêu cầu, tính năng, và công việc cần thiết để phát triển sản phẩm.
- Product backlog có thể thay đổi theo thời gian khi yêu cầu mới xuất hiện hoặc ưu tiên được điều chỉnh.
- Sprint Backlog:
- Sprint Backlog: Danh sách công việc cụ thể, mục tiêu cho một Sprint trong quy trình Scrum.
- Sprint Backlog chứa các mục từ Product Backlog mà nhóm phát triển trong Sprint đó.
- Sprint Goal:
- Sprint Goal là mục tiêu chung, rõ ràng mà nhóm Scrum đặt ra để định hình, hướng dẫn công việc trong một Sprint cụ thể.
- Khi làm việc trong Sprint phải luôn ghi nhớ Sprint Goal.
- Increment:
- Increment là một phiên bản có khả năng triển khai của sản phẩm sau mỗi Sprint.
- Definition of Done, Definition of Ready and Acceptance Criteria
Tiêu chí | Definition of Done | Definition of Ready | Acceptance Criteria |
---|---|---|---|
Định nghĩa | Tập hợp tiêu chí cho một sản phẩm cần đạt để coi là hoàn thành và sẵn sàng triển khai | Tập hợp tiêu chí một User Story cần đáp ứng trước khi bắt đầu phát triển | Các điều kiện cụ thể mà một công việc cần đáp ứng để được xem xét và chấp nhận |
Liên quan đến | Mức độ hoàn thiện của một sản phẩm một công việc | Sự chuẩn bị rõ ràng | Yêu cầu cụ thể và mong muốn của người dùng |
Dùng cho | Đánh giá mức độ hoàn thành công việc sau mỗi Sprint | Đảm bảo rằng mỗi công việc được chuẩn bị rõ ràng, đầy đủ | Kiểm tra và đánh giá mức độ hoàn thành của một User Story hoặc công việc |
Liên quan đến mỗi Sprint | Áp dụng trong suốt Sprint | Áp dụng trước Sprint | Áp dụng cho mỗi User Story hoặc công việc cụ thể trong suốt quá trình phát triển |
4. Scrum events
- The Sprint:
- Sprint là nhịp đập của Scrum, nơi các ý tưởng được biến thành giá trị.
- Sprint trong Scrum là một đơn vị thời gian có độ dài cố định thường kéo dài từ 2-4 tuần.
- Mục tiêu của Sprint thường là để tạo ra một sản phẩm có giá trị để có thể triển khai.
- Công việc trong Sprint sẽ được lấy từ Product BackLog.
- Sprint stand up:
- Mục đích của cuộc họp là để nắm bắt được tiến độ và các yếu tố cản trở hằng ngày.
- Cuộc họp diễn ra 15 phút và thường ở đầu ngày.
- Trong cuộc họp này mọi người sẽ trình bày:
- Hôm qua đã đạt được kế hoạch chưa, nếu chưa, tại sao ?
- Dự định ngày hôm nay ?
- Có vấn đề hay thắc mắc nào không ?
- v.v.
- Sprint Review and Demo:
- Bắt đầu với cái nhìn chung về Sprint vừa qua.
- Thông tin về những cá nhân sau Sprint.
- Trạng thái demo của sản phẩm.
- Dự báo về sprint sắp tới.
- Review và demo sản phẩm.
- Sprint Planning:
- Mục tiêu của cuộc họp này là để lên kế hoạch cho Sprint sắp tới, cuộc họp thường diễn ra trước khi bắt đầu một sprint mới.
- Một buổi Sprint Planning sẽ có quy trình 4 bước sau:
- Chuẩn bị.
- Đánh giá sprint trước đó.
- Lập kế hoạch cho sprint mới.
- Bắt đầu sprint mới.
- Sprint Retrospective:
- Mục đích của họp Retrospective:
- Tạo ra không gian an toàn cho các thành viên chia sẻ những feedback, quan điểm cá nhân về công việc của đội nhóm.
- Team có thể ăn mừng chiến thắng và tìm thấy những cơ hội phát triển.
- Team có thể cho ra được 1 danh sách những hành động cần làm, kèm theo owner để giúp Sprint sau hoạt động trơn mượt hơn.
- Những sự thay đổi nhỏ, qua từng tuần sẽ tích lũy tạo nên những cải tiến đột phá.
- Những ý kiến góc nhìn được đưa lên bàn, giúp các thành viên cảm thấy được lắng nghe và tôn trọng.
- Cuộc họp diễn ra vào mỗi buổi review and demo nhằm chuẩn bị tốt hơn cho sprint sắp tới.
- Theo thứ tự, đây là sự kiện diễn ra sau Sprint Review, và trước Sprint Planning.
- Tất cả các thành viên trong team cùng nhau xem xét sprint, xác định điểm mạnh điểm yếu, và lên kế hoạch cải thiện.
- Các bước thực hiện cuộc họp Retrospective thông thường sẽ diễn ra như sau:
- Team lead sẽ cho mọi người điền retro, ẩn danh hoăc public.
- Sau 5-10’ mỗi người tự điền retro và quay lại họp.
- Team lead sẽ đi qua từng điểm trong các câu hỏi và khen những gì tốt, tìm giải pháp cho những gì chưa tốt.
- Mục đích của họp Retrospective:
- Sprint Refinement:
- Mục đích của cuộc họp Refinement nhằm xử lý đưa các story và task vào trạng thái Definition of Ready.
- Lên được diễn ra trước buổi Sprint Planning.
5. Workflow - Jira Setup
5.1. Workflow
Status | Details | Transition |
---|---|---|
Todo | Tác vụ chưa bắt đầu được thực hiện | Từ Todo chuyển InProgress khi bắt đầu thực hiện |
In Progress | Tác vụ đang được thực hiện | Chuyển đến In Review nếu đã hoàn thành công việc và update assignee cho người khác nếu cần. |
In Review | Người được assignee sẽ là người review và đánh giá công việc | Người được assignee có thể chuyển tiếp trạng thái này sang Ready for deploy dev, In Progress hoặc Done |
Ready for deploy dev | Merge vào Dev-Branch để triển khai trên môi trường Dev | Người assignee sau khi code đã được triển khai trên môi trường Dev sẽ chuyển trạng thái sang Dev testing |
Dev Testing | Assignee/Tester sẽ hoàn thành công việc test ở môi trường dev | Người được assignee có thể chuyển tiếp trạng thái này sang Ready for Deploy Acc nếu thành công chuyển sang InProgress nếu không đủ yêu cầu hoặc chuyển sang Done nếu không yêu cầu environment |
Ready for deploy ACC | Testing đã hoàn thành trong môi trường Dev và sẵn sàng triển khai ở môi trường ACC | Sau khi đã triển khai trên môi trường Acc người assignee sẽ chuyển trạng thái tác vụ thành Acc Testing |
ACC Testing | Assgnee hoặc Tester hoàn thành testing | Assignee có thể chuyển tiếp trạng thái thành Ready to Deploy to PP hoặc InProgress |
Ready for deploy to PP | Kiểm thử đã hoàn thành ở Acceptance và đã sẵn sàng triển khai ở môi trường Pre Product | |
Publish | Code đã merged đến nhánh Master cho môi trường production | Sau khi tất cả code đã được merge vào nhánh master môi trường product đã hoàn tất có thể chuyển tiếp đến trạng thái Done |
Done | Đã hoàn thành | |
Won’t do | Tác vụ đã không cần thiết | Thường sử dụng để chuyển từ TO DO nếu nó không cần thiết nữa |
Duplicate | Tác vụ bị trùng | Thường sử dụng để chuyển từ TO DO nếu nó không cần thiết nữa |
Ví dụ: Hướng dẫn chi tiết duyệt AC
5.2. EPICs & Issue Types
-
Giới thiệu: - Epic, (user) story, task, subtask và bug là những thứ phổ biến nhất trong cách làm việc Agile. Họ chia nhỏ chức năng thành nhỏ hơn, nhằm mục đích vận chuyển vào Sprint.
-
Epic: - Là lượng lớn công việc có thể chia nhỏ thành các stories và task nhỏ hơn. - Template của Epic: - Title: Mô tả cách thực tế những gì cần đạt được. - Description: Mô tả vấn đề gặp phải, chức năng cần thiết. - Bigger user story: Sử dụng câu chuyện người dùng để định nghĩa. - Requirements: Các chức năng và các phi chức năng. - Business value: Miêu tả giá trị gia tăng thể hiện bằng kinh doanh. - Success metrics: Thước đo thành công. - Design & research: Thêm wireframe và thiết kế liên quan.
-
Story: - Là một phần của chức năng, có thể đạt được trong một Sprint, liên quan đến các tính năng và chức năng mới sẽ được phát triển, Story có kết nối với Epic và chứa các subtask. - Template của Story: - Title: Mô tả ngắn gọn về nhiệm vụ. - Description: Sử dụng định dạng user story để mô tả vấn đề cần giải quyết. - Background: Mô tả chi tiết hơn về what and why, đồng thời mô tả giá trị. - Acceptance criteria: Thêm tiêu chí chấp nhận. - Design: Thêm link đến file thiết kế. - Copy. - Analytics/Metrics: Mô tả nếu có bất kỳ tagging nào và nó được yêu cầu. - Test case: Mô tả các trường hợp kiểm thử. - Priority: Mức độ ưu tiên.
-
Task/SubTask: - Có hai loại task : - Independent task: Cùng cấp với với story. - Sub task: Công việc con của story. - Quy trình làm việc (workflow) của task khá đơn giản từ TO DO đến IN PROGRESS đến DONE. - Temple của Task/SubTask: - Summary (Title): Ngắn gọn giúp dễ hiểu về task trong 1 câu ngắn. - Description: Mô tả công việc. - Background (Đối với Independent task): Thông tin liên quan.
-
DS Analysis - Đối với khoa học dữ liệu và phân tích kinh doanh sẽ có một mẫu công việc riêng. - Temple của DS ANALYSIS: - Summary (Title): Mô tả ngắn gọn về công việc. - Description: Sử dụng định dạng user story để mô tả vấn đề cần giải quyết. - ANALYSIS: Mô tả các phân tích cần để thực hiện, cũng có thể thêm subtask. - Key Metrics: Những key metrics liên quan. - Suggested deep dives: Đề xuất các chi tiết phân rã cụ thể. - Results: Liên kết tới tài liệu powerpoint chứa những thông tin cần biết. - Scripts: Liên kết đến các tập lệnh trong GIT.
-
BUG: - Bug có thể là một lỗi, sai sót, khuyết điểm dẫn đến kết quả không mong đợi. - Temple của BUG: - Summary (Title): Ngắn gọn giúp dễ hiểu về task trong 1 câu ngắn. - Description: Mô tả ngắn gọn về vấn đề đã phát hiện. - Reported by: Người báo cáo vấn đề. - Expected result: Chức năng lên hoạt động thế nào. - Actual Result: Điều gì đã xảy ra. - Steps how to Reproduce: Mô tả các bước tái tạo lỗi. - Environment/brower/device: Môi trường nào, trình duyệt nào, thiết bị nào? - Impact: Mô tả ảnh hưởng đối với doanh nghiệp/ người dùng. - Screenshots/video: Ảnh video tái tạo lỗi. - Other attachment: Tài liệu liên quan. - Priotty: Độ ưu tiên.