Xu Hướng 11/2022 # Scrum Là Gì? Quy Trình Áp Dụng Mô Hình Scrum Hiệu Quả / 2023 # Top 14 View | Channuoithuy.edu.vn

Xu Hướng 11/2022 # Scrum Là Gì? Quy Trình Áp Dụng Mô Hình Scrum Hiệu Quả / 2023 # Top 14 View

Bạn đang xem bài viết Scrum Là Gì? Quy Trình Áp Dụng Mô Hình Scrum Hiệu Quả / 2023 được cập nhật mới nhất trên website Channuoithuy.edu.vn. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất.

Trong bài viết trước chúng ta đã tìm hiểu về triết lí Agile và một số các phương pháp Agile phổ biến. Trong bài viết này chúng ta sẽ tìm hiểu chi tiết về một trong những phương pháp Agile có thể nói là quan trọng và được thực hành rộng rãi nhất đó là Scrum.

Scrum là một phương pháp dùng cho phát triển sản phẩm, đặc biệt là phát triển phần mềm. Scrum là một khung quản lý dự án được áp dụng rất rộng rãi, từ những dự án đơn giản với một nhóm phát triển nhỏ cho đến những dự án có yêu cầu rất phức tạp với hàng trăm người tham gia, và kể cả những dự án đòi hỏi khung thời gian cố định. Trong Scrum, công việc được thực hiện bởi thông qua từng phân đoạn lặp liên tiếp nhau được gọi là . Để hiểu được Scrum thì cần hiểu nguyên lý của Scrum, các , , và sự vận hành của một vòng đời Scrum.

Ba trụ cột của Scrum

Ba trụ cột (hay ba chân) của Scrum là Tính minh bạch, Sự thanh tra và Sự thích nghi. Đây chính là phần lõi của khung làm việc Scrum, thiếu bất cứ trụ cột nào trong số này đều khiến khung Scrum không còn hoạt động đúng nữa.

Các đặc điểm và vai trò trong Nhóm Scrum

Hai đặc điểm của Nhóm Scrum

Nhóm Scrum có 2 đặc điểm đó là tự quản (self-managing) và liên chức năng (cross-functional).

Ba vai trò trong nhóm Scrum

Scrum Master: là một vai trò then chốt giúp nhóm Scrum làm việc hiệu quả bằng cách tuân thủ nguyên lý, các kỹ thuật và quy tắc của Scrum. Scrum Master không phải là người quản lý của Nhóm mà là một lãnh đạo theo phong cách phục vụ (Servant Leader). Scrum Master làm tất cả những gì trong thẩm quyền phục vụ Product Owner, , và Tổ chức đi đến thành công.

Nhà phát triển: là đội ngũ trực tiếp làm ra sản phẩm, họ bao gồm các chuyên gia có nhiệm vụ chuyển giao phần tăng trưởng ở cuối mỗi Sprint. Các Nhà phát triển không có sự phân chia các chức danh chuyên môn đặc thù cho từng thành viên, ví dụ như: kiểm thử viên, lập trình viên, chuyên gia thiết kế, chuyên gia cơ sở dữ liệu,… mà tất cả đều được gọi chung là Nhà phát triển. Việc này giúp nâng cao tính sở hữu tập thể, trách nhiệm tập thể và bình đẳng giữa các thành viên.

Năm sự kiện trong Scrum

Sprint: Có thể nói Sprint là trái tim của Scrum và là khoảng thời gian cố định mà ở đó các Nhà Phát triển thực hiện công việc phát triển sản phẩm. Sprint được không dài hơn 1 tháng và thường thì không ngắn hơn một tuần. Các Sprint có độ dài như nhau và diễn ra liên tiếp nhau mà không bị gián đoạn. Sprint kết thúc khi thời gian đóng khung kết thúc, bất kể các công việc trong đó đã được hoàn thành hết hay chưa.

Lập kế hoạch Sprint (Sprint Planning): Là sự kiện diễn ra đầu Sprint để lên kế hoạch làm việc cho toàn bộ . Sự kiện này được chia làm 3 phần với 3 mục đích rõ ràng:

3 câu hỏi Why – What – How sẽ giúp 1 Sprint diễn ra hiệu quả và rõ ràng hơn. Các Nhà Phát triển có quyền quyết định lựa chọn những hạng mục mà mình sẽ làm, không ai được phép can thiệp và gán công việc cho nhóm, kể cả Product Owner hay các lãnh đạo khác. Kết quả của buổi Lập kế hoạch Sprint là: Mục tiêu Sprint và Sprint Backlog.

Scrum Hằng ngày (Daily Scrum) : Là buổi gặp mặt ngắn 15 phút hằng ngày của tất cả các thành viên Nhóm Phát triển để thanh tra và tái lập kế hoạch cho nhóm. Để giữ đơn giản và tạo thói quen thì các buổi Scrum Hằng ngày phải diễn ra tại cùng một địa điểm vào cùng một khung thời gian. Scrum Master không bắt buộc tham dự nhưng phải đảm bảo Nhóm Phát triển đang thực hiện tốt sự kiện này.

