+2

Tổng quan về Scrum phần 1.

Định nghĩa của Scrum

Scrum là một trong những khung làm việc linh hoạt và không kém phần phổ biến nhất hiện nay. Scrum được dùng để quản lý các dự án phát triển phần mềm, ngoài ra scrum còn được dùng trong các công việc khác với độ phức tạp và tính sang tạo rất đa dạng. Dựa trên lý thuyết quản lý thực nghiệm: Scrum sử dụng kĩ năng lặp và tăng dần để tối ưu hóa sự hiệu quả và kiểm soát rủi ro.

Sprint (tạm gọi là vòng phát triển)

Cốt lõi của qui trình Scrum đó là Sprint, một vòng thời gian của một tháng hoặc ít hơn, sự phát triển và tung ra sản phẩm có tiềm năng, hữu dụng được tạo ra. Những Sprints tối ưu là sprint có thời hạn thông qua sự nỗ lực phát triển. Sprint mới sẽ bắt đầu ngày sau khi Sprint trước kết thúc. Trong mỗi Sprint :

  • Không có sự thay đổi được thực hiện nhằm duy trì được kết quả của Sprint đó.
  • Chất lượng kết quả không được giảm và có thể làm rõ và thảo luận lại bởi chủ sản phẩm và đội phát triển. Một Sprint có thể bị hủy nếu mục tiêu cuối của Sprint trở nên lỗi thời. Điều đó sẽ xảy ra nếu công ty thay đổi sự chỉ dẫn hay điều kiện thị trường, công nghệ thay đổi.

Khung làm việc của scrum có gì ?

1. Ba giá trị cốt lõi

Scrum được thành lập trên lý thuyết kiểm soát quá trình thực nghiệm, hoặc chủ nghĩa kinh nghiệm. Chủ nghĩa kinh nghiệm khẳng định rằng kiến ​​thức xuất phát từ kinh nghiệm và đưa ra quyết định dựa trên những gì đã biết. Scrum sử dụng một cách tiếp cận lặp lại, gia tăng để tối ưu hóa khả năng dự đoán và kiểm soát rủi ro. Ba trụ cột duy trì mọi việc thực hiện kiểm soát quá trình theo kinh nghiệm: minh bạch, kiểm tra và thích ứng.

Minh bạch(Transparency)

Trong Scrum, minh bạch xem như là giá trị cốt lõi cơ bản nhất. Muốn thành công với Scrum, thông tin phải minh bạch và thông suốt. Từ đó mọi người với các vai trò khác nhau có đủ thông tin cần thiết để tiến hành các quyết định các giá trị để nâng cao hiệu quả công việc. Các công cụ và cuộc họp trong Scrum luôn bảo đảm thông tin minh bạch cho các bên.

Thanh tra (Inspection)

Công tác thanh tra liên tục các hoạt động trong scrum bảo đảm cho việc phát triển các vấn đề cũng như giải pháp để thông tin đa dạng và hữu ích đến được với các bên tham gia dự án. Với việc truy xét kỹ càng và liên tục là cơ chế khởi đầu cho việc thích nghi và cải tiến liên tục trong Scrum.

Thích nghi (Adaptation):

Scrum là một trong những phương pháp phát triển rất linh hoạt. Nhờ đó mang lại tinh thích nghi rất cao. Scrum có thể phản hồi lại các thay đổi một cách tích cực nhờ đó mang lại nhiều thanh công lớn cho dự án. Scrum quy định bốn sự kiện chính thức để kiểm tra và điều chỉnh, như được mô tả trong phần Sự kiện Scrum của tài liệu này:

  • Sprint Planning
  • Daily Scrum
  • Sprint Review
  • Sprint Retrospective

2. Ba vai trò

Nhóm Scrum bao gồm :

  • Product Owner
  • The Development Team
  • Scrum Master.

Scrum Team tự tổ chức và đa chức năng. Các team tự tổ chức chọn cách tốt nhất để hoàn thành công việc của mình, thay vì được hướng dẫn bởi những người khác bên ngoài team. Các team chức năng chéo có tất cả các năng lực cần thiết để hoàn thành công việc mà không phụ thuộc vào những người khác không thuộc team.

