Scrum là gì?

Scrum là gì?
Scrum là một khung làm việc dùng để quản lý các dự án phức tạp từ đầu những năm 1990 bên lĩnh vực phát triển phần mềm. Scrum đơn giản, dễ áp dụng nhưng khó thành thạo.
Scrum là gì?

Scrum là một khung làm việ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 có tính thích nghi cho các vấn đề phức tạp.

Scrum yêu cầu Scrum Master để thúc đẩy một môi trường mà:

  • Product Owner sắp xếp các công việc trong một Product Backlog.
  • Nhóm Scrum chuyển đổi các công việc thành phần gia tăng giá trị trong Sprint.
  • Nhóm Scrum và các bên liên quan kiểm tra kết quả và điều chỉnh cho Sprint tiếp theo.
  • Lặp lại

Nhóm Scrum có 2 đặc tính cơ bản là tự quản lý và liên chức năng

  • Liên chức năng nghĩa là các thành viên có tất cả các kỹ năng cần thiết để tạo ra giá trị sau mỗi Sprint.
  • Tự quản lý nghĩa là họ tự quyết định ai làm gì, khi nào và như thế nào.

Scrum Theory

Scrum được thành lập dựa trên quy trình thực nghiệm hay còn gọi là chủ nghĩa kinh nghiệm. Chủ nghĩa kinh nghiệm khẳng định rằng kiến thức đến từ kinh nghiệm và đưa ra quyết định dựa trên những gì đã biết. Scrum sử dụng cách tiếp cận gia tăng lặp lại (iterative & incremental) để tối ưu hóa khả năng dự đoán và kiểm soát rủi ro.

Phát triển sản phẩm kiểu tăng trưởng, lặp

Chủ nghĩa thực nghiệm

Minh bạch (Transparency)

Những khía cạnh quan trọng của quy trình phải được minh bạch cho những ai có liên quan. Tính minh bạch đòi hỏi những khía cạnh phải thỏa mãn hai yếu tố: được thấy (visible) và được hiểu giống nhau (shared understanding).

Thanh tra (Inspection)

Người dùng Scrum phải thường xuyên kiểm tra các Scrum Artifacts và tiến độ Sprint để phát hiện những sai lệch không mong muốn.

Thích nghi (Adaptation)

Nếu quá trình kiểm tra phát hiện những sai lệnh quá giới hạn thì nhóm Scrum phải tự điều chỉnh càng sớm càng tốt để thích nghi và giảm thiểu sai lệch. 

Scrum Framework

Scrum gồm có:

  • 03 vai trò (Scrum Roles)
  • Product Owner
  • Scrum Master
  • Developers
  • 03 tạo tác (Scrum Artifacts)
  • Product Backlog
  • Sprint Backlog
  • Product Increment
  • 05 sự kiện (Scrum Events)
  • Sprint
  • Sprint Planning
  • Daily Scrum
  • Sprint Review
  • Sprint Retrospective

Các quy tắc (Rules) gắn kết các vai trò, sự kiện và tạo tác lại với nhau, chi phối các mối quan hệ và sự tương tác giữa chúng.

Scrum Framework

Tìm hiểu thêm về Scrum roles, Scrum artifacts và Scrum events trong video sau:

Scrum values

Scrum values

Sự cam kết (Commitment)

Cam kết là về sự cống hiến và tận tâm vào các hành động, nỗ lực chứ không phải kết quả cuối cùng. Người dùng Scrum cần cam kết những điều sau:

  • Xây dựng các nguyên tắc làm việc theo Scrum và Agile
  • Mục tiêu Sprint
  • Luôn nỗ lực làm việc hàng ngày
  • Không ngừng học hỏi
  • Liên tục tìm kiếm các cải tiến
  • Đặt lợi ích của nhóm lên trên lợi ích cá nhân, tinh thần làm việc tập thể
  • Tự tổ chức công việc
  • Tuân theo các quy ước trong định nghĩa hoàn thành (Definition of Done)

Sự tập trung (Focus)