Cải tiến Sprint (Sprint Retrospective) : Diễn ra sau sự kiện Sơ kết Sprint nhằm thanh tra và thích nghi quy trình làm việc. Nói ngắn gọn, sự kiện này là để cải tiến cách làm việc. Nhóm Phát triển và Scrum Master bắt buộc tham gia sự kiện này. Product Owner có thể tham gia hoặc không. Nhóm Phát triển có thể mời thêm những người khác tham dự. Kết quả của buổi làm việc này là một danh sách các thay đổi về cách làm việc được đưa vào áp dụng ngay trong Sprint tiếp theo.

Một số kỹ thuật cải tiến thường được áp dụng như “Glad, Sad, Mad”, “SpeedBoat”…bạn có thể tham khảo

Các tạo tác trong Scrum

Sprint Backlog: Sprint Backlog là bảng công việc được các Nhà sử dụng để quản lý quá trình phát triển trong một và được cập nhật trong suốt . Sprint Backlog chứa danh sách các hạng mục và các công việc cần làm tương ứng với từng hạng mục để hoàn thành mục tiêu của Sprint đó

Incremental (Phần tăng trưởng): l à phần sản phẩm các Nhà tạo ra cuối mỗi . Đây là một khái niệm quan trọng trong tạo ra sự khác biệt lớn về mặt sản phẩm so với các phương pháp truyền thống. Scrum không chỉ đơn giản tách quá trình phát triển thành các Sprint nhỏ liên tiếp nhau, mà cuối mỗi Sprint đòi hỏi nhóm phải chuyển giao một phần tính năng “hoàn chỉnh” của sản phẩm. Hoàn chỉnh ở đây được hiểu theo nghĩa được chấp nhận dựa theo đã được thống nhất trước đó.Có thể nói, việc chuyển giao được một Phần tăng trưởng ở cuối mỗi Sprint là nhiệm vụ cốt lõi và không hề dễ dàng đối với các Nhà Phát triển.

Bên cạnh những khái niệm đề cập ở trên, các nhóm Scrum một khái niệm cũng thường xuyên xuất hiện trong Scum đó là biểu đồ Burndown Chart. Đây là biểu đồ hiển thị khối lượng cần thiết còn lại để hoàn tất công việc. Burndown Chart có thể được dùng để theo dõi tiến độ của Sprint (được gọi là Sprint Burndown Chart) hoặc của cả dự án (Project Burndown Chart).

Các giá trị của Scrum

Để áp dụng Scrum và tận dụng hiệu quả những lợi ích mà Scrum mang lại phụ thuộc rất nhiều vào mức độ theo đuổi và sống với những giá trị sau đây:

Tập trung: Mọi người tập trung vào công việc trong Sprint và Mục tiêu Sprint của Nhóm. Khi Nhóm Phát triển đã cam kết với những việc trong Sprint, họ cần phải tập trung để hoàn thành những gì mà mình đã cam kết.

Dũng cảm: Để một người dám nói ra vấn đề của mình và chấp nhận rất nhiều loại rủi ro khi thay đổi, cam kết, họ cần là người dũng cảm. Về cơ bản, những giá trị khác không thể có nếu bạn không có sự dũng cảm.

Cam kết: Ngoài ra, chúng ta liên tục cải tiến tức là thay đổi để trở thành một cá nhân tốt hơn, nhóm tốt hơn và tổ chức tốt hơn. Chúng ta luôn phải thay đổi để giữ vững lợi thế cạnh tranh và phục vụ khách hàng. Thực hiện thay đổi bao giờ cũng rất khó khăn, do đó chỉ với sự cam kết của chúng ta mới có thể làm được.

Cởi mở: Mọi thứ cần phải rõ ràng, minh bạch để mọi người có thể làm việc hiệu quả.Công việc phát triển sản phẩm ngày nay rất phức tạp, một người không thể nhìn và hiểu được hết tất cả mọi vấn đề. Do đó, nếu mọi người không cởi mở với nhau, thông tin bị che giấu rất nhiều và hiệu quả công việc khó có thể nâng cao.

Tôn trọng: Khi thiếu tôn trọng, mọi người khó thành thật trong chia sẻ. Ví dụ, khi một người không biết một điều gì đó và đi hỏi lại người khác. Người trả lời thay vì mong muốn giúp đỡ để người hỏi trở nên tốt hơn, độc lập hơn lại phàn nàn, đánh giá người hỏi thì lần sau người hỏi sẽ khó mà cởi mở và nói sự thật được. Không có tôn trọng, khó có sự cởi mở. Những công ty có văn hóa đổ lỗi khó có sự cởi mở.

Video: Scrum hoạt động như thế nào:

https://hocvienagile.com/scrum-hoat-dong-nhu-the-nao/

Scrum Là Gì Và Tại Sao Nên Dùng Scrum / 2023

Trong mô hình phát triển phần mềm ngày này, bạn sẽ nghe tới rất nhiều những thuật ngữ như “Scrum”, “Agile”, “Scrum Master” … Vậy chúng là gì, có vai trò như thế nào trong phát triển phần mềm. Nội dung bài viết sẽ chia sẻ về

