Các nhóm phát triển phần mềm theo mô hình Waterfall truyền thống tuân theo cấu trúc của tổ chức và việc lên kế hoạch lịch trình thường là chỉ dẫn “từ trên xuống”, hay nói cách khác là ban quản lý quy định tốc độ và lịch trình của nhóm. Ngược lại, các nhóm Agile là các nhóm tự tổ chức (self-organizing): tự đặt ra lịch trình dựa trên các ưu tiên từ Product Owner và năng lực sẵn có của nhóm.

Các Scrum Master và Development Manager (nhà quản lý phát triển) là những người thu hẹp khoảng cách giữa cấp quản lý cao và các nhóm phát triển. Ưu tiên của họ là tối ưu hoá hiệu suất của các nhóm và cá nhân, nhằm tạo ra phần mềm có chất lượng tốt nhất và đáp ứng các mục tiêu của công ty. Scrum Master và Development Manager cũng bảo vệ các nhóm tránh khỏi những phiền nhiễu từ bên ngoài như việc yêu cầu thêm quá nhiều tính năng, waterfall anti-pattern, các vấn đề về cross-functional hay dự án phụ làm xao nhãng mục tiêu thực sự của nhóm.

Scrum Master tập trung vào việc xây dựng tốc độ, còn Development Manager tập trung xây dựng các kỹ năng của thành viên nhóm.

Development Manager là ai?

Development Manager là một trong những thành viên chính và đóng vai trò quan trọng trong các tổ chức Agile. Họ chịu trách nhiệm về chất lượng sản phẩm, từ kiến trúc mã nguồn cho đến chất lượng mang đến cho người dùng cuối. Để thực hiện điều đó, họ tham gia vào các cuộc đánh giá mã nguồn để đảm bảo các thành viên trong nhóm đang đóng góp mã nguồn đáp ứng các mục tiêu ngắn hạn và dài hạn của chương trình, đồng thời có ảnh hưởng lớn trong việc lựa chọn công nghệ vì họ rất am hiểu về nhóm và chương trình. Sự hiểu biết này giúp Development Manager chia sẻ, phổ biến các ngữ cảnh cho nhóm và các cấp cao hơn trong tổ chức.

Development Manager cũng là những người xây dựng nhóm, bắt đầu bằng việc tuyển dụng. Development Manager thúc đẩy quá trình tuyển dụng và là người thích hợp để làm điều đó vì:

– Việc tuyển dụng tốn thời gian và làm xao nhãng nhóm
– Việc tìm kiếm ứng viên khiến nhóm không thể tập trung và việc xây dựng những sản phẩm tuyệt vời
– Development Manager có thể giảm bớt một số yếu tố tác động đến hiệu suất khi nhóm có một thành viên mới tham gia

Nói một cách đơn giản, khi Development Manager chịu trách nhiệm cho những công việc tuyển dụng, nhóm có thể tập trung hoàn toàn vào việc phát triển sản phẩm.

Development Manager cũng đóng vai trò một cộng sự và người cố vấn, vì họ thông thạo các nguyên tắc căn bản của quản lý: cuộc họp trực tiếp 1:1, đưa ra phản hồi (feedback) và huấn luyện (coaching). Những người quản lý thành công cố vấn các kỹ sư để họ có thể tạo ra các ý tưởng, mã nguồn, quy trình kiểm thử và văn hoá tuyệt vời. Đôi khi nhóm sẽ gặp khó khăn với những quyết định, từ thiết kế kiến trúc cho đến chiến lược phân nhánh. Những người quản lý lão luyện biết khi nào họ cần can thiệp và khi nào nên để nhóm tiếp tục đối phó với khó khăn để học hỏi.

Một trong những khác biệt lớn giữa các nhóm Agile so với nhóm Watefall là: Development Manager là một cộng sự trong quá trình ước tính. Trong một nhóm Waterfall, chúng ta thường nghe được một đoạn hội thoại như sau:

– Quản lý: Chúng ta sẽ mất bao nhiêu thời gian để chuyển giao tính năng này?
– Kỹ sư: Việc này cần 6 tuần. Chúng tôi cần làm các công việc A, B, C để đưa tính năng ra thị trường.
– Quản lý: Hmm, cũng có lý. Tuy nhiên chúng ta cần tìm ra một cách hoàn thành trong 4 tuần.

