Vai trò của BrSE trong các dự án Agile

I, Role trong Scrum

Trước hết chúng ta cần nắm được cơ bản về các vai trò (Role) trong SCRUM cũng như trách nhiệm , yêu cầu của mỗi Role:

1, 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. Thông thường vai trò này được đảm nhiệm bởi khách hàng. Nếu khách hàng không có người thực hiện việc này thì có thể người đóng vai trò Business Analyst của công ty phần mềm hoặc của đơn vị tư vấn thực hiện vai trò này. Product Owner chịu trách nhiệm về yêu cầu đầu ra của sản phẩm và là người chấp nhận sản phẩm.
Là người phải thực hiện các công việc :

  • Quản lý Product Backlog
  • Định nghĩa Sprint Backlog
  • Giám sát thường xuyên quá trình xây dựng các Stories
  • Xét duyệt các chức năng được đưa ra trong mỗi phiên bản
  • Sắp xếp các giai đoạn Release (PSI/release: Potentially Shippable Increment)
  • Tham gia và chuẩn bị cho quá trình hoạch định
    Và để làm tốt các nhiệm vụ này một PO cần phải có những skill cơ bản như:
  • Phải có kinh nghiệm về sản phẩm sẽ phát triển
  • Có kiến thức tốt về quản lý, công nghệ bao gồm cả kiến trúc, thiết kế v.v..
  • Hiểu rõ về khách hàng và qui trình nghiệp vụ của sản phẩm
  • Hiểu rõ nhu cầu, chức năng của sản phẩm, mức độ ưu tiên của sản phẩm.
  • Có kỹ năng lãnh đạo và giải quyết vấn đề
  • Phải có kỹ năng giao tiếp tốt cả với khách hàng và nhóm dự án
  • Có khả năng dẫn dắt, động viên nhóm dự án làm việc để họ phấn đầu hoàn thành dự án đúng mục tiêu đề ra.

2, SCRUM Master

Scrum Master là người chịu trách nhiệm chính để nhóm phát triển thực hiện đúng các yêu cầu của SCRUM:

  • Đảm bảo cho qui trình Scrum được tuân thủ
  • Đảm bảo sự tương tác hợp lý giữa PO, Team và Management
  • Bảo vệ và động viên Team
  • Giúp công tác tổ chức (như họp, hạ tầng v.v..)
  • Giúp Team tập trung vào công việc và đạt mục tiêu của Sprint hiện tại
  • Làm việc với PO
  • Training về Sprint cho Team, PO, Management và tổ chức
  • Đảm bảo và giúp cho mọi thứ thông suốt
  • Đấu tranh để phát triển một team có năng suất cao
  • Hỗ trợ các hoạt động như Team building, phát triển kỹ năng cho các thành viên, xây dựng feedback v.v..
  • Phát hiện và giải quyết các vấn đề
  • Giúp team học hỏi từ các kinh nghiệm

3, Development Team:

Team chịu trách nhiệm chính là phát triển sản phẩm, nó bao gồm các kỹ sư phần mềm làm việc cùng nhau. Tùy theo yêu cầu của từng dự án mà kỹ năng của các thành viên trong team khác nhau. Dưới đây, chúng ta sẽ liệt kê những yêu cầu chung của một kỹ sư phần mềm:

  • Hiểu rõ yêu cầu, phân tích, thiết kế, coding sản phẩm
  • Làm việc với PO để nắm rõ yêu cầu, đề xuất giải pháp, yêu cầu thay đổi các stories
  • Tham dự các cuộc họp Kick off, Sprint Planning, Sprint Review, Dialy Scrum Meeting
  • Nhận công việc, ước lượng và chịu trách nhiệm với công việc của mình về chất lượng, thời hạn hoàn thành
  • Sửa lỗi và đóng góp cải tiến sản phẩm
  • Hiểu rõ và tuân thủ Scrum Process

II, Vai trò của BrSE trong các dự án agile:

1, Vai trò của BrSE trong dự án :

Như các bạn vẫn biết, 1 BrSE không chỉ giởi kỹ thuật chuyên môn mà còn phải thấu hiểu về ngôn ngữ, văn hóa của 2 quốc gia, là cầu nối giải quyết các vấn đề giữa team và khách hàng , giúp cho dự án phát triển thuận lợi. Một BrSE ngoài những công việc chính như :

  • Hỗ trợ /Lên kế hoạch cho dự án.
  • Hiểu và triển khai yêu cầu của khách hàng
  • Quản lý tiến độ và rủi ro của dự án
  • Quản lý giao hàng và chất lượng của sản phẩm.
    Thì còn rất nhiều những công việc không tên khác nhằm kết nối giữa khách hàng và team offshore.

2, Vai trò của BrSE trong các dự án Agile:

Hiện nay các công ty của Nhật sử dụng offshore để phát triển phần mềm, kèm theo sự lên ngôi của process Agile giúp các dự án được diễn ra mượt mà và dễ dàng quản lý hơn, vậy thì BrSE sẽ đứng ở vị trí nào trong các dự án Agile. Trong process của Agile có 3 role chính đó là PO, Scrum master và Development Team, nhưng hầu như cụm từ PO và Scrum master còn khá lạ lẫm với hầu hết các dự án Agile tại Việt Nam, chúng ta dường như chỉ áp dụng bán phần process này. Tùy vào từng quy mô dự án lớn hay nhỏ nhưng hiện tại dường như một BrSE đang đảm nhiệm những vai trò của một PO và của một Scrum master; Kết hợp với PM của dự án mà một BrSE sẽ phải :

  • Quản lý Product Backlog
  • Định nghĩa Sprint Backlog
  • Giám sát thường xuyên quá trình xây dựng các Stories
  • Xét duyệt các chức năng được đưa ra trong mỗi phiên bản
  • Sắp xếp các giai đoạn Release (PSI/release: Potentially Shippable Increment)
  • Tham gia và chuẩn bị cho quá trình hoạch định
    Hay cũng phải thực hiện các công việc;
  • Đảm bảo cho qui trình Scrum được tuân thủ
  • Đảm bảo sự tương tác hợp lý giữa PM, Team và Management
  • Bảo vệ và động viên Team
  • Giúp công tác tổ chức (như họp, hạ tầng v.v..)
  • Giúp Team tập trung vào công việc và đạt mục tiêu của Sprint hiện tại
  • Làm việc với PM - Training về Sprint cho Team, Management và tổ chức
  • Đảm bảo và giúp cho mọi thứ thông suốt
  • Đấu tranh để phát triển một team có năng suất cao
    ... Vậy chẳng phải một BrSE đang đảm nhận 2 role của process Agile hay sao.

Bài viết này tôi muốn nói ra quan điểm rằng để có thể trở thành 1 BrSE thành công đòi hỏi ngoài skill về kỹ thuật chuyên môn họ còn phải có rất rất nhiều những skill mềm khác, và để chúng ta thấy rằng vai trò của một BrSe trong các dự án Agile là không hề nhỏ.