1. Scrum là gì

Scrum là một Framework về quy trình và quản lý giúp 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. Bản thân Scrum là một Framework đơn giản nhằm giúp việc phối hợp hiệu quả nhất giữa các thành viên trong đội phát triển khi thực hiện những sản phẩm phức tạp. Với Scrum, sản phẩm được xây dựng trên 1 chuỗi các quy trình lặp lại (gọi là Sprint). Các sprint diễn ra đều đặn, mỗi một sprint là cơ hội để học hỏi điều chỉnh nhằm đạt được sự phù hợp và kết quả tốt nhất.

Nhắc đến Scrum là:

Khi áp dụng Scrum, có 4 cuộc họp (Meetings or Ceremonies) quan trọng tạo nên cấu trúc trong mỗi Sprint như sau:

Sprint planning: Cuộc họp lên kế hoạch của đội dự án, nhằm xác định những gì cần hoàn thành trong Spring sắp tới.

Daily stand-up: Cũng được biết đến như “Daily Scrum”, một cuộc họp nhỏ 15 phút mỗi ngày để trao đổi công việc giữa đội phát triển.

Sprint demo: Một cuộc họp chia sẻ, nơi mà các thành viên chỉ ra những gì họ đã làm được trong Sprint đó

Sprint retrospective: Sự đánh giá, nhìn lại những điều đã làm được và chưa làm được của Sprint hiện tại, và đưa ra giải pháp hành động cho Sprint tiếp theo được tốt và hoàn thiện hơn.

Một nhóm phát triển Scrum thì sẽ có những thành phần hơi khác biệt so với mô hình truyền thống Waterfall, với 3 vai trò sau:

Và bởi vì nhóm phát triển Scrum là đa chức năng, nên “Development Team” sẽ bao gồm Testers, Designers, và Ops Engineers.

2. Tại sao nên dùng Scrum

Scrum cho phép việc tự do triển khai

Scrum dễ học và dễ sử dụng

Scrum chấp nhận sự thay đổi

Scrum làm giảm rủi ro khi xây dựng sản phẩm

Scrum tối ưu hóa hiệu quả và nỗ lực của đội phát triển

Scrum cho phép khách hàng sử dụng sản phẩm sớm hơn

Scrum cải tiến liên tục

Bài viết được tham khảo từ nhiều nguồn: https://www.scrum.org/resources/what-is-scrum https://www.linkedin.com/pulse/7-reasons-use-scrum-project-development-david-nos https://www.atlassian.com/agile/scrum

All Rights Reserved

Agile Là Gì? Tổng Quan Về Agile Scrum / 2023

Agile là gì? Scrum là gì? Agile và Scrum có phải là một? Hiểu Agile là một quy trình phát triển phần mềm có đúng không? Bài viết này sẽ giúp bạn làm sáng tỏ tất cả các câu trả lời và giải thích những giá trị cốt lõi nhất của Agile để bạn hoàn toàn có thể hiểu đúng về Agile và Scrum.

Agile thực chất là một triết lý hay một khung tư duy để nhanh chóng thích ứng và phản hồi với thay đổi, từ đó đạt được thành công trong một môi trường liên tục biến động và không chắc chắn.

Triết lý Agile xuất phát từ ngành công nghệ, và được mô tả bằng 4 giá trị và 12 nguyên lý cốt lõi trong Tuyên ngôn phát triển phần mềm linh hoạt hay Tuyên ngôn Agile (The Manifesto for Agile Software Development) mà chúng ta sẽ tìm hiểu phía sau.

Triết lí Agile cho đến ngày nay không chỉ đã làm thay đổi diện mạo nền công nghệ thế giới nói riêng mà đang lan tỏa mạnh mẽ và thể hiện giá trị trong rất nhiều lĩnh vực như: Quản lý dự án (với Agile Project Management), nhân sự (với Agile HR và Agile People), marketing (với Agile Marketing), hay quản trị và lãnh đạo (với Agile Management, Agile Leadership)…

Agile Software Development là gì?

Triết lý Agile được mô tả sơ bộ trong bản Tuyên ngôn Agile (The Manifesto for Agile Software Development) thông qua những giá trị cốt lõi và nguyên tắc có tính phổ quát, tuy nhiên không ghi rõ thực hiện những giá trị và nguyên tắc ấy như thế nào. Vì vậy các phương pháp Agile sẽ làm nhiệm vụ định nghĩa rõ hơn để các cá nhân và tập thể dễ dàng vận dụng vào bối cảnh công việc của mình. Các phương pháp này đều khuyến khích việc lập kế hoạch thích ứng, phát triển tăng dần, chuyển giao sớm và cải tiến liên tục nhằm thích ứng nhanh với sự thay đổi – một điểm yếu cố hữu của các phương pháp phát triển phần mềm truyền thống (waterfall) .

Tuyên ngôn Agile (Agile Manifesto)

1, Lịch sử ra đời của tuyên ngôn Agile

Agile ra đời trong bối cảnh ngành phát triển phần mềm gặp nhiều thử thách với cách thức phát triển truyền thống theo mô hình thác nước (waterfall), hoặc dựa theo kế hoạch (plan-driven).