Cách tiếp cận lặp đi lặp lại và gia tăng, sử dụng các khung thời gian (time-box) của Scrum tạo ra sự tập trung. Người dùng Scrum cần tập trung vào các điều sau:

  • Các công việc quan trọng nhất tại một thời điểm
  • Các công việc gắn với mục tiêu Sprint
  • Hoàn thành các công việc dở dang thay vì nhảy qua các công việc mới
  • Tập trung làm điều đơn giản nhưng có giá trị

Sự cởi mở (Openness)

Chủ nghĩa kinh nghiệm của Scrum đòi hỏi sự minh bạch, cởi mở. Chúng ta cần đánh giá các sự việc diễn ra để đưa ra những điều chỉnh hợp lý. Người dùng Scrum cần cởi mở về những điều sau:

  • Công việc, tiến độ, khó khăn hoặc bài học kinh nghiệm
  • Các khía cạnh con người của chúng ta
  • Chia sẻ phản hồi và học hỏi lẫn nhau
  • Bất kỳ thay đổi xảy ra vì chúng ta không thể đoán trước được mọi việc trong thế giới ngày nay

Sự tôn trọng (Respect)

Giống như bất kỳ phương pháp Agile nào khác, Scrum chú trọng vào con người. Xây dựng đội ngũ tin tưởng lẫn nhau là ưu tiên của Scrum. Người dùng Scrum cần thể hiện sự tôn trọng đối với:

  • Kinh nghiệm và nền tảng cá nhân của các thành viên
  • Sự đa dạng của mọi người trong quan điểm và ý kiến của họ
  • Nhà tài trợ sản phẩm bằng cách không xây dựng các tính năng không có giá trị hoặc lãng phí tiền vào những thứ không bao giờ được sử dụng
  • Kỹ năng, chuyên môn và hiểu biết mỗi thành viên
  • Trách nhiệm của các vai trò trong Scrum

Sự can đảm (Courage)

Người dùng Scrum nên thể hiện sự can đảm của họ trong các bối cảnh như sau:

  • Yêu cầu sản phẩm không bao giờ đầy đủ và rõ ràng
  • Dám thay đổi vì đây là nguồn cảm hứng của sự đổi mới
  • Không phát hành phần mềm chưa hoàn tất
  • Đảm bảo sự minh bạch vì nó giúp ích cho nhóm và tổ chức
  • Làm những điều đúng đắn
  • Ra khỏi vùng an toàn và thử thách bản thân nhiều hơn

Khi các giá trị về sự cam kết, sự tập trung, sự cởi mở, sự tôn trọng và can đảm được nhóm Scrum bồi dưỡng và vun đắp, tính minh bạch, thanh tra và thích nghi sẽ đi vào cuộc sống và tạo dựng niềm tin cho mọi người. Các thành viên nhóm Scrum tìm hiểu và khám phá những giá trị đó khi họ làm việc và tương tác với nhau qua mỗi Sprint.

Thành công của nhóm Scrum phụ thuộc vào mức độ thấu hiểu và tuân theo năm giá trị này của các thành viên.

Tham khảo:

  • The Scrum Guide 2020 (Jeff Sutherland and Ken Schwaber)
  • Scrum – A pocket guide (Gunther Verheyen)

Cảm ơn các bạn đã đọc bài viết này.

Nếu bạn có câu hỏi, đánh giá, hay góp ý cho tác giả, xin vui lòng để lại comment bên dưới.

About Khiem Huynh
About Khiem Huynh

Khiêm Huỳnh là Agile Coach có hơn 12 năm kinh nghiệm trong lĩnh vực phát triển phần mềm, hơn 8 năm làm việc và hướng dẫn áp dụng các lý thuyết và thực hành Agile cho các nhóm và tổ chức. Là người Việt Nam đầu tiên sở hữu nhiều chứng chỉ quốc tế khác nhau về lý thuyết, thực hành và chuyển đổi Agile như ICP-ACC, ICP-CAT, SAFe 5.0 SA, PSK, PSM III, PMI-ACP. Khiêm có nhiều kinh nghiệm trong việc vận dụng các phương pháp và thực hành Agile khác nhau để xây dựng đội nhóm tự tổ chức, hiệu suất cao; tư vấn và huấn luyện chuyển đổi Agile phù hợp với đặc thù của tổ chức.