Scrum cho người mới bắt đầu - Phần 3: Nhóm scrum
Tiếp nối phần số 2 của seri này, ở phần 3, chúng ta sẽ cùng tìm hiểu về : Nhóm liên chức năng và tự tổ chức Các giai đoạn phát triển của nhóm làm việc Nhóm scrum ScrumMaster Product Owner Nhóm Phát triển (team) Các nghề nghiệp đặc thù Scrum. Thôi không lan man nữa, let's go. Nhóm ...
Tiếp nối phần số 2 của seri này, ở phần 3, chúng ta sẽ cùng tìm hiểu về :
- Nhóm liên chức năng và tự tổ chức
- Các giai đoạn phát triển của nhóm làm việc
- Nhóm scrum
- ScrumMaster
- Product Owner
- Nhóm Phát triển (team)
- Các nghề nghiệp đặc thù Scrum. Thôi không lan man nữa, let's go.
Nhóm tự tổ chức và liên chức năng
Trong các tuyên ngôn của Agile có một câu là "Cá nhân và tương tác hơn là quy trình và công cụ". Bí quyết thành công của Scrum nằm ở các cá nhân và sự tương tác qua lại giữa các cá nhân trong nhóm Scrum. Nhóm Scrum bao gồm Product Owner, Nhóm phát triển và ScrumMaster. Nhóm Scrum là nhóm tự tổ chức (self-origanizing) và liên chức năng(cross-functional). Nhóm tự tổ chức tự mình chọn cách thức tốt nhất để hoàn thành công việc chứ không bị chỉ đạo bảo ai đó bên ngoài nhóm. Nhóm liên chức năng có đủ kĩ năng cần thiết để hoàn thành công việc mà không phụ thuộc vào bất kì người ngoài nào khác ngoài nhóm. Mô hình nhóm trong Scrum được thiết kế để tối ưu hoá sự linh hoạt, sáng tạo và năng suất. Nhóm Scrum chuyển giao sản phẩm theo phân đoạn lặp đi lặp lại và tăng dần, tối đa hoá cơ hội cho các phản hồi. Việc chuyển giao tăng dần các gói sản phẩm đạt tiêu chuẩn "hoàn thành" đảm bảo một phiên bản có thể sử dụng được của sản phẩm.
TỰ TỔ CHỨC có nghĩa là nhóm cùng ra quyết định, cùng tổ chức công việc thông qua bàn bạc, phân công ngang hàng hướng đến mục tiêu chung. Trong nhóm tự tổ chức, không ai giao việc cho ai, mà chủ động lập kế hoạch, phân chia công việc hợp lý dựa trên các vai trò được định nghĩa rõ ràng từ trước. Các vai trò này được trao quyền để hoàn thành công việc.
LIÊN CHỨC NĂNG là một cơ cấu nhóm không quá mới mẻ và không phải Scrum phát minh ra. Đó là một nhóm bao gồm nhiều cá nhân với các chuyên môn khác nhau đủ năng lực được kết hợp cùng làm việc hướng tới một mục tiêu chung. Trong đội dự án, các cá nhân có thể đến từ nhiều phòng ban chức năng khác nhau, cũng có thể xuất phát từ bên ngoài (khách hàng, chuyên gia tư vấn). Nhưng khi đã thành một team, thì các các nhân làm việc tập trung cho đội như là một đơn vị để hoàn tất mục tiêu chung. bên trong nhóm liên chức năng không có nhóm nhỏ khác. Ví dụ: một nhóm Scrum được thành lập với 1 PO, 2 SM, 2 Tester, 5 Programer, 1 Design sẽ không phân chia chức năng thành các nhóm nhỏ khác như Tesing, Develoment, ... nữa, mà chi có 1 nhóm duy nhất với các nhân có chuyên môn khác nhau, hợp thành một đội thống nhất để làm việhc hướng tới sản phẩm cần phát triển. Ngoài lề chút, khác với nhóm liên chức năng, nhóm chức năng thường chỉ phụ trách 1 loại công việc đặc thù và có tính cô lập cao.
Các giai đoạn phát triển nhóm.
Một nhóm cộng tác trải qua những giai đoan khác nhau từ khi được bắt đầu thành lập cho tới khi hoạt động ổn định theo thời gian. Việc nhận diện các giai đoạn của nhóm là quan trọng để đưa ra quyết định chính xác nhằm đảm bảo nhóm đạt được hiệu quả tốt nhất.
Tuckman ( một nhà tâm lý học người Mỹ) đã đưa ra một mô hình để giải thích các giai đoạn này. Mô hình Tuckman chia chặng đường đó thành 4 chặng là Hình Thành - Sóng Gió - Ổn Định - Hiệu Xuất Cao - Thoái Trào ScrumMaster có vai trò rất quan trọng đối với việc xây dựng và phát triển nhóm. Nhiệm vụ của vai trò là quan sát để biết nhóm của mình đang ở giai đoạn nào để có những hành động hỗ trợ cần thiết nhằm đẩy nhanh sự phát triển hoặc duy trì sự ổn định của nhóm. Tìm các giải pháp tháo gỡ những trở ngại đối với nhóm trong quá trình phát triển.
SCUMMASTER
ScumMaster là một vai trò then chốt trong nhóm Scrum có trách nhiệm đảm bảo Scrum được vận hành đúng bằng việc tuân thủ nguyên lý, các kĩ thuật và quỹ tác Scum nhằm hướng đến kết quả tốt nhất. ScrumMaster là người tháo gỡ khó khăn và tạo điều kiện cho nhóm làm việc tốt nhất có thể, huấn luyện đội nhóm thành thục Scrum và hưởng lợi ích từ Scrum. Scummaster không trực tiếp tham giao vào công việc làm ra sản phẩm những là chất kết dính để các bên phối hợp với nhau tạo ra sản phẩm tốt. ScrumMaster không phải là quản lý của nhóm mà là một lãnh đạo theo phong cách phục vụ. Với vai trò là lãnh đạo phục vụ, Scrummaster cung cấp các dịch vụ cho Product Owner, Nhóm Phát Triển và Tổ Chức.
Với Nhóm Phát Triển, ScumMaster phục vụ theo nhiều cách như sau:
- Đào tạo căn bản Scrum cho trường hợp thành viên chưa lắm rõ.
- Đảm bảo nhóm phát triển thực hiện tốt cho các sự kiện trong Scrum, bao gồm việc tuân thủ khung thời gian, đúng mục đích và nội dung cho từng sự kiện.
- Hỗ trợ nhóm phát triển tìm kiếm và sử dụng hiệu quả công cụ hỗ trợ phát triển , như công cụ để quản lý backlog, duy trì biểu đồ của Sprint, hệ thống mã nguồn, kiểm thử...
- Bảo vệ nhóm phát triển trước những can thiệp bên ngoài trong quá trình triển khai một Sprint. Ví dụ, giải thích rõ cho PO những tác hại mà việc này gây ra cho nhóm phát triển và sản phẩm khi PO muốn thay đổi hạng mục backlog đã lựa chọn cho 1 sprint đang diễn ra, đồng thời hướng dẫn PO đưa các thay đổi về sprint sau.
- Đảm bảo thông tin được minh bạch và thông suốt trong nhóm phát triển, chẳng hạn như thông qua việc nhắc nhở nhóm luôn cập nhập Sprint Backlog , đảm bảo nhóm phát triển thực hiện đúng sự kiện Scrum hàng Ngày.
- Đảm bảo nhóm phát triển có đầy đủ tài nguyên cần thiết phục vụ sản phẩm. Ví dụ như không giam làm việc, các công cụ hỗ trợ và những tài nguyên khác khi có nhu cầu.
- Tìm kiếm sự giúp đỡ từ chuyên gia bên ngoài khi nhóm phát triển gặp khó khăn.
Với PO, ScumMaster phục vụ theo nhiều cách như sau:
- Tìm kiếm các kĩ thuật để quản lý hiệu quả Product backlog
- Giao tiếp tích cực với nhóm phát triển về tầm nhìn, mục đích vvf các hạng mục của product backlog
- Dạy cho nhóm phát triển biết cách tạo ra các hạng mục ProductBacklog thật rõ ràng và đơn giản
- HIểu rõ việc lập kế hoạch dài hạn sản phẩm trong một môi trường thực nghiệm
- Hiểu rõ và thực hành sự linh hoạt
- Thúc đẩy các sự kiện Scrum theo yêu cầu hoặc khi cần thiết.
Vậy tóm lại công việc của ScrumMaster là
- Tổ chức các cuộc họp: như Planing meeting, Daily meeting, Reto, Demo v.v...
- Thanh tra, thu nhập và minh bạch hoá thông tin: Để tìm ra nguyên nhân của 1 vấn đề, ScrumMaster còn phải thành tạo và liên tự sử dụng 5WHYs để tìm ra các thúc đẩy nhóm tiến lên. Các thông tin quan sát được, điều tra được cần lưu trữ và tổ chức khoa học để tiện bề truy xuất
- Loại bỏ trở ngại: sư dụng 5WHYS để tìm những phương án cho những tình huống khó khăn. ngoài ra SM có thể duy trì một danh sách trở ngại (Impediment Backlog) và cùng với các bên để tháo gỡ dần dần.
- Tìm kiếm cải tiến
- Huấn luyện cho nhóm: thông qua các buổi seminar, workshop, coaching
PRODUCT OWNER
PO là một trong ba vai trò Scum. Vai trò này chịu trách nhiệm định hướng sản phẩm trong suôt quá trình sản xuất. Nhiệm vụ của PO là tối ưu hoá giá trị của sản phẩm thông qua việc tận dụng tốt nhất khả năng sản xuất của Nhóm Phát Triển. Để đảm đương tốt vai trò này, PO cần là người có hiểu biết về tầm nhìn của sản phẩm. Có thể PO chưa biết cụ thể sẽ làm những gì nhưng có hiểu biết sâu sắc tại sao lại xây dựng sản phẩm này. PO là một người duy nhất, không phải là một nhóm người. Điều này không có nghĩa là một mình PO phải làm mọi việc mà có thể trao đổi, nhận sự hỗ trợ từ những người khác. Tuye nhiên PO vẫn là người đại diện duy nhất và chịu trách nhiệm về sdanr phẩm đang xây dựng. Cụ thể PO là người duy nhất chịu trách nhiệm quản lý Product Backlog - nơi lưu trữ các hạng mục cần phát triển của sản phẩm. Ngoài việc quản lý, PO còn phải tích tự tham gia vào các cuộ họp của nhóm để cung cấp thông tin cần thiết, chủ đọng quản lý một kế hoạch phát hành cho sản phẩm.
Nhưng nhiệm vụ chính của PO là:
- Công việc đầu tiên của PO là tìm hiểu và phân tích kĩ về sản phậm dự định phát triển, lên danh sách các tính năng mong muốn bằng việc liệt kê chung trong Product Backlog. Đây là danh sách các hạng mục mà nhóm phát triển dựa vào để làm việc và chuyển thành các tính năng của sản phẩm thật. Danh sách này không phải là cô định mà được điều chỉnh trong suốt qua trình phát triển của sản phẩm sao cho phù hợp nhất.
- Các hạng mục của Product Backlog sẽ được PO đánh giá giá trị và săp xếp. Hạng mục nào có giá trị cao hơn sẽ đươc đưa lên trên để sản xuất sớm nhất. Khái nhiệm giá trị ở đây phụ thuộc vào rất nhiều yếu tốt, ví dụ như lợi nhuận, mong muốn kahchs hàng và mục tiêu chiếc lực, v.v...
- Nhiệm vụ thứ 3 của PO là tối ưu hoá lợi nhuận trên vốn đầu tư. Trong khi, khả năng sản xuất của Nhóm Phát Triển thường có một giới hạn nhất định, PO là người luôn phải tìm cách để sử dụng tốt nhất khả năng này. vì vậy, ngoài việc sắp xếp các hạng mục trong Product backlog thì Po cũng cần phải biết nói "không" để laoij bỏ những mạng mục không cần thiết.
- PO phải giữu cho Product backlog luôn được minh bạch,. rõ ràng đối với tất cả mọi người .
- Một nhiệm vụ nữa của PO là giải thích cho Nhóm Phát Triển hiểu rõ hạng mục Của Product backlog. Điều này đảm bảo nhóm phát triển hiểu đúng và đầy đủ về từng hạng mục mà họ triển khai.
- Nhiệm vụ cuối cùng là theo dõi tiến độ phát triênmr của sản phẩm.
Sự thành công của PO phu thuộc vào những yếu tố như:
- PO cần được trao quyền rả quyết định. Các quyết định này cần phải được tôn trọng. Chúng được thể hiện thông qua nội dùng và trật tự của các hạng mục trong một Product Backlog . Nhóm Phát triển chỉ làm việc dựa trên Product Backlog này chứ không phải làm theo bất cứ yêu cầu nào khác, cho dù yêu cầu đó xuất phát từ bất cứ ai.
- PO phải hiểu biết về lĩnh vực sản phẩm đang xây dựng. Điều này cần thiết để giữ đúng hướng đi trong quá trình phát triển, đưa ra các quyết định, lựa chọn, thêm hay loại bỏ các tính năng nhằm giữ cho Nhóm phát triển luôn làm việc trên những hạng mục cần thiết và sản phẩm luôn mang lại giá trị cao.
- PO phải có đủ thời gian cho công việc của mình. Tốt nhất anh ta là người làm việc fulltime cho một sản phẩm duy nhất để tránh suy giảm hiệu quả công việc.
- PO phải có kĩ năng giao tiếp và thương lượng tốt. Quá Trình pt sản phẩm đòi hỏi PO trao đổi và cộng tác thường xuyên với NHÓM PHÁT TRIỂN và các bên liên quan, cùng với đólà thương lượng để đưa ra quyết định ảnh hướng đến sản xuất và sản phẩm. Do đó , các kĩ năng này rất quan trọng để đảm bảo công việc PPO có thể đạt kết quả cao nhất.
NHÓM PHÁT TRIỂN
Cuối cùng, nhóm phát triển là đội ngũ trực tiếp làm ra sản phẩm, nhóm này bao gồm các thành viên có nhiệm vụ chuyển giao phần tăng trường có thể chuyển giao được ở cuối mỗi Sprint. Nhóm phát triển trong Scrum cũng là một nhóm tự tổ chức và liên chức năng. Nhóm được trao quyền để tự định hướng và đưa ra các quyết định liên quan đến công việc của sản xuất. Tự tổ chức là nhóm tự toàn quyền quyết định công cụ, kĩ thuật để hoàn thành sản phẩm. Nhóm tự lựa chọn hạng mục từ danh sách đã sắp xếp của BackLog sao cho phù hợp với khả năng sản xuất của mình. Đây là một khách khác việt so với một số mô hình phát triển khác. Trong mỗi hạng mục, nhóm sẽ là người ước lượng kích thước tốt nhất bởi vì họ biết về công việc và yếu tố liên quan tới đó. Nhóm phát triển thường xuyên theo dõi tiến độ công việc để biết khả năng của mình tốc độ sản xuất, tình hình đạt được và các cột mocos quan trọng của sản phẩm. Nhờ đó để dễ dàng điểu chinh cho hợp lý trong quá trình sản xuất. Nhóm phát triển không có sự phân chia chức danh hay vai trò, tất cả các thành viên có vai trò giống nhau. Mỗi thành viên thường có thể mạnh ở một vài kĩ năng nhất định và những kĩ năng đó góp lại trở thành kĩ năng chung của nhóm chứ không còn là của riêng cá nhân nào
Một đặc điểm quan trọng của nhóm phát triển đó là tính liên chức năng. Liên chức năng đối với nhóm phát triển có nghĩa là nhóm được trang bị đầy đủ các kĩ năng cần thiết để hoàn thành công việc và chuyển giao phần tăng trưởng ở cuối mỗi Sprint mà không cần sự hỗ trợ từ bên ngoài. Đặc điểm này là quan trọng vì nó giúp nhóm phát triển thể hoạt động độc lập, trở thành một đơn vị sản xuất hoàn chỉnh, tổ chức vận hành và chuyển giao sản phẩm có chất lượng. Đặc điểm này giúp nhóm phát triển đưa ra các quyết định nhanh chóng, kịp thời mà không phụ thuộc và chờ đợi từ các cá nhân, đơn vị bên ngoài.
Ngoài việc trực tiếp làm ra sản phẩm, sự am hiểu của nhóm phát triển về sản phẩm là rất quan trọng để đi đến thành công. Đặc biệt là đối với các sản phẩm mới. Ở đó, sản phẩm là cả một quá trình tìm tòi, thử nghiệm, điều chỉnh mà ngay cả Product Owner và các bên liên quan đều không biết rõ rrafng từ trước.
Tổng kết
Phần 3 của seri đã giúp của bạn tìm hiểu các nhóm Scrum , ở phần sau, chúng ta sẽ cùng tìm hiểu các sự kiện trong Scrum nhé.
Kham thảo: Sách Cẩm năng Scrum Cho Người mới bắt đầu