Nội dung của bản tuyên ngôn Agile đã trở thành triết lý dẫn đường cho các phương pháp Agile sau này, cụ thể như sau:

2, Tuyên ngôn phát triển phần mềm linh hoạt (gọi tắt là tuyên ngôn Agile)

Chúng tôi đã phát hiện ra cách phát triển phần mềm tốt hơn bằng cách thực hiện nó và giúp đỡ người khác thực hiện. Qua công việc này, chúng tôi đã đi đến việc đánh giá cao:

Individuals and interactions over processes and tools: Cá nhân và sự tương tác hơn là quy trình và công cụ

Working software over comprehensive documentation: Phần mềm chạy tốt hơn là tài liệu đầy đủ

Customer collaboration over contract negotiation: Cộng tác với khách hàng hơn là đàm phán hợp đồng

Responding to change over following a plan: Phản hồi với sự thay đổi hơn là bám theo kế hoạch

Mặc dù các điều bên phải vẫn còn giá trị, nhưng chúng tôi đánh giá cao hơn các mục ở bên trái.

3, Mười hai nguyên tắc phía sau tuyên ngôn Agile

Bên cạnh đó, các nhà phát triển còn nhấn mạnh mười hai nguyên lý phía sau Tuyên ngôn Agile để giúp các nhà phát triển có được gợi ý trong thực hành và vận dụng các phương pháp Agile trong thực tiễn. Các nguyên lý được liệt kê sau đây:

Ưu tiên cao nhất của chúng tôi là thỏa mãn khách hàng thông qua việc chuyển giao sớm và liên tục các phần mềm có giá trị.

Chào đón việc thay đổi yêu cầu, thậm chí rất muộn trong quá trình phát triển. Các quy trình linh hoạt tận dụng sự thay đổi trong các lợi thế cạnh tranh của khách hàng.

Thường xuyên chuyển giao phần mềm chạy tốt tới khách hàng, từ vài tuần đến vài tháng, ưu tiên cho các khoảng thời gian ngắn hơn.

Nhà kinh doanh và nhà phát triển phải làm việc cùng nhau hàng ngày trong suốt dự án.

Xây dựng các dự án xung quanh những cá nhân có động lực. Cung cấp cho họ môi trường và sự hỗ trợ cần thiết, và tin tưởng họ để hoàn thành công việc.

Phương pháp hiệu quả nhất để truyền đạt thông tin tới nhóm phát triển trong nội bộ nhóm phát triển là hội thoại trực tiếp.

Phần mềm chạy tốt là thước đo chính của tiến độ.

Liên tục quan tâm đến các kỹ thuật và thiết kế tốt để gia tăng sự linh hoạt.

Sự đơn giản – nghệ thuật tối đa hóa lượng công việc chưa xong – là căn bản.

Các kiến trúc tốt nhất, yêu cầu tốt nhất và thiết kế tốt nhất sẽ được làm ra bởi các nhóm tự tổ chức.

Nhóm phát triển sẽ thường xuyên suy nghĩ về việc làm sao để trở nên hiệu quả hơn, sau đó họ sẽ điều chỉnh và thay đổi các hành vi của mình cho phù hợp.

Bạn có thể tìm hiểu kỹ hơn về nội dung bản tuyên ngôn

Các phương pháp Agile

Scrum: theo Tài liệu Hướng dẫn Scrum (The Scrum Guide) được 2 nhà đồng sáng lập Ken Schwaber and Jeff Sutherland định nghĩa, là một khung làm việc (framework) để phát triển bền vững các sản phẩm phức tạp. Có thể nói Scrum là một trong những phương pháp Agile quan trọng nhất sử dụng cơ chế lặp (iterative) và tăng trưởng (Incremental) để tối ưu hóa hiệu quả cũng như kiểm soát rủi ro. Chúng ta sẽ tìm hiểu chi tiết về Scrum ở của series bài viết về nhập môn Agile và Scrum.

Kanban: là một phương pháp Agile dựa trên Phương thức Sản xuất Toyota với bốn nguyên lý: Trực quan hóa công việc, giới hạn công việc đang làm, tập trung vào luồng làm việc, cải tiến liên tục. Mô hình Kanban phù hợp cho việc hỗ trợ sản xuất trong quá trình làm việc. Tìm hiểu thêm về Kanban

Scrumban: là một phương pháp được Corey Ladas giới thiệu vào năm 2009 trong cuốn sách với tựa đề “Scrumban – Essays on Kanban Systems for Lean Software Development”. Scrumban kết hợp được những ưu điểm của Scrum và Kanban để cho phép nhóm liên tục cải tiến quy trình và khả năng xử lý công việc.