Trong quy trình Agile, Development Manager biết cách tuyển dụng những người tài giỏi và tin tưởng họ. Một trong những nguyên lý cơ bản của Agile là những người gần gũi nhất với công việc chính là những người có khả năng mở rộng phạm vi và phân phối tốt nhất. Nhóm phát triển chịu trách nhiệm lập lịch trình. Người quản lý bổ sung giá trị độc đáo trong việc hỏi và xem xét các giả định được thực hiện trong quá trình ước tính – hợp tác thay vì ra lệnh trong cả quá trình.

Bạn sẽ không nghe thấy những câu như Hãy tìm cách hoàn thành trong 4 tuần trong các tổ chức Agile. (Và nếu có, chắc hẳn đang có một vấn đề nào đó!)

Một nguyên lý của quy trình Agile là: những người gần gũi nhất với công việc chính là những người có khả năng mở rộng phạm vi và phân phối tốt nhất.

Scrum Master là ai?

Scrum Master là người lãnh đạo dự án trong một nhóm Agile, tập trung vào việc tối ưu hoá hiệu suất, làm việc giữa Product Owner và nhóm để đảm bảo các sprint thành công và diễn ra một cách nhất quán. Scrum Master cũng chịu trách nhiệm điều phối giữa các nhóm để các nhóm cốt lõi có thể tập trung vào việc phát triển sản phẩm.

Mục tiêu của Scrum Master là giữ cho nhóm hoạt động hiệu quả và đảm bảo nhóm luôn có chung một suy nghĩ. Để làm được điều đó, Scrum Master điều phối hầu hết các đầu vào và đầu ra cần thiết của một chương trình Agile: điều khiển các sự kiện Agile như sprint kickoff, daily stand-up, sprint review, sprint retrospective và làm việc với nhóm cùng các Development Manager để ước tính các mục tiêu lớn hơn như epic và user story trong backlog. Scrum Master có thể không am hiểu kỹ thuật như những người còn lại trong nhóm, do đó một Development Manager cùng tham gia sẽ cung cấp bối cảnh hữu ích giữa Scrum Master và nhóm khi xuất hiện lỗ hổng kiến thức. Khi nhóm trưởng thành hơn trong việc áp dụng Agile, Scrum Master sẽ ít tập trung hơn vào việc ước tính mà thay vào đó, tập trung nhiều hơn vào việc tối ưu hoá tốc độ phân phối.

Scrum Master cũng hoạt động như một huấn luyện viên Agile cho các tổ chức, giúp nhóm áp dụng và thành thạo các phương pháp Agile trong suốt vòng đời của sản phẩm: ước tính story point, lập kế hoạch sprint và phân phối liên tục. Khía cạnh huấn luyện trong công việc của Scrum Master là rất quan trọng. Là những chuyên gia Agile, họ biết lý do tại sao Agile phù hợp với dự án và công ty, đồng thời có thể là người liên tục khuyến khích Agile khi một doanh nghiệp phải trải qua những khó khăn ngày càng tăng khi áp dụng Agile.

Sự cộng tác của Scrum Master và Development Manager trong Agile

Hầu hết các nhóm Waterfall đều lấy người quản lý làm trung tâm. Họ tìm đến người quản lý để thiết lập các ưu tiên, theo dõi tiến độ và đánh giá hiệu suất. Ngược lại, các nhóm Agile là các nhóm tự tổ chức, có lộ trình và kế hoạch phân phối của riêng họ. Để áp dụng Agile trong các tổ chức lớn hơn, Scrum Master và Development Manager cần làm việc cùng nhau để xây dựng văn hoá Agile trong toàn bộ tổ chức và hoạt động như một cầu nối giữa các nhóm và cấp quản lý C-level. Vì cả hai vai trò đều hoạt động với nhiều nhóm Agile, họ là những thành viên chính của Agile.

Scrum Master tập trung vào việc áp dụng và triển khai Agile của nhóm, còn Development Manager tập trung vào việc tuyển dụng đúng người, cố vấn các thành viên trong nhóm và đảm bảo một văn hoá phát triển tốt trong mỗi nhóm. Cả hai vai trò này hoạt động cùng nhau và thúc đẩy, hỗ trợ các nhóm Agile trong quá trình phát triển sản phẩm.

Tham khảo thêm về bài viết kì trước: Tổng quan về các chỉ số trong Scrum

Theo Atlassian

Menu