Nội dung chính
- Chào anh Hiếu! Anh có thể kể về nền tảng giáo dục và con đường nghề nghiệp của mình?
- Project Manager và Scrum Master khác nhau như thế nào vậy anh?
- Mô hình Scrum ưu việt hơn cách làm thông thường như thế nào vậy anh?
- Anh có thể định nghĩa Scrum Master là gì?
- Anh có thể kể về một ngày làm việc của mình?
- Sai lầm anh từng mắc phải trong vai trò Scrum Master là gì?
- Theo anh, 3 kỹ năng quan trọng nhất để làm Scrum Master là gì?
- Những resource anh muốn đề xuất cho các bạn muốn trở thành Scrum Master là gì?
Scrum Master là một vai trò trong mô hình Scrum có: Client, Product Owner, và các Scrum Team Member (Developer). Scrum Master là người đóng vai trò quan trọng trong việc giúp các thành viên trong nhóm hiểu lý thuyết, các kỹ thuật thực hành, quy tắc, và giá trị của Scrum.
Đồng thời, Scrum Master cũng là người giúp nâng cao hiệu suất làm việc của cả nhóm qua từng Sprint nhằm đảm bảo hoàn thành dự án tốt nhất.
Đọc bài phỏng vấn của ITviec với anh Nguyễn Trần Quang Hiếu, Senior Project Manager và Scrum Master của Poeta Digital, để biết:
- Scrum Master là gì? Công việc cụ thể của họ?
- Scrum Master và Project Manager giống và khác nhau như thế nào?
- Sai lầm anh Hiếu từng mắc phải trong vai trò Scrum Master và bài học rút ra
Xem thêm việc làm Scrum trên ITviec
Chào anh Hiếu! Anh có thể kể về nền tảng giáo dục và con đường nghề nghiệp của mình?
Anh tốt nghiệp Khoa Công nghệ Thông tin của Đại học Khoa học Tự nhiên TP.HCM năm 2005.
Anh bắt đầu sự nghiệp với vị trí Junior Developer mảng Telecom tại TMA Solutions. Trong khoảng 1,5 năm làm việc ở TMA, anh học được cách làm việc chuyên nghiệp của các khách hàng nước ngoài và teamwork.
Đầu năm 2007, anh chuyển đến FSoft và làm Embedded Software Developer trong gần 2 năm.
Cuối năm 2008, anh chuyển qua Harvey Nash (hiện tại là NashTech) và gắn bó với công ty này khoảng 8 năm.
Ban đầu khi gia nhập Harvey Nash, anh làm công việc Senior Developer, sau đó là Principal Developer.
Có thể bạn quan tâm: Lập trình viên lương bao nhiêu?
Vì Principal Developer là level cao nhất của Developer, nên anh cần định hướng cho con đường kế tiếp.
Lúc đó, nhận thấy hướng management thích hợp với mình, nên anh trình bày nguyện vọng với công ty.
May mắn là anh được tạo điều kiện để tham gia các khóa training về quản lý tại công ty. Anh cũng được công ty cho làm thử một số dự án. Sau đó anh trở thành Project Manager và Scrum Master.
Trong khoảng thời gian từ 2013 đến 2015, anh học và lấy bằng MBA của Solvay Brussels School (liên kết với Đại học Mở TP.HCM) để bổ sung kiến thức về management.
Năm 2015, anh đầu quân cho Poeta Digital để có cơ hội làm việc trong môi trường startup và công nghệ Blockchain. Anh đảm nhận vị trí Senior Project Manager và Scrum Master cho đến nay.
Project Manager và Scrum Master khác nhau như thế nào vậy anh?
Đa phần trong các công ty làm về IT (không chỉ ở Việt Nam) đều tồn tại cả 2 vai trò cùng 1 lúc, và nhiều khi do cùng 1 người đảm nhiệm. Nghĩa là 1 người vừa có thể đóng vai trò là Project Manager (PM) trong dự án này và Scrum Master trong dự án khác, phụ thuộc vào tính chất và mô hình của từng dự án.
Ví dụ trong mô hình quản lý dự án Waterfall hoặc RUP thì người chịu trách nhiệm chính là Project Manager, còn trong mô hình Agile thì là Scrum Master. Do đó Project Manager và Scum Master cũng có những khác biệt trong cách vận hành của dự án.
Project Manager là người chịu trách nhiệm chính trong việc đảm nhận toàn bộ quá trình hoạt động của một dự án (tất nhiên là cùng với team của PM đó): từ việc lấy yêu cầu của khách hàng, quản lý được scope, làm estimation, lên kế hoạch, quản lý ngân sách và quản lý nhân sự để đảm bảo dự án luôn đạt được yêu cầu của khách hàng về chất lượng, tiến độ và điều quan trọng nữa là dự án phải có lời.
Để làm được những điều đó, PM phải kiểm tra và giám sát công việc của các thành viên và nhận diện được các vấn đề phát sinh và rủi ro để có những giải pháp xử lý kịp thời cho dự án.
Trong khi đó, vai trò của Scrum Master nhỏ hơn và thiên về điều phối, tổ chức công việc và đảm bảo cho các thành viên (Scrum Member) vận hành theo đúng mô hình Agile.
Tham khảo bài viết: Agile đang là xu hướng mới trong các công ty phần mềm tại Việt Nam
Nhiệm vụ chính của Scrum Master là lấy yêu cầu của khách hàng (trong Scrum thường là Product Owner) để chuẩn bị Product Backlog, chia các yêu cầu đó thành các Sprint và lên kế hoạch để các thành viên làm việc.
Các thành viên sẽ tự tổ chức và quản lý công việc của mình, còn Scrum Master sẽ nắm tiến độ công việc thông qua các buổi họp hàng ngày.
Ngoài ra một nhiệm vụ quan trọng của Scrum Master là phải đánh giá được năng lực của cả team và của từng thành viên sau khi kết thúc 1 Sprint và đề ra cách để các bạn cải thiện trong các Sprint tiếp theo.
Mô hình Scrum ưu việt hơn cách làm thông thường như thế nào vậy anh?
Anh không dám đánh giá mô hình nào ưu việt hơn mô hình nào vì mỗi mô hình đều có công dụng của nó cho những loại dự án cụ thể.
Scrum sinh ra là do công nghệ và thị trường thay đổi rất nhanh và rât nhiều, tính cạnh tranh cũng rất cao dẫn đến dòng đời của một ứng dụng hoặc sản phẩm vì thế cũng sẽ ngắn đi rất nhiều, thậm chí mất khỏi thị trường rất sớm.
Ví dụ, trước đây, một sản phẩm có thể tồn tại 5-7 năm, nhưng bây giờ có khi tồn tại khoảng một năm hoặc vài tháng là có sản phẩm khác thay thế.
Hoặc như điện thoại di động chẳng hạn, trước đây 1 hãng điện thoại 1-2 năm mới ra 1 mẫu mới, bây giờ thì hầu như tháng nào cũng có sản phẩm mới.
Vì vậy, để ra sản phẩm nhanh, người ta cần một mô hình phát triển thật gọn, uyển chuyển và đáp ứng nhanh mong muốn của họ.
Ví dụ như 2 tuần là phải ra một phiên bản để có thể đánh giá nhu cầu thị trường hoặc để người dùng trải nghiệm, để được như vậy thì cần dùng mô hình Scrum. Mô hình này rất phù hợp với những dự án nhỏ, các start-up…
Anh Hiếu (ở giữa, hàng đứng) cùng các đồng nghiệp ở Poeta
Anh có thể định nghĩa Scrum Master là gì?
Scrum Master là một vai trò trong mô hình Agile. Ngoài Scrum Master, mô hình này còn có: khách hàng, Product Owner, và các Scrum Team Member (Developer).
Trong mô hình Agile, Scrum Master đóng vai trò như một người tổ chức và là cầu nối giữa khách hàng/Product Owner với Scrum Team.
Scrum Master chịu trách nhiệm trao đổi với Product Owner để lấy các yêu cầu từ khách hàng, rồi cùng với Product Owner đặc tả các yêu cầu đó theo chuẩn của Scrum là các User Stories, tổ chức chúng theo độ ưu tiên cần phải làm và quản lý trong Product Backlog.
Công việc tiếp theo là chuẩn bị công việc cho team theo từng Sprint thông qua 1 buổi Sprint Planning (mỗi Sprint thông thường được thực hiện trong 2 tuần) để các thành viên trong team hiểu về các yêu cầu của từng User Story và ước lượng xem khi nào có thể hoàn thành User Story đó (gọi là User Story Point).
Hàng ngày, Scrum Master sẽ có một cuộc họp ngắn (stand-up meeting) để các thành viên cập nhật tiến độ của từng người, những gì đã hoàn thành ngày hôm trước, công việc sẽ làm trong hôm nay và những vấn đề nào phát sinh cần được hỗ trợ.
Khi có thành viên gặp vấn đề, Scrum Master phải giải quyết và hỗ trợ càng sớm càng tốt, tránh để Sprint bị trễ.
Ngoài ra, trong khi các thành viên đang làm việc trong Sprint, Scrum Master cần chuẩn bị trước công việc cho Sprint kế tiếp.
Sau khi kết thúc một Sprint, Scrum Master sẽ làm buổi hop Retrospective Meeting (họp cải tiến Sprint) để đánh giá trong Sprint đó team làm tốt hay chưa, đánh giá hiệu quả làm việc của từng bạn và của cả Sprint.
Scrum Master và team phải nhận diện được trong Sprint đó, team gặp vấn đề gì, những bài học nào cần được áp dụng cho các Sprint sau để team phát triển và hiệu quả hơn.
Đọc thêm: Scrum Master vs Product Owner khác nhau như thế nào?
Anh có thể kể về một ngày làm việc của mình?
Công việc đầu tiên trong ngày anh thường làm là xem lại danh sách công việc của mình, những cái nào đã hoàn thành, cái nào cần được xử lý trong ngày, sau đó kiểm tra email xem có vấn đề hay yêu cầu nào cần xử lý, rồi đưa vào danh sách công việc.
Tiếp theo, anh sẽ xem qua các dự án mà mình đang quản lý để biết tiến độ của từng bạn như thế nào.
Nếu bạn nào gặp vướng mắc và cần hỗ trợ, anh sẽ tìm người có khả năng support bạn đó nhanh nhất.
Ví dụ, có bạn gặp issue là tải dữ liệu từ database lên app chậm quá. Bạn đã mất rất nhiều thời gian tìm hiểu và thử nhiều cách để giải quyết vấn đề nhưng vẫn chưa được.
Lúc đó, anh sẽ nhờ những bạn Technical Leader hỗ trợ. Nguyên nhân của vấn đề này có thể là do câu SQL của bạn Developer ấy chưa tối ưu. Trong trường hợp đó, Technical Leader sẽ gợi ý bạn viết lại câu SQL khác tối ưu hơn.
Sau khi mọi thứ đã được giải quyết ổn thỏa, anh sẽ bắt đầu xử lý các công việc khác trong danh sách công việc của anh. Công việc ở đây có nhiều loại, ví dụ như thảo luận với khách hàng về các vấn đề phát sinh trên hệ thống của họ, meeting để cập nhật cho khách hàng về tiến độ của dự án hoặc thảo luận với khách hàng về Sprint tiếp theo…
Ngoài ra anh cũng trao đổi với các sếp của mình, ở cả Việt Nam và Canada, để cập nhật tình hình dự án, vấn đề về nhân sự, các vấn đề phát sinh cần được hỗ trợ để giải quyết.
Nói chung công việc chiếm nhiều thời gian nhất là trao đổi với các bên liên quan đến dự án của mình (communication).
Xem thêm Làm sao để trở thành Technical Lead?
Sai lầm anh từng mắc phải trong vai trò Scrum Master là gì?
Lần đó ở công ty cũ, team anh nhận được yêu cầu dùng một công nghệ mới là WordPress để làm website về thương mại điện tử cho khách hàng.
Sau khi yêu cầu 3 bạn trong team học WordPress trong khoảng hơn một tháng, anh tự tin nghĩ rằng các bạn đã thông thạo phần mềm này rồi.
Thế là anh bắt đầu chạy Sprint. Requirement và User Story lúc đó khá là chung chung. Khi release Sprint đầu cho khách hàng, anh không thấy họ feedback gì nên nghĩ là team mình làm tốt.
Anh chủ quan và làm tiếp Sprint 2. Khi giao Sprint này, khách hàng vẫn không có feedback gì.
Qua đến Sprint 3, khi release cho khách hàng thì lúc đó họ mới tập trung vào test cả ba Sprint cùng một lúc. Kết quả: đụng tới đâu là gặp bug tới đó.
Khách hàng phàn nàn rất dữ dội là tại sao chất lượng quá tệ như vậy, và họ đưa lên tận CTO luôn.
Sau đó, họ thuê một chuyên gia bên ngoài vào đánh giá code team anh viết ra. Cuối cùng, họ kết luận code của team anh rất junior, giống như là của sinh viên viết ra vậy.
Họ muốn ngừng hợp đồng luôn. Lúc đó anh thực sự lo lắng, vì nếu khách hàng dừng hợp đồng thì performance của anh sẽ bị ảnh hưởng và thậm chí anh có thể bị lãnh đạo cho nghỉ việc.
May mắn là sếp của anh (Head of Project Managers) động viên: “Sự cố đó cũng đã xảy ra rồi. Giờ mình cần tìm cách để lấy lại niềm tin của khách hàng.”
Lúc đó bên anh chấp nhận lỗ, tuyển một người cứng vào. Cũng may mắn là khách hàng đồng ý với giải pháp này.
Sau đó thì team anh mất một tháng chỉ để sửa lại ba Sprint kia.
Sự cố này xảy ra là do anh làm requirement chưa tốt, làm User Story chưa cụ thể chi tiết. Vì vậy, các bạn Developer trong team nghĩ theo một hướng khác. Đây là một bài học rất lớn cho anh.
Kinh nghiệm thứ 2 anh rút ra được từ sự cố này là nên để các bạn trong team review User Story chéo với nhau.
Ví dụ, User Story 1 của bạn A. Bạn A định làm nó với 5 point. Nhưng khi review chéo, bạn B nghĩ user story 1 chỉ cần làm 3 point. Từ đó các bạn sẽ thảo luận để tìm ra giải pháp tối ưu nhất.
Xem thêm: Project Manager và Product Manager khác nhau ra sao?
Theo anh, 3 kỹ năng quan trọng nhất để làm Scrum Master là gì?
Đầu tiên là phải có kiến thức về Scrum. Nhiều công ty có tổ chức các khóa học về Scrum. Bạn có thể tham gia để hiểu trách nhiệm của từng vai trò trong mô hình Scrum như thế nào, hoạt động của từng Sprint như thế nào.
Thứ 2 là phải có khả năng tổ chức khoa học và hiệu quả, từ quản lý user story, quản lý backlog, đến kiểm soát các meeting.
Trong Scrum có khá nhiều meeting: Daily stand-up meeting, Sprint retrospective meeting…Stand-up meeting chỉ cần 15 phút thôi, không nên mất cả tiếng đồng hồ để thảo luận những thứ không đáng.
Cụ thể, trong stand-up, Scrum Master chỉ cần đặt 3 câu hỏi: Hôm qua làm gì? Có issue gì không? Hôm nay định làm gì tiếp?
Các bạn không cần giải thích lòng vòng issue bạn gặp. Thay vào đó, Scrum Master chỉ cần nắm được vấn đề và tìm người hỗ trợ cho bạn ấy. Vì chẳng hạn như team có 4 người, mà mỗi người mất một tiếng đồng hồ để giải thích issue mình gặp, thì cả team mất nửa ngày làm việc chỉ để nói chuyện thôi.
Thứ 3 là phải có khả năng lên kế hoạch.
Ví dụ, Scrum Master phải biết sắp xếp User Story sao cho hợp lý, không bị chồng chéo. Vì có những User Story này bị lệ thuộc vào các User Story khác.
Chẳng hạn, sẽ là không hợp lý nếu để Sprint làm màn hình log in đứng sau Sprint làm màn hình Dashboard. Khi đó, sau khi xong Sprint làm màn hình Dashboard, mình sẽ không test được.
Những resource anh muốn đề xuất cho các bạn muốn trở thành Scrum Master là gì?
1. Scrum.org: Là cộng đồng chính thức của mô hình Scrum, cung cấp các khóa training và các chứng chỉ về Scrum.
2. A Guide to the Scrum Body of Knowledge: Cung cấp hướng dẫn về các kiến thức của Scrum và các quy trình để ứng dụng mô hình Scrum vào dự án cũng như cung cấp kiến thức chuyên sâu về vai trò và trách nhiệm của một Scrum Master.
Tuy nhiên, để làm Scrum Master, sách vở là không đủ. Bạn cần phải thực hành, có thể bằng cách đề xuất làm dự án nội bộ cho công ty, ví dụ như làm website cho công ty hay tool cho phòng nhân sự chẳng hạn.
Cảm ơn anh Hiếu vì đã chia sẻ những kiến thức và trải nghiệm thú vị về công việc Scrum Master. Chúc anh luôn thành công trong công việc!
Cảm ơn ITviec!
Nếu bạn nghĩ những chia sẻ này có thể giúp ích cho bạn bè hoặc đồng nghiệp, đừng quên nhấn nút Share bên dưới nhé!
Và đừng quên việc làm Scrum tại ITviec!