Lean Software Development (LSD): hay Phát triển phần mềm tinh gọn là hình thức áp dụng Tư duy tinh gọn (Lean Thinking) và các nguyên lý đặc trưng của Tinh gọn (xuất phát từ ngành sản xuất ô tô – Lean Manufacturing) cho lĩnh vực phát triển phần mềm. Thuật ngữ Lean Software Development có nguồn gốc từ một cuốn sách cùng tên của Mary Poppendieck và Tom Poppendieck. Trong đó, bảy nguyên lý diễn giải tư duy Tinh gọn bao gồm: Loại bỏ lãng phí, Khuếch trương việc học, Quyết định càng muộn càng tốt, Chuyển giao càng nhanh càng tốt, Trao quyền cho nhóm, Tạo ra tính toàn vẹn tự thân, Thấy toàn cảnh là linh hồn cho quá trình phát triển phần mềm tinh gọn. Tìm hiểu thêm về Lean Software Development

XP (Extreme Programming) – Hay lập trình cực hạn là một phương pháp phát triển phần mềm thuộc họ Agile được phát minh bởi Ken Beck – một kỹ sư phần mềm người Mỹ. XP hướng đến việc nâng cao chất lượng phần mềm và khả năng đáp ứng với thay đổi yêu cầu người dùng. XP chủ trương đưa ra các bản phát hành thường xuyên thông qua các chu trình phát triển ngắn. Một số các thực hành của XP như: Lập trình cặp (Pair programming), Tái cấu trúc mã nguồn (Refactoring), Kiểm thử đơn vị (Unit Testing), Tích hợp liên tục (Continuous Integration), Các bản phát hành nhỏ (Small Release)…. Tìm hiểu thêm về XP

Có thể nhận thấy, trong số các phương pháp Agile, Scrum thuộc loại phổ biến nhất bởi sự hiệu quả và tối ưu của nó. Theo khảo sát ở trên, Scrum và các phương pháp lai với Scrum như Scrumban, Scrum và XP chiếm gần ¾ mức độ phổ biến. Đó là lí do rất nhiều nhóm bắt đầu quá trình tiếp nhận Agile với việc sử dụng Scrum.

Lợi ích khi áp dụng Agile

Agile là triết lý với các phương pháp mới thay thế cho phương pháp theo mô hình truyền thống (Waterfall) đã khẳng định vị thế khi đem đến cho cá nhân và tổ chức những lợi ích nhất định. Vậy những lợi ích đó là gì, tạo sao thế giới đang chuyển mình rất nhanh để thích ứng với Agile? Khảo sát của VersionOne năm 2020 về việc triển khai Agile đã cho thấy có sự cải thiện trong các lĩnh vực sau:

Đặc điểm của các phương pháp Agile

Tính lặp (Iterative): Trong khi dự án thực hiện, các phân đoạn sẽ được lặp đi lặp lại (Interation hoặc Sprint). Các phân đoạn này diễn ra trong thời gian ngắn (thường từ một đến bốn tuần). Trong mỗi phân đoạn này, nhóm phát triển thực hiện đầy đủ các công việc cần thiết như lập kế hoạch, phân tích yêu cầu, thiết kế, triển khai và kiểm thử để có được phần nhỏ của sản phẩm. Các phương pháp Agile sẽ không lập kế hoạch dài hạn, thay vào đó sẽ phân chia thành những quá trình lập kế hoạch nhỏ, đơn giản và gọn nhẹ.

Tính tăng trưởng (Incremental): Cuối mỗi phân đoạn (Sprint), nhóm phát triển thường cho ra các phần nhỏ của sản phẩm cuối cùng. Các phần nhỏ này thường đáp ứng được các yêu cầu, có khả năng chạy tốt do đã được kiểm thử cẩn thận và có thể sử dụng được ngay. Theo thời gian, các phân đoạn sẽ tiếp nối nhau và tích lũy dần tới khi toàn bộ yêu cầu của khách hàng được thỏa mãn. Khác với mô hình truyền thống Waterfall – vốn chỉ cho phép nhìn thấy sản phẩm tới khi gần hoàn thành dự án, sản phẩm trong dự án Agile sẽ được phát triển lớn dần theo thời gian, tăng trưởng cho tới khi đạt được trạng thái đủ để phát hành.

Vòng phản hồi ngắn và thích ứng thường xuyên: Do các phân đoạn chỉ kéo dài trong một khoảng thời gian ngắn, việc lập kế hoạch hay có những điều chỉnh, thay đổi trong quá trình phát triển đều có thể đáp ứng nhanh để phù hợp. Ngoài ra, việc khách hàng được tham gia vào các quy trình phát triển cũng sẽ giúp ích cho việc đáp ứng và thay đổi ngay những yêu cầu khác từ phía khách hàng.

Giao tiếp thường xuyên và hiệu quả: Trong các nhóm Agile luôn đề cao việc giao tiếp thường xuyên và trực diện hơn là việc trao đổi qua tài liệu, giấy tờ. Các nhóm phát triển cũng thường chỉ ở quy mô nhỏ (đối với Scrum là từ 3-9 người), từ đó sẽ đơn giản hóa được quá trình giao tiếp và thúc đẩy hợp tác hiệu quả hơn.

