Trách nhiệm của đội phát triển là gì

Các vai trò trong Scrum

March 26, 2015

Mô hình Scrum là một mô hình khá mới mẻ nhưngđang dầnđượcáp dụng vào trong các dựán của khá nhiềucông ty phần mềm hiện nay.
Thay vì các mô hình truyền thống như mô hình thác nước (waterfall), mô hình Scrum đang ngày càngđượcưa chuộngvà đã được thử nghiệm tại cácđội phát triển phần mềm vì một số lí do:

  • Scrum là một khung làm việc linh hoạt cho phép bạn sử dụngđược nhiều quy trình và kĩ thuật khác nhau
  • Scrum thíchứng nhanh với sự thayđổi yêu cầu
  • Scrum vận hành dựa trênđặc tính tự nhiên của người phát triển nên rất dễ hiểu, dễáp dụng, tạo nên tính tương tác cao giữa các thành viên trong nhóm thay vì chịu sựápđặt từ phía bên ngoài
  • Scrum giúp team tập trung vào sản phẩm, thíchứng nhanh với các thayđổi về yêu cầu từđó tạo nên sự tương tác cao giữa khách hàng với nhóm phát triểnđể sản phẩm làm rađápứngđúng với các yêu cầu của khách hàng

Trách nhiệm của đội phát triển là gì
Trách nhiệm của đội phát triển là gì

Có 3 yếu tố quan trọng cấu thànhScrum gồm: vai trò(roles), sự kiện(events) vàđồ nghề(artifacts). Vàđiều tôi muốn nhấn mạnhởđây chính là các vai trò và trách nhiệm của mỗi vai tròtrong Scrum, một trong những nhân tố quan trọng dẫnđến sự thành công củaScrum.
Như mọi người đã biếttrong Scrum hiện tại đangbao gồm 3 vai trò chính:

  • Chủ sản phẩm(ProductOwner)
  • Điều phối viên(Scrum Master)
  • Nhóm phát triển(Development Team)

1. Chủ sản phẩm (Product Owner)
Product Owner là người sở hữu sản phẩm, hiểu rõ nhất về sản phẩm và các yêu cầu của sản phẩm. Vai trò này thườngđượcđảm nhiệm bởi khách hàng. Trong trường hợpkhách hàng không có người thìBusiness Analyst/BrSE của công ty phần mềm có thể thay thế vai trò này.

Trách nhiệm của đội phát triển là gì
Trách nhiệm của đội phát triển là gì

ProductOwner chịu trách nhiệm:

  • Quản lýProduct Backlog
  • Mô tả các hạng mục trong Product Backlog
  • Sắp xếp các item trong Product Backlogđể tôiưu hóa mục tiêu và trách nhiệm
  • Đánh giá một cách khách quan giá trị công việc mà Development Team thực hiện
  • Đảm bảo Product backlog luôn rõ ràng và dễ hiểu
  • Đưa ra tiêu chíđể đánh giá/nghiệm thu sản phẩm

Không ai ngoài Product Owner được phép yêu cầu Nhóm phát triểnlàm gì khác, và Nhóm phát triểncũng không được phép làm bất cứgì theo ý củangười khác.
Bởivậyđể làmđược một ProductOwner cần có các kĩ năng cần thiết sau:

  • Phải có kinh nghiệm về sản phẩm sẽ phát triển
  • Hiểu rõ về khách hàng và quy trình nghiệp vụ của sản phẩm
  • Hiểu rõ các nhu cầu, chức năng, mứcđộưu tiên của sản phẩm
  • Có kĩ năng giao tiếp tốt với nhóm phát triển

2. Điều phối viên (Scrum Master)
Scrum master là người chịu trách nhiệmchínhđể nhóm phát triển apply và thực hiệnđúng các yêu cầu của Scrum.

Trách nhiệm của đội phát triển là gì
Trách nhiệm của đội phát triển là gì

