Scrum là gì? Agile là gì? Quy trình quản lý ra sao?
Scrum là gì? Agile là gì? Quy trình quản lý ra sao?
Scrum là gì? Agile scrum là gì? Một định nghĩa không còn quá xa lạ với nhiều doanh nghiệp đang phát triển theo mô hình quản lý nhóm dự án. Mô hình quản lý này yêu cầu cao về khả năng lãnh đạo nhóm, điều hướng hoạt động và gắn kết sức mạnh nội bộ để tạo nên giá trị to lớn. Cùng khám phá một mô hình đang được nhiều doanh nghiệp hướng đến này qua bài viết dưới đây của Viện FMIT nhé!
Scrum là gì?
Khái niệm Scrum là gì? Là một quy trình cho phép các nhóm dự án phát triển phần mềm, tập trung vào việc cung cấp các giá trị kinh doanh trong thời gian ngắn nhất (thông thường chia theo sprint) bằng cách test nhanh chóng và liên tục các phần mềm hoạt động thực tế.
Khái niệm Scrum là gì?
Có thể hiểu Scrum là một quy trình phát triển phần mềm theo , hoạt động trong scrum tuân thủ theo nguyên tắc của Agile. Tuy nhiên, Agile và Scrum không phải là một. Agile bao gồm các giá trị cốt lõi và nguyên tắc nhất định còn Scrum là quy trình thực hiện hóa những giá trị và nguyên tắc đó.
Scrum dành cho những ai?
Tiêu chuẩn của Scrum đã tồn tại và phát triển hơn 20 năm, đây được xem là một khuôn khổ cho cách phát triển phần mềm thành công và đã có hơn 10.000 tổ chức/nhóm khác nhau trên toàn thế giới áp dụng mô hình này.
Trả lời thỏa đáng nhất cho câu hỏi phương pháp Scrum dành cho ai thì chúng tôi có thể nói: Scrum được áp dụng cho bất kỳ tổ chức nào có những dự án hoặc sản phẩm phức tạp cần liên tục cải tiến và phát triển. Đã có những “ông lớn” sử dụng mô hình Scum nhuwL Facebook, Google, Microsoft, chính phủ U.S and U.K., Spotify, Daily Mail,…
Có thể thấy, ngày nay đội ngũ Scrum không chỉ được áp dụng cho việc phát triển phần mềm mà còn được sử dụng cho các mục đích, dự án, sản phẩm có tính phức tạp, không chắc chắn và khó đoán trước kết quả.
Agile là gì?
Khái niệm ? Là một phương pháp phát triển phần mềm linh hoạt, với mục tiêu cuối cùng là đưa sản phẩm đến tay người dùng càng nhanh, càng sớm, càng tốt.
Khái niệm về Agile là gì?
Đặc trưng của mô hình mô hình agile là gì? Nó bao gồm các đặc điểm như:
– Tính lặp (Iterative)
– Tính tiệm tiến (Incremental) và tiến hóa (Evolutionary)
– Tính thích ứng (hay thích nghi – adaptive)
– Nhóm tự tổ chức và liên chức năng
– Quản lý tiến trình thực nghiệm (Empirical Process Control)
– Giao tiếp trực diện (face-to-face communication)
– Phát triển dựa trên giá trị (value-based development)
Khi tìm hiểu về Agile, bạn có thể dễ dàng nhận ra rằng Agile thực chất không phải là một phương pháp cụ thể nào mà nó gồm nhiều phương pháp khác nhau được thực hiện nhằm thỏa mãn và hướng theo các tiêu chí của nó.
Ba vị trí chủ chốt trong Scrum là gì?
Trong Scrum, các thành viên tham gia phát triển phần mềm sẽ được phân chia thành 3 vị trí chủ chốt. Mỗi vị trí sẽ đảm nhiệm trách nhiệm rõ ràng theo từng đặc thù công việc.
(đại diện sở hữu sản phẩm) là người chịu trách nhiệm về sự thành công của dự án hay còn được xem là người định nghĩa các yêu cầu và đánh giá cuối cùng đầu ra của các nhà phát triển phần mềm. Product Owner có nhiệm vụ giải quyết tất cả các vấn đề phát sinh trong quá trình phát triển sản phẩm. Hơn thế nữa, họ cần luôn luôn cập nhật những thông tin về những yêu cầu hay tính năng cần có của sản phẩm đến các bộ phận phát triển phần mềm nhằm đảm bảo cho sự thành công của dự án.
Product Owner – Người đóng vai trò quan trọng đối với sự thành bại của dự án
Đây là người hiểu biết sâu sắc về Scrum và đảm bảo nhóm dự án có thể làm việc hiệu quả hơn với Scrum. Trách nhiệm của vị trí này chính là lên kế hoạch chi tiết và phân công công việc cho các bộ phận khác một cách hợp lý. Bên cạnh đó, cần liên tục phối hợp với Product Owner để kiểm soát quá trình cũng như cập nhật các thông tin một cách chính xác và nhanh chóng nhất.
Một nhóm liên chức năng (cross-functional) tự quản lý để tiến hành chuyển đổi các yêu cầu được tổ chức trong Product Backlog thành chức năng của hệ thống. Mỗi thành viên trong nhóm sẽ có thế mạnh khác nhau nhưng khi tiến hành áp dụng mô hình Scrum thì sẽ có thể đảm nhận cùng một trách nhiệm và có khả năng thay thế cho nhau.
Đội nhóm phát triển dự án thực hiện hóa các yêu cầu trong hệ thống
Ba giá trị cốt lõi của mô hình Scrum là gì?
Giá trị cốt lõi mô hình Scrum sẽ tuân thủ theo các nguyên tắc của tuyên ngôn Agile.
Tính minh bạch được thể hiện qua việc các thông tin liên quan đến quá trình phát triển phần mềm phải đảm bảo công khai rõ ràng và thông suốt để nhân lực có thể đảm nhận các vai trò khác nhau và có cơ sở để tiến hành các quyết định mang tính cốt lõi nhằm đem lại hiệu quả cao trong công việc.
Nếu thiếu tính minh bạch, doanh nghiệp có thể bị phụ thuộc vào một vài cá nhân hoặc nhóm lợi ích nào đó, khó có thể phát triển bền vững và trường tồn.
Thanh tra là việc làm quan trọng không thể bỏ qua trong quá trình hoạt động Scrum. Hành động này giúp phát hiện và xử lý sớm mọi vấn đề phát sinh trong quá trình hoạt động của mô hình Scrum. Thông qua các biện pháp xử lý, ta có thể dễ dàng truyền tải mọi thông tin đa dạng và hữu ích đến với các bên tham gia dự án.
Tuy nhiên, tần suất thanh tra không cần quá dày đặc vì có thể ảnh hưởng đến hiệu quả công việc. Người đi thanh tra phải là người có trình độ chuyên môn kỹ thuật cao, có khả năng phân tích và đánh giá năng lực, hiệu suất làm việc thực tế của nhân viên.
Thanh tra để đảm bảo tiến độ công việc được hoàn thành đúng theo kế hoạch
Tính thích nghi là giá trị cốt lõi liên quan nhiều nhất đến yếu tố con người. Khi thông tin minh bạch, thanh tra tốt thì yếu tố thích nghi đòi hỏi nhóm dự án phải tự đưa ra quyết định. Khi minh bạch về thông tin thì việc ra quyết định sẽ chính xác hơn; khi minh bạch về năng lực thì doanh nghiệp sẽ biết mình nên phát huy điều gì. Đây cũng được xem là phong cách làm việc theo lối tự tổ chức. Nếu một nhóm không có khả năng thích nghi tốt thì nhóm đó vẫn chưa thành công.
Trong hệ thống tổ chức, ta có thể phát hiện rất nhiều lỗ hổng, nhiều vấn đề chưa được xử lý, nhưng phải có một người đủ năng lực đứng ra để giải quyết các vấn đề đó, nếu không, vấn đề sẽ mãi tồn đọng và doanh nghiệp cũng không thể tiến xa hơn.
Lợi ích mà Scrum mang lại
– Giúp cải thiện chất lượng phần mềm nhằm thân thiện hơn với người dùng.
– Giúp đưa sản phẩm đến khách hàng nhanh chóng hơn nhờ vào việc giảm thời gian phát hành phần mềm.
– Tối ưu hóa và nâng cao năng suất làm việc của đội ngũ nhóm dự án.
– Vai trò scrum còn giúp tăng tỷ suất hòa vốn đầu tư.
– Cải thiện và nâng cao trải nghiệm của khách hàng khi sử dụng sản phẩm.
– Tăng khả năng kiểm soát và giải quyết mọi rủi ro phát sinh của sản phẩm để giúp sản phẩm không ngừng được cải tiến.
– Giảm thiểu rủi ro khi xây dựng, phát triển sản phẩm.
Scrum ra đời là giải pháp giúp nâng cao hiệu suất công việc
Quy trình Scrum diễn ra như thế nào?
Quy trình Scrum là gì? (Scrum process là gì?) – Đây là một chuỗi các hoạt động phối hợp thực hiện với nhau để giải quyết các vấn đề phức tạp nhưng vẫn đảm bảo tính hiệu quả, sáng tạo và sản phẩm được tạo ra phải đạt được giá trị cao nhất.
Đây là nhiệm vụ của Product Owner (PO)- người định hướng sản phẩm hướng tới tầm nhìn đã được đề ra. PO cần có sự nhạy bén với thị trường, khách hàng để có những thay đổi khi cần thiết. Họ cũng sẽ là cầu nối quan trọng giữa khách hàng và nhóm sản xuất, họ sẽ tiếp nhận ý kiến từ 2 chiều và tạo nên các công việc phù hợp trong thời gian tới.
Đây là cuộc họp lên kế hoạch, đặt mục tiêu cho Sprint của đội ngũ phát triển. Việc lập kế hoạch bao gồm việc lựa chọn các yêu cầu cần phải phát triển. Sau đó, phân tích, nhận biết các công việc phải làm kèm theo ước lượng thời gian cần thiết để hoàn tất các tác vụ.
Theo đó, việc lập kế hoạch không diễn ra duy nhất một lần mà cần được lặp đi lặp lại, có sự thích nghi với các tình hình thực tiễn trong tiến trình đi đến sản phẩm.
Lên kế hoạch công việc cụ thể
Một Sprint kéo dài ít nhất 1 tuần, nhiều nhất là 4 tuần. Đây là khoảng thời gian để đội nhóm dự án phối hợp với nhau để hoàn thành phần tăng trưởng sản phẩm.
Trong khoảng thời gian này, phạm vi công việc của Sprint có thể được Product Owner và đội phát triển mang ra thương lượng, đánh giá nếu thấy cần thiết. Tất cả các sự kiện từ Planning cho đến Retrospective sẽ đều được diễn ra trong phạm vi 1 Sprint. Những kinh nghiệm có được ở Sprint này sẽ được áp dụng cho Sprint sau.
Là các cuộc họp ngắn, tổ chức vào 1 khung giờ cố định và diễn ra hằng ngày. Nội dung thảo luận trong cuộc họp bao gồm 3 câu hỏi chính là: Hôm qua làm gì? Hôm nay sẽ làm gì? Những khó khăn đang gặp phải.
Họp daily khoảng 15 phút để nắm tình hình làm việc của team
Cuối Sprint, đội nhóm sẽ tụ họp với nhau trong một buổi để thảo luận về các vấn đề đã hoàn thành, chưa hoàn thành và nhận ý kiến từ product owner. Thông qua cuộc họp Sprint review, Product Owner sẽ đưa ra các đề xuất, dự định mới cho Sprint tiếp theo.
Dưới sự hỗ trợ của Scrum Master, nhóm phát triển dự án sẽ rà soát lại toàn diện Sprint vừa qua và tìm cách cải tiến quy trình làm việc cũng như bản thân sản phẩm nhằm nâng cao hiệu suất công việc.
Các công cụ (artifacts) Scrum
Các công cụ dưới đây giúp hỗ trợ giải quyết công việc hiệu quả hơn.
Có thể xem là danh sách các yêu cầu của dự án. Product Owner chịu trách nhiệm sắp xếp mức độ ưu tiên cho từng hạng mục trong Product Backlog dựa vào các giá trị do Product Owner định nghĩa.
Là bản kế hoạch cho một Sprint hay còn là kết quả của cuộc họp lập kế hoạch (Sprint Planning). Sprint backlog là kế hoạch của nhóm phát triển, nó có tính tường minh cao, là một bức tranh cập nhật các công việc dự định sẽ hoàn tất trong Sprint để đạt được Sprint Goal.
Sprint Goal là mục tiêu đặt ra trong Sprint. Đây là sự cam kết của nhóm phát triển dự án, cho phép sự linh hoạt về những gì chính xác cần thực hiện để đạt được nó. Sprint Goal cũng góp phần tạo ra sự gắn kết và tập trung, khuyến khích mọi người làm việc theo nhóm thay vì phải làm việc riêng lẻ.
Đặt mục tiêu cho từng Sprint
Dựa vào biểu đồ burndown chart, ta có thể xác định được xu hướng của dự án có thể sẽ được hoàn tất trong bao lâu dựa vào lựa thời gian cần thiết còn lại. Burndown chart có thể được dùng để theo dõi tiến độ công việc trong Sprint hoặc của cả dự án.
Mặc dù burndown chart không phải là thành cố tiêu chuẩn của Scrum theo định nghĩa mới nhưng nó vẫn được sử dụng rộng rãi nhờ tính hữu ích.
Các công cụ quản lý dự án theo Agile mà bạn nên biết
Các công cụ có thể giúp mô hình Agile Scrum mang đến hiệu quả thiết thực cho doanh nghiệp.
Đây là ứng dụng dùng để nổi tiếng được nhiều doanh nghiệp sử dụng. Công cụ có cả tài khoản miễn phí và cao cấp giúp người dùng có cơ hội để sử dụng hầu hết các chức năng hữu ích.
Ứng dụng Trello được sử dụng quen thuộc trong quản lý dự án
Cấu trúc của Trello dựa theo phương pháp kanban. Tất cả các dự án sẽ được đại diện bởi các bảng có chứa danh sách. Mọi người đều có các thẻ lũy tiến mà bạn được tạo dưới dạng kéo và thả. Người dùng có liên quan đến bảng, có thể được gán cho thẻ.
Nhiều tính năng hữu ích của công cụ này như: viết bình luận, chèn tệp đính kèm, ghi chú, ngày đáo hạn, danh sách kiểm tra, nhãn màu, tích hợp với các ứng dụng khác,… Trello còn hỗ trợ bởi tất cả các nền tảng di động, đây là công cụ có thể được sử dụng cho cả công việc và quy trình cá nhân.
Công cụ này được phát triển theo xu hướng phát hiện lỗi, theo dõi vấn đề và quản lý dự án cho các quy trình phát triển phần mềm và di động. Một số tính năng hữu ích của JIRA như: loại sự cố, quy trình làm việc, màn hình, trường, thuộc tính vấn đề. Công cụ này có thể được điều chỉnh để phù hợp với quy trình kinh doanh của bạn.
Tiếp đến một công cụ hữu ích nữa chính là Asana. Công cụ cho phép các nhóm chia sẻ, lập kế hoạch, tổ chức và theo dõi tiến trình của các nhiệm vụ mà mỗi thành viên đang thực hiện. Cấu hình đơn giản, dễ thao tác, công cụ dễ sử dụng và miễn phí cho tối đa 30 người dùng trong một nhóm.
Công cụ Asana giúp quản lý công việc hiệu quả hơn
Điểm đặc biệt khi dùng công cụ Asana là bạn không cần phải có email mà vẫn có thể sử dụng. Mỗi nhóm dự án có thể tạo nơi làm việc sẽ chứa các dự án và nhiệm vụ của dự án, mỗi tác vụ có thể có ghi chú, nhận xét, tệp đính kèm và thẻ.
>> Tham khảo thêm:
Một số khái niệm khác trong Agile và Scrum
Ngoài các kiến thức về Agile và Scrum mà Viện FMIT đã cung cấp ở trên, các bạn cũng cần nắm và hiểu rõ các khái niệm dưới đây.
Tổ chức và quản lý nhóm dự án phải nói đến vai trò của giám đốc dự án, thể hiện và áp dụng phương pháp lãnh đạo phục vụ (servant leadership), trao quyền (empower) cho nhóm dự án.
Servant leadership thể hiện cách thức lãnh đạo thông qua việc hiểu nhu cầu nhóm dự án, phát triển nhóm, truyền thông mục đích dự án đến nhóm dự án, tạo ra môi trường để thúc đẩy văn hóa Agile, tập trung vào kết quả thay vì quy trình, phát triển các kỹ năng về con người (people skills), đào tạo, huấn luyện, lắng nghe, xây dựng niềm tin,… nhằm đạt được hiệu quả tốt nhất. Lãnh đạo phục vụ là phương pháp phù hợp với với môi trường và cách thức triển khai dự án Agile.
Lãnh đạo phục vụ giúp tạo ra nhiều giá trị tốt nhất cho dự án
Kỹ năng lãnh đạo và quản lý con người bao gồm nhiều kỹ năng như:
– Kỹ năng quản lý xung đột.
– Kỹ năng lãnh đạo nhóm
– Hỗ trợ thúc đẩy hiệu quả làm việc của nhóm
– Trao quyền cho nhóm dự án và bên liên quan
– Đảm bảo thành viên dự án và các bên liên quan được đào tạo một cách đầy đủ
– Xây dựng nhóm
– Nhận diện và loại bỏ các trở ngại, chướng ngại, ngưng trệ trong dự án
– Đàm phán các thỏa thuận trong dự án
– Phối hợp với các bên liên quan
– Xây dựng sự hiểu biết thống nhất trong dự án
– Hỗ trợ nhóm làm việc từ xa
– Xác định quy tắc làm việc của nhóm dự án
– Kèm cặp các bên liên quan
– Thúc đẩy hiệu quả làm việc và vận dụng trí tuệ cảm xúc
Fishbowl window thiết lập liên kết thời lượng dài (long-lived video conferencing) giữa các nhóm làm việc từ xa, bắt đầu từ đầu ngày và kết thúc vào cuối ngày. Điều này giúp nhóm dự án tham gia đồng thời vào công việc, giảm chậm trễ trong việc phối hợp và khoảng cách địa lý.
Làm việc theo cặp từ xa (remote pairing) là công cụ làm việc từ xa bằng việc chia sẻ các màn hình, giọng nói và liên kết video, có thể làm theo hình thức face-to-face paring.
Nhóm cross-functional team bao gồm các thành viên với đầy đủ kỹ năng cần thiết để làm việc. Trong phần mềm, nhóm này có thể bao gồm designers, developers, testers và các vị trí cần thiết khác. Việc thiết lập nhóm liên phòng ban như vậy rất hữu ích vì đảm bảo đủ các kỹ năng cần thiết, chuyển giao kết quả trong thời gian ngắn nhất, ít phụ thuộc vào bên ngoài.
Nhân viên liên phòng ban tạo điều kiện thuận lợi để chuyển giao kết quả
Product owner chịu trách nhiệm hướng dẫn về định hướng cho sản phẩm dự án. Product owner xếp hạng ưu tiên các công việc dựa vào giá trị và lĩnh vực kinh doanh đặc thù của dự án. Product owner làm việc với nhóm dự án hàng ngày để đưa ra các phản hồi về sản phẩm và định hướng các chức năng tiếp theo. Điều này có nghĩa là các công việc đưa ra thường nhỏ và rất nhỏ.
Product owner làm việc với các bên liên quan, khách hàng và nhóm dự án để xác định định hướng sản phẩm. Product owner đòi hỏi phải có kiến thức về lĩnh vực kinh doanh và chuyên môn để đưa ra quyết định. Tuy nhiên, product owner vẫn có thể yêu cầu trợ giúp từ những người có chuyên môn sâu. Product owner cũng cần được đào tạo về Agile để nắm rõ cách thức vận hành dự án Agile và dòng công việc.
Product owner tạo ra danh mục công việc (backlog) cho nhóm dự án. Backlog giúp nhóm thấy được cách thức tiến hành thế nào để tạo ra được giá trị cao nhất và tránh các lãng phí. Tập trung vào giá trị sản phẩm là một nhân tố thành công quan trọng hàng đầu của dự án Agile hoặc nếu không, nhóm dự án sẽ lãng phí hoặc tạo ra sản phẩm không được đề cao.
Vai trò team facilitator hay còn gọi là lãnh đạo phục vụ (servant leader). Vai trò này có thể gọi là project manager, scrum master, project team lead, team coach hoặc là team facilitator.
Nhóm dự án Agile cần phương pháp lãnh đạo servant leadership. Mọi người cần thời gian để xây dựng kỹ năng lãnh đạo, thúc đẩy (facilitation), huấn luyện (coaching), và loại bỏ các trở ngại (impediment).
Nhóm Agile cần có không gian để làm việc cùng nhau, hiểu về trạng thái công việc và phối hợp với nhau. Các nhóm dự án Agile có thể cùng làm việc trong 1 phòng. Một số nhóm có thể bố trí nơi làm việc khác nhau nhưng không gian họp cho standup hoặc báo cáo kết quả (chart) phải ở khu vực cùng nhau. Thi thoảng nhóm cũng cần các không gian riêng để có thể tập trung và suy nghĩ bên cạnh các không gian phối hợp, không gian mở. Vì thế, công ty cần thiết kế các văn phòng với khu vực riêng và không gian chung.
Tạo không gian làm việc chung để nâng cao hiệu suất công việc
Nếu dự án phân tán ở nhiều khu vực khác nhau, nhóm có thể sẽ phải quyết định thời lượng phân bố hợp lý giữa phối hợp từ xa (virtual) và vật lý. Các công nghệ như chia sẻ tài liệu, video conferencing và các công cụ hỗ trợ làm việc từ xa cần thiết phải được khai thác để hỗ trợ hiệu quả quá trình làm việc.
Để nhóm Agile làm việc hiệu quả, cần tạo xây dựng niềm tin và môi trường an toàn trong đó đảm bảo ý kiến của mỗi thành viên đều được lắng nghe và xem xét một cách công bằng. Các rào cản và trở ngại do cách làm việc riêng lẻ theo phòng ban sẽ khiến quy trình làm việc thiếu tính chặt chẽ, không có sự liên kết từ đó không mang lại hiệu quả cao.
Resource hỗ trợ bạn tìm hiểu về Scrum và Agile là gì?
Tổng hợp các nguồn hữu ích giúp bạn tìm hiểu về Scrum và Agile một cách chi tiết và chuyên sâu:
– Scrum.org: Đây là nguồn chứa đầy đủ kiến thức từ cơ bản đến nâng cao về Scrum và các chứng chỉ Scrum.
– Agile Manifesto: Tổng hợp các kiến thức cơ bản về Agile, tuyên ngôn Agile dành cho người mới bắt đầu.
– Agile Vietnam Group và Agile forum Vietnam: Đây là diễn đàn lớn nhất về Agile tại Việt Nam, nơi đây chia sẻ tất cả các thông tin, kiến thức, sự kiện về Agile.
– Agile Product Management with Scrum: Một cuốn sách kinh điển về quản lý sản phẩm cho Product Owner trong quá trình ứng dụng Scrum.
Quản lý dự án bằng phương pháp Agile đòi hỏi nhóm dự án cũng phải áp dụng tư duy của Agile. Hiểu được định nghĩa Agile, Scrum là gì chính là bệ phóng quan trọng giúp nhà quản lý dự án đạt được nhiều thành công. Việc không ngừng đổi mới, cải tiến bắt kịp theo xu hướng phát triển của thị trường chính là biện pháp để sớm hoàn thành các sứ mệnh và tầm nhìn to lớn của doanh nghiệp. Chi tiết nội dung có thể tìm hiểu một cách đầy đủ và hệ thống tại các khóa học liên quan về , , hoặc luyện thi chứng chỉ quốc tế PMP.