Hướng chất lượng: Đảm bảo chất lượng tuyệt đỉnh luôn là một yêu cầu quan trọng trong triết lý Agile. Rất nhiều kỹ thuật và công cụ được sử dụng để hướng đến việc nâng cao chất lượng sản phẩm, chẳng hạn như: Tích hợp Liên tục , Kiểm thử Đơn vị Tự động, Lập trình cặp, Phát triển Hướng Kiểm thử , Mẫu Thiết kế, Tái cấu trúc mã nguồn , v.v..

Phát triển dựa trên giá trị:

Theo cách tiếp cận truyền thống, phạm vi công việc sẽ cố định, thời gian và chi phí sẽ thay đổi để hoàn thành được phạm vi công việc. Theo cách tiếp cận của các phương pháp Agile, thời gian và chi phí sẽ là những phần cố định, khi đó các nhóm Agile luôn cộng tác trực tiếp và thường xuyên với khách hàng để liên tục ưu tiên những hạng mục tạo ra nhiều giá trị nhất. Nguyên tắc này giúp nhóm dám loại bỏ đi các công việc dư thừa không trực tiếp mang lại giá trị cho sản phẩm và rút ngắn thời gian để đi đến sản phẩm cuối cùng. Nhờ đó, các dự án Agile luôn gia tăng được sự hài lòng của khách hàng và cho ra những sản phẩm tối ưu nhất.

Một số câu hỏi phổ biến về Agile và Scrum

1- Hỏi: Agile và Scrum có phải là một?

Trả lời: Scrum là một phương pháp Agile (phổ biến nhất) nhưng không phải là Agile. Agile định nghĩa các giá trị cốt lõi và nguyên tắc định hướng, còn Scrum là một phương pháp cụ thể chia sẻ các nguyên tắc đó. Scrum và một số phương pháp định hình và ra đời trước Agile, nhưng Agile lại là tiếng nói chung, là nguyên lý của các phương pháp này.

2- Hỏi: Triết lý Agile chỉ áp dụng cho phát triển phần mềm?

Trả lời: Agile không chỉ ảnh hưởng trong Phát triển phần mềm (Agile Software Development) mà còn đang thể hiện giá trị trong các lĩnh vực khác như:

3- Hỏi: Agile Project Management và Agile Business Analysis là gì?

Trả lời: Như đã nói ở trên, Agile được hiểu là một triết lý hay một khung tư duy để nhanh chóng thích ứng và phản hồi với thay đổi.

Phương Pháp Scrum Vs Phương Pháp Kanban / 2023

Scrum và Kanban là hai từ thường được sử dụng thay thế cho nhau hoặc được mọi người hiểu sai nó là cặp từ đồng nghĩa. Trong thực tế, hai phương pháp Scrum và Kanban là khác nhau và thường được kết hợp với nhau Scrumkanban. Hiểu được những sự khác biệt của hai phương pháp sẽ giúp bạn chọn được phương pháp tốt nhất và phù hợp nhất cho công ty của bạn. Như vậy, Ecci vietnam sẽ giúp bạn hiểu rõ hơn.

Khái niệm cần nắm

Về cơ bản, phương pháp Scrum là bộ khung làm việc (framework) giúp các công ty, tổ chức chia nhỏ công việc thành những phần nhỏ hơn, để quản lý dễ dàng hơn và đượchoàn thành bởi một nhóm liên chức năng (cross-function) trong một khoảng thời gian quy định (còn gọi là sprint trong 2-4 tuần).

Nhóm Scrum thường sử dụng Bảng Scrum để theo dõi công việc của từng thành viên trong nhóm (dòng chảy công việc – flow of work). Mỗi nhiệm vụ (task) được chia thành các đoạn nhỏ gọi là “stories”, mỗi stories chuyển giao trong Bảng gọi là “backlog” (những việc phải làm), trở thành “work-in-progess” (việc đang triển khai)

Đó là một quy trình phát triển phần mềm theo mô hình linh hoạt (agile), cung cấp rất nhiều phương pháp luận, quy trình và các thực nghiệm để cho việc phát triển phần mềm trở nên nhanh chóng và dễ dàng. Với nguyên tắc chính là chia nhỏ phần mềm cần sản xuất ra thành các phần nhỏ để phát triển (gọi là Sprint. Sprint phải độc lập và release được), lấy ý kiến khách hàng (Product Owner) và thay đổi cho phù hợp ngay trong quá trình phát triển để đảm bảo sản phẩm release đáp ứng những gì khách hàng mong muốn.

Mô hình 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 những thành viên trong nhóm thay vì chịu sự áp đặt từ bên ngoài.

Ưu điểm của mô hình Scrum là gì?

– Thời gian hoàn thành dự án linh hoạt, không bị cố định từ đầu

– Thời gian tạo ra sản phẩm dựa vào mô hình Scrum nhanh, tốc độ phát triển nhanh, tiết kiệm thời gian

– Phân phối sản phẩm mềm dẻo: nội dung sản phẩm chuyển giao được xác định linh hoạt theo môi trường sử dụng thực tế.

– Mỗi thành viên phụ trách một “sprint” nên hiệu quả công việc cao hơn, năng suất cao hơn và tính chính xác cao hơn