Scrum Team cung cấp các sản phẩm lặp đi lặp lại và tăng dần, tối đa hóa cơ hội phản hồi. Việc giao hàng tăng dần của sản phẩm "Xong" đảm bảo luôn có sẵn phiên bản hữu ích của sản phẩm hoạt động.

Product Owner

Product Owner là người duy nhất chịu trách nhiệm quản lý tồn đọng sản phẩm. Quản lý tồn đọng sản phẩm bao gồm:

  • Thể hiện rõ ràng các mặt hàng tồn đọng của sản phẩm;
  • Tạo các mục trong Product Backlog để đạt được mục tiêu và nhiệm vụ tốt nhất;
  • Tối ưu hóa giá trị của công việc mà Development team thực hiện;
  • Đảm bảo rằng Product Backlog hiển thị, minh bạch và rõ ràng cho tất cả mọi người và hiển thị những gì Scrum Team sẽ làm việc tiếp theo;
  • Đảm bảo develop team hiểu các mục trong Product Backlog đến mức cần thiết.

The Development Team

Development Team bao gồm các chuyên gia thực hiện công việc phân phối sản phẩm "Hoàn thành" có thể tin cậy vào cuối mỗi Sprint. Gía trị "Done" là bắt buộc tại mỗi Sprint Review.

Development Team có các đặc điểm sau:

  • Họ tự tổ chức. Không ai (kể cả Scrum Master) nói với Development Team cách biến Product Backlog thành các phần tăng thêm chức năng có thể tin cậy được;
  • Các nhóm phát triển có nhiều chức năng, với tất cả các kỹ năng như một nhóm cần thiết để tạo ra một sản phẩm;
  • Scrum nhận ra không có danh hiệu nào cho các thành viên của Development Team, bất kể công việc đang được thực hiện bởi người đó;
  • Scrum nhận ra không có nhóm phụ nào trong Development Team, bất kể các lĩnh vực cần được giải quyết như thử nghiệm, kiến ​​trúc, hoạt động hoặc phân tích kinh doanh;
  • Cá nhân các thành viên của Development Team có thể có các kỹ năng chuyên môn và các lĩnh vực trọng tâm, nhưng trách nhiệm giải trình thuộc về toàn bộ Team.

Quy mô Development Team

Quy mô của development team thường nằm trong khoảng từ 3 đến 9 thành viên .

Scrum Master

Scrum Master chịu trách nhiệm quảng bá và hỗ trợ Scrum. Scrum Master làm điều này bằng cách giúp mọi người hiểu lý thuyết, thực hành, quy tắc và giá trị của Scrum.

Scrum Master là người lãnh đạo đầy tớ cho Scrum Team, giúp những người bên ngoài Scrum Team hiểu được những tương tác nào của họ với Scrum Team là hữu ích và không. Bên cạnh đó còn giúp mọi người thay đổi các tương tác này để tối đa hóa giá trị được tạo bởi Scrum Team.

Scrum Master Service cho Product Owner

Scrum Master phục vụ Product Owner theo nhiều cách, bao gồm:

  • Đảm bảo rằng các mục tiêu, phạm vi và miền sản phẩm được mọi người trong Scrum Team hiểu rõ nhất có thể;
  • Tìm kiếm các kỹ thuật để quản lý tồn đọng sản phẩm hiệu quả;
  • Giúp Scrum Team hiểu được sự cần thiết của các mục tồn đọng Sản phẩm rõ ràng và súc tích;
  • Hiểu kế hoạch sản phẩm trong môi trường thực nghiệm;
  • Đảm bảo Product Owner biết cách sắp xếp tồn đọng sản phẩm để tối đa hóa giá trị;
  • Hiểu và rèn luyện sự nhanh nhẹn; và,
  • Tạo điều kiện cho các sự kiện Scrum theo yêu cầu hoặc cần thiết.

Scrum Master Service cho development team