Các công việc hính của một Scrum Master bao gồm:

  • Đảm bảo cho quy trình Scrumđược tuân thủ
  • Thúcđẩy các sự kiện Scrum theo yêu cầu hoặc khi cần thiết
  • Huấn luyện nhóm phát triển cách tựtổ chức và làm việc liên chức năng
  • Lọai bỏ các trở lực trong quá trình tác nghiệp của nhóm phát triển
  • Phát hiện và giúp nhóm phát triển giải quyết các vấnđề
  • Giúp nhóm phát triển học hỏi từ các kinh nghiệm

Vì vậy,để làmđược một Scrum Master cần phải có các kĩ năng cần thiết sau:

  • Am hiểu về Scrum và các quy trình của Scrum
  • Có kĩ năng về quản lý, xử lý tình huống, giải quyết các mâu thuẫn,động viên và phát huy khả năng làm việc của người khác
  • Có khả năng gắn kết giữa các thành viên

3. Nhóm phát triển(Development Team)
Nhóm phát triển là nhóm chịu trách nhiệm chính trong việc phát triển sản phẩm. Mỗi người trong nhóm sẽ có những kĩ năng riêng biệtkhác nhau. Nhóm này nhằm phát huy tốiđa các kĩ năng của mỗi thành viên trong nhómđể có thểđạtđược kết quả cao nhất.

Trách nhiệm của đội phát triển là gì
Trách nhiệm của đội phát triển là gì

Đặcđiểm của Nhóm phát triển:

  • Là một nhóm tự tổ chức(self-organizing)
  • Là một nhóm liên chức năng( cross-functional) với tất cả các kĩ năng cần thiếtđể tạo ra phần tăng trưởng của sản phấm
  • Các thành viên trong nhóm phát triển có thể có các kĩ năng chuyên biệt,đặc thù nhưng họ phải chịu trách nhiệm dưới một thể thống nhất là nhóm phát triển
  • Nhóm phát triển không chứa bất cứ một nhóm con nào khác với các chức năngđặc thù
  • Họ nhận công việc,ước lượng thời gian hoàn thành và chịu trách nhiệm về chất lượng của phần công việc mà mìnhđược giao
  • Sửa lỗi vàđóng góp vào việc cải tiến sản phẩm
  • Hiểu và tuân thủ các quy trình trong Scrum
  • Tham gia các sự kiện trong Scrum như: Planning meeting, daily meeting, Retrospective meeting

Một nhóm phát triển thường từ 3đến 9 thành viên. ProductOwner và Scrum Master sẽ khôngđược tính vào nhóm phát triển, trừ khi họ cũng kiêm luôn vai trò là thành viên của nhóm phát triểnđấy.
Đế làm được các việc trên, các thành viên trong nhóm phát triển cần có một số kĩ năng sau:

  • Hiểu, áp dụng được Scrum
  • Có các kĩ năng về phân tích, thiết kế, ngôn ngữ lập trình, kiểm thử phần mềm
  • Có kĩ năng làm việc nhóm

Kết luận
Việcáp dụng mô hình Scrum vào các công ty phần mềm hiện nayđang khá phổ biến nhưng không phải công ty nào cũngáp dụng nó một cách thành công. Vì việc thayđổi sang mô hình Scrum mới này dẫnđến việc thayđổi toàn bộ cấu trúc của một công ty nên bướcđầuáp dụng nó vào một tổ chức không hềđơn giản, có thể gây conflict từ nhiều phía. Dođó cần dựa vào tình hình của mỗi công tyđểáp dụng mô hình này cho phù hợp.

Reference link:
http://www.scrumguides.org/docs/scrumguide/v1/scrum-guide-us.pdf
http://iviettech.vn/blog/283-co-ban-ve-scrum.html

No related posts.

Trách nhiệm của đội phát triển là gì
Trách nhiệm của đội phát triển là gì

Kinh nghiệm phân tích các yêu cầu nghiệp vụ cho hệ thống phần mềm

Review about Scrum and Domain Driven Design

Trách nhiệm của đội phát triển là gì
Trách nhiệm của đội phát triển là gì

A Small Thinking About Scrum Model

About The Author

Vu Thi Bich

Add a Comment

Cancel reply

You must be logged in to post a comment.