– Khách hàng tham gia vào quá trình phát triển phần mềm để đảm bảo sản phẩm đầu ra đáp ứng đúng nhu cầu phát triển.

– Kiểm soát quá trình thực nghiệm vì nhóm Scrum có thể điều chỉnh và sửa chữa các practice bằng cách sử dụng hướng dẫn thực tế nhất từ các thử nghiệm và báo lỗi

– Các bugs (lỗi) và các vấn đề trong mô hình Scrum được phát hiện sớm hơn rất nhiều so với các phương pháp truyền thống

– Chất lượng sản phẩm tốt và giảm rủi ro sản xuất, chi phí thấp. Khả năng trao đổi giữa khách hàng và nhà phát triển, giữa những thành viên trong đội được đặt lên mức cao.

Mô hình Agile Scrum mang lại lợi ích gì?

Agile Scrum đang ngày trở nên phổ biến và được sử dụng rộng rải bởi những nhà phát triển phần mềm. Vậy vì những lợi ích gì mà mô hình Agile Scrum lại được ưa chuộng như vậy?

Cải thiện chất lượng phần mềm

Framewrok của Scrum giúp nhóm phát triển Scrum nhận phản hồi liên tục và nhanh chóng điều chỉnh để đảm bảo chất lượng phần mềm cao nhất, đồng thời đáp ứng đúng nhu cầu của thị trường luôn thay đổi. Bằng cách áp dụng các nguyên tắc nghiệm ngặt trong mô hình Scrum, nhóm phát triển Scrum có thể đưa ra thị trường các sản phẩm có chất lượng tốt nhất.

Rút ngắn thời gian phát hành phần mềm

Scrum đã được chứng minh là cung cấp sản phẩm đến tay khách hàng cuối cùng nhanh hơn 30%-40% so với phương pháp truyền thống. Vì mô hình Scrum làm việc với nguyên tắc chính là chia nhỏ phần mềm cần sản xuất ra thành các phần nhỏ để phát triển gọi là Sprint. Mỗi Sprint thường mất 2- 4 tuần để hoàn thành.

Nâng cao tinh thần đồng đội

Mô hình Scrum áp dụng cách thức tự quản và tự tổ chức (self-managing & self-organizing ), với mục đích các thành viên trong nhóm Scrum có thể vui vẻ làm việc cùng nhau, khơi dậy sự sáng tạo, chủ động trong họ. Cách thức tự quản lí cũng cho phép mọi thành viên trong nhóm Scrum đều có thể ra quyết định. Trong nhóm Scrum sẽ không có nhóm trưởng mà chỉ có Scrum Master, là người giúp nhóm vượt qua các trở ngại và che chắn cho nhóm khỏi những ảnh hưởng từ nội bộ hay bên ngoài.

Gia tăng tỷ suất hoàn vốn đầu tư (ROI)

Giảm thời gian sản xuất là lí do chính yếu nhất giúp các dự án Scrum đạt được ROI cao hơn. Bởi vì doanh thu và các mục tiêu khác đến sớm hơn, nên tổng lợi nhuận cao hơn theo thời gian. Đây là một nguyên lý cơ bản của giá trị hiện tại thuần (NPV)

Tăng mức độ hài lòng của khách hành

Nhóm Scrum cam kết sản xuất ra các sản phẩm hoặc dịch vụ có thể khiến khách hàng hài lòng. Sở dĩ như vậy vì nhóm Scrum xem khách hàng là đối tác và giữ khách hàng tham gia vào dự án; thành phần tham gia dự án Scrum còn có Product Owner là người hiểu rõ các yêu cầu (requirements) của dự án và nhu cầu của khách hàng; thời gian cung cấp sản phẩm nhanh hơn

Mô hình Scrum giúp giảm thiểu rủi ro thất bại hoàn toàn khi mất một số tiền đầu tư khổng lồ và thời gian dài để triển khai dự án mà không thu lại được ROI. Vì như đã trình bày, Scrum làm việc theo từng giai đoạn, từng Sprint, nên nhóm dự án có thể thực hiện từng bước, sau đó rút kinh nghiệm hoặc tiếp tục phát huy các ưu điểm của Sprint trước để cải thiện hơn sản phẩm trong Sprint sau tránh gây thất thoát quá lớn trong suốt dự án.

Phương pháp Kanban là gì?

Kanban cũng là một công cụ được sử dụng để giúp các công ty tổ chức đạt hiệu quả cao trong công việc. Kanban là công cụ kiểm soát sản xuất, dùng nhiều màu sắc để chỉ định nguyên liệu và các công đoạn khác nhau.

Giống như phương pháp Scrum, Kanban cũng dùng Bảng Kanban và chia công việc thành những phần nhỏ. Trong khi phương pháp Scrum giới hạn thời gian cho phép để hoàn thành một công việc cụ thể (sprint) thì Kanban giới hạn số lượng công việc cho phép trong một điều kiện nhất định (bao gồm nhiều task trên một thẻ Kanban và trên To do list – chỉ định rõ phải nhận bộ phận, chi tiết hay nguyên liệu nào từ trạm trước nó với số lượng bao nhiêu)

Scrum và Kanban khác nhau ở điểm gì?

Cả hai phương pháp Scrum và Kanban đều chia nhỏ các task lớn và phức tạp thành những đoạn nhỏ và hoàn thành theo một quy trình nhất định.

Cả hai phương pháp thúc đẩy cải tiến liên tục, tối ưu hóa công việc và quá trình.

Cả hai phương pháp đều tập trung vào dòng chảy công việc để khuyến khích các thành viên tham gia vào quy trình

Phương pháp Scrum là giải pháp tốt nhất cho sản phấm và phát triển dự án. Kanban là giải pháp tốt nhất để hỗ trợ sản xuất. Sự khác nhau giữa phương pháp Scrum và Kanban là triết lý đằng sau và các ứng dụng thực tế của Scrum và Kanban. Có rất nhiều lí do khác nhau tuy nhiên có 3 điểm khác biệt lớn như sau:

1. Lập kế hoạch, sự lặp lại

Phương pháp Scrum đề cao tầm quan trọng về lịch trình. Các nhóm Scrum sẽ được cung cấp một danh sách ưu tiên của các task cần được hoàn thành, hoàn chỉnh chức năng và sẵn sàng chuyển giao (shippable) cho khách hàng. Các nhóm phải quyết định nhận task nào mà họ nhận thấy có thể được hoàn tất trong vòng một sprint.

Nhóm Kanban không có khung thời gian (time box) hay quy trình lặp đi lặp lại. Sự cải tiến liên tục ​​sẽ diễn ra liên tục trong suốt quá trình hoàn thành sản phẩm. Sự giới hạn trong dòng chảy công việc sẽ được điều chỉnh ở nhóm hay trong tổ chức dựa trên phương pháp Kanban cho đến khi đạt được sự tối ưu của các điều kiện và điểm giới hạn đến để giữ cho dòng chảy công việc đều đặn và hiệu quả

2. Vai trò và trách nhiệm

Trong một nhóm Scrum, có ít nhất ba bên được phép chỉ định xử lý công việc: PO, Scrum Master và nhóm phát triển. Mỗi bên bị ràng buộc bởi về trách nhiệm riêng biệt và họ phải làm việc cùng nhau để đạt được một sự cân bằng giữa yêu cầu và sản phẩm cuối. Nhóm Scrum bắt buộc là nhóm liên chức năng, hay nói cách khác nhóm Scrum phải có tất cả các nguồn lực cần thiết để hoàn thành công việc.

Với phương pháp Kanban, không có quy định nào về vai trò. Có thể hiểu là một người sẽ đảm nhận vai trò như người quản lý dự án hoặc giám sát, đặc biệt là đối với các dự án Kanban có quy mô lớn và phức tạp thì không có bất cứ quy định về các vai trò. Một nhóm Kanban không nhất thiết phải là nhóm liên cá nhân như phương pháp Scrum.

Bất kỳ hoặc tất cả các nhóm đều có thể tham gia dự án. Do đó, một nhóm chuyên gia hay một một riêng biệt đều có thể làm việc trên các khía cạnh khác nhau của dự án Kanban tương tự từ cùng một bảng Kanban.

Trên một bảng Scrum, các cột được dán nhãn để phản ánh các giai đoạn của dòng chảy công việc. Các task lần lượt theo thứ tự, làm tất cả mọi việc mỗi sprint trong một vài tuần (khoảng thời gian thông thường cho sprint) và chuyển chúng sang trạng thái hoàn thành (cột Done) và cuối cùng sẽ xử lý hết những sprint còn ở trạng thái chờ

Trên một bảng Kanban, các cột tương tự được dán nhãn để hiển thị trạng thái flow of work. Tuy nhiên khác biệt ở chỗ có sự giới hạn về số lượng tối đa cho phép của mỗi cột tại bất kỳ thời điểm nào và hạn chế khả năng thực thi mỗi task.

Vì mỗi cột có một số giới hạn khác nhau và không yêu cầu thời gian (như sprint), nên không có lý do để lặp lại quy trình như phương pháp Scrum. Tiến trình sẽ tiếp tục chạy với những task mới được bổ sung khi cần thiết và được đánh giá lại nếu cần.

Phương pháp nào tốt hơn?

Đây là một câu hỏi khó và không ai có thể trả lời câu hỏi này ngoài doanh nghiệp của bạn. Tùy vào nhu cầu, điều kiện và chiến lược riêng của từng doanh nghiệp để lựa chọn cho mình phương pháp Scrum hay Kanban.

Ngoài ra doanh nghiệp cũng có thể thử phương pháp Scrum-Kanban – kết hợp của phương pháp Scrum và Kanban. Scrumban được giới thiệu như một quy trình đơn giản để quản lý những dự án phức tạp. Hiện nay Scrumban được áp dụng tốt nhất khi phát triển website, phát triển phần mềm hoặc maintenance.

Cập nhật thông tin chi tiết về Scrum Là Gì? Quy Trình Áp Dụng Mô Hình Scrum Hiệu Quả / 2023 trên website Channuoithuy.edu.vn. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Chúc bạn một ngày tốt lành!