Scrum Master phục vụ development team theo nhiều cách, bao gồm:

  • Huấn luyện Đội ngũ phát triển tự tổ chức và đa chức năng;
  • Giúp development team tạo ra các sản phẩm có giá trị cao;
  • Loại bỏ những trở ngại cho tiến trình của development team ;
  • Tạo điều kiện cho các sự kiện Scrum theo yêu cầu hoặc cần thiết;
  • Huấn luyện Nhóm phát triển trong môi trường tổ chức trong đó Scrum chưa được thông qua và hiểu rõ.

Scrum Master Service cho Tổ chức

Scrum Master phục vụ tổ chức theo nhiều cách, bao gồm:

  • Dẫn dắt và huấn luyện tổ chức trong việc áp dụng Scrum;
  • Lập kế hoạch triển khai Scrum trong tổ chức;
  • Giúp nhân viên và các bên liên quan hiểu và ban hành Scrum và phát triển sản phẩm theo kinh nghiệm;
  • Làm việc với các Scrum Master khác để tăng hiệu quả của việc áp dụng Scrum trong tổ chức.

3. Năm cuộc họp

Sprint Planning (Họp Kế hoạch Sprint)

Nhóm phát triển gặp gỡ với Product Owner để lên kế hoạch làm việc cho một Sprint (xem thêm phần Sprint bên dưới). Công việc lập kế hoạch bao gồm việc chọn lựa các yêu cầu cần phải phát triển, phân tích và nhận biết các công việc phải làm kèm theo các ước lượng thời gian cần thiết để hoàn tất các tác vụ. Scrum sử dụng cách thức lập kế hoạch từng phần và tăng dần theo thời gian, theo đó, việc lập kế hoạch không diễn ra duy nhất một lần trong vòng đời của dự án mà được lặp đi lặp lại, có sự thích nghi với các tình hình thực tiễn trong tiến trình đi đến sản phẩm.

Daily Scrum (Họp Scrum hằng ngày)

Scrum Master tổ chức cho Đội sản xuất họp hằng ngày trong khoảng 15 phút để Nhóm Phát triển chia sẻ tiến độ công việc cũng như chia sẻ các khó khăn gặp phải trong quá trình phát triển phần mềm suốt một Sprint.

Sprint Review (Họp Sơ kết Sprint)

Cuối Sprint, nhóm phát triển cùng với Product Owner sẽ rà soát lại các công việc đã hoàn tất (DONE) trong Sprint vừa qua và đề xuất các chỉnh sửa hoặc thay đổi cần thiết cho sản phẩm.

Sprint Retrospective (Họp Cải tiến Sprint)

Dưới sự trợ giúp của Scrum Master, nhóm phát triển sẽ rà soát lại toàn diện Sprint vừa kết thúc và tìm cách cải tiến quy trình làm việc cũng như bản thân sản phẩm.

Cuối Sprint, nhóm phát triển cùng với Product Owner sẽ rà soát lại các công việc đã hoàn tất (DONE) trong Sprint vừa qua và đề xuất các chỉnh sửa hoặc thay đổi cần thiết.

Sprint Planning (Họp Kế hoạch Sprint)

Nhóm phát triển gặp gỡ với Product Owner để lên kế hoạch làm việc cho một Sprint. Công việc lập kế hoạch bao gồm việc chọn lựa các yêu cầu cần phải phát triển, phân tích và nhận biết các công việc phải làm kèm theo các ước lượng thời gian cần thiết để hoàn tất các tác vụ. Scrum sử dụng cách thức lập kế hoạch từng phần và tăng dần theo thời gian, theo đó, việc lập kế hoạch không diễn ra duy nhất một lần trong vòng đời của dự án mà được lặp đi lặp lại, có sự thích nghi với các tình hình thực tiễn trong tiến trình đi đến sản phẩm

**Link references: **

https://vi.wikipedia.org/wiki/Scrum_(mô_hình_phát_triển_phần_mềm)

https://hocvienagile.com/agipedia/tong-quan-ve-scrum

https://www.scrumguides.org/scrum-guide.html#theory


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí