Agile là gì? Tổng quan về Agile Scrum

Chúng tôi rất vui mừng được chia sẻ kiến thức sâu sắc về từ khóa Agile la gi để tối ưu hóa nội dung trang web và chiến dịch tiếp thị trực tuyến. Bài viết cung cấp phương pháp tìm kiếm, phân tích và lựa chọn từ khóa phù hợp, cùng với chiến lược và công cụ hữu ích. Hy vọng thông tin này sẽ giúp bạn xây dựng chiến lược thành công và thu hút lưu lượng người dùng. Cảm ơn sự quan tâm và hãy tiếp tục theo dõi blog để cập nhật kiến thức mới nhất.

Agile là gì? Scrum là gì? Agile và Scrum liệu có phải là một? Agile là một quy trình phát triển phần mềm có đúng không ạ? Nội dung bài viết này sẽ trả lời mọi thắc mắc và giảng giải các giá trị cốt lõi nhất của Agile để chúng ta có thể hiểu đúng về Agile và Scrum.

Bạn Đang Xem: Agile là gì? Tổng quan về Agile Scrum

Agile là gì?

Agile thực chất là một triết lý hay một khuông tư duy để sớm 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 thiên nhiên liên tục biến động và không vững chắc.

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 tắc 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à tất cả chúng ta sẽ tìm hiểu phía sau.

Triết lý Agile cho tới ngày này không chỉ đã làm thay đổi dung 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 nghành 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ì?

Agile Software Development là một thuật ngữ chung chỉ tất cả những kỹ thuật và phương pháp phát triển phần mềm theo triết lý Agile.

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 ra sao. Vì vậy, các phương pháp Agile sẽ làm nhiệm vụ khái niệm rõ hơn để các thành viên và tập thể dễ dàng vận dụng vào toàn 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 không ít phương pháp phát triển phần mềm truyền thống (Waterfall).

Sau đây tất cả chúng ta sẽ tìm hiểu về lịch sử vẻ vang ra đời của Tuyên ngôn Agile và một số phương pháp Agile phổ thông nhất.

Tuyên ngôn Agile (Agile Manifesto)

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

Agile ra đời trong toàn cảnh ngành phát triển phần mềm gặp nhiều thử thách với phương pháp 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).

Đặc trưng của những phương pháp này là tiếp cận tuyến tính, thực hiện tuần tự các bước theo kế hoạch. Tuy nhiên, trong thực tế rất nhiều rủi ro không thể tiên lượng trước. Một trong những lý do chính đó là khách hàng thường xuyên thay đổi yêu cầu (requirement) trong quá trình sinh sản. Nguyên nhân thường do khách hàng không biết mình cần gì cho đến lúc trực tiếp sử dụng sản phẩm hoặc cũng xuất hiện thể những yêu cầu lúc đầu đã lỗi thời và không đáp ứng được mục tiêu kinh doanh. Khi yêu cầu thay đổi, toàn bộ các bước thiết kế và phát triển, kiểm thử, viết lại tài liệu… phải tiến hành lại. Kết quả là sản phẩm làm ra không đúng yêu cầu của khách hàng, bị trễ thời kì, hoặc quá ngân sách.

Cuộc khủng hoảng rủi ro phương pháp luận phát triển phần mềm vào thập kỉ 90 của thế kỉ XX diễn ra tận mắt chứng kiến tỷ lệ thất bại của không ít dự án phần mềm rất cao. Kết quả là từ thời điểm ngày 11-13 tháng hai năm 2001, 17 nhà phát minh và nhà thực hiện đã họp với nhau tại bang Utah, Hoa Kỳ để thảo luận về phía đi mới trong phương pháp luận phát triển phần mềm. Họ đã đi đến thống nhất và cho ra đời bản Tuyên ngôn Agile (The Manifesto for Agile Software Development) và lưu lại một xu thế mới trong phát triển phần mềm.

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 phương pháp thực hiện nó và trợ 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 thẩm định và đánh giá cao:

  • Individuals and interactions over processes and tools: Member và sự tương tác hơn là quy trình và dụ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: Hiệp tác với khách hàng hơn là thương thuyết 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 thẩm định và đánh giá mạnh 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

Xem Thêm : Vơ đét là gì? Giải đáp thắc mắc xung quanh thuật ngữ Vedette

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

  • Ưu tiên chất lượng cao 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ó mức giá trị.
  • Chào đón việc thay đổi yêu cầu, thậm chí là 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 những khoảng tầm thời kì ngắn lại hơn.
  • Nhà kinh doanh và nhà phát triển phải thao tá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 thành viên có động lực. Cung cấp cho họ môi trường thiên nhiên và sự tương trợ cấp 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 độ.
  • Các quy trình linh hoạt xúc tiến phát triển vững bền. Các nhà tài trợ, nhà phát triển và người dùng có thể duy trì một nhịp độ liên tục không giới hạn.
  • Liên tục quan tâm tới những kỹ thuật và thiết kế tốt để tăng cường thêm sự linh hoạt.
  • Sự đơn giản – thẩm mỹ và làm đẹp tối đa hóa lượng công việc chưa xong – là cơ 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ẽ tiến hành 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 thế nào để trở thành hiệu quả hơn, sau đó họ sẽ kiểm soát và điều chỉnh và thay đổi các hành vi của mình cho phù hợp.

Chúng ta cũng có thể tìm hiểu kỹ hơn về nội dung bản tuyên ngôn tại đây.

Các phương pháp Agile

Như đã đề cập ở trên, Agile có thể có nhiều phương pháp để vận dụng thực hiện khác nhau, nhưng triết lý chung thì giống nhau. Theo khảo sát của VersionOne năm 2020, tỉ lệ vận dụng các phương pháp Agile được mô tả trong biểu đồ tiếp sau đây:

Tất cả chúng ta cùng điểm qua về một số phương pháp Agile (gọi chung với phạm vi rộng hơn để chỉ cả phương pháp, khuông quản trị, kỹ thuật thực hiện) phổ thông nhất trong số này:

  • 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 khái niệm, là một khuông thao tác (framework) để phát triển vững bền các sản phẩm phức tạp. Nói cách khác 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. Tất cả chúng ta sẽ tìm hiểu cụ thể về Scrum ở phần II của series nội dung 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 Sinh sản Toyota với bốn nguyên tắc: 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 thao tác, cải tiến liên tục. Mô hình Kanban phù hợp cho việc tương trợ sinh sản trong quá trình thao tác.
  • 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 phối hợp được những ưu điểm của Scrum và Kanban để được 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 vận dụng Tư duy tinh gọn (Lean Thinking) và các nguyên tắc đặc trưng của Tinh gọn (xuất phát từ ngành sinh sản xe hơi – Lean Manufacturing) cho nghành 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 số đó, bảy nguyên tắc diễn giải tư duy Tinh gọn gồm có: 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à vong linh 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 tại đây.
  • 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 sản phẩm và dịch vụ 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 hiện 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)…

Có thể nhận thấy, trong số các phương pháp Agile, Scrum thuộc loại phổ thông 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 khoảng ¾ Referring. Đó là lý do rất nhiều nhóm mở màn quá trình tiếp nhận Agile với việc sử dụng Scrum.

Lợi ích khi vận dụng Agile

Agile là triết lý với những 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 về cho thành viên và tổ chức những lợi ích nhất định. Vậy những lợi ích đó là gì, vì 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 nghành sau:

Văn bản báo cáo CHAOS của Standish Group năm 2015 đã cho thấy các dự án Agile so với những dự án truyền thống (Waterfall) có tỷ lệ thành công mạnh hơn 3 lần. Cụ thể trong bảng tiếp sau đây:

Quy mô dự án Phương pháp Thành công Thử thách Thất bại Tổng kết Agile 39% 52% 9% Waterfall 11% 60% 29% Lớn Agile 18% 59% 23% Waterfall 3% 55% 42% Vừa Agile 27% 62% 11% Waterfall 7% 68% 25% Nhỏ Agile 58% 38% 4% Waterfall 44% 45% 11%

=> Xem thêm: Khóa học Quản trị dự án Agile

Vì sao tất cả chúng ta nên chuyển đổi sang Agile?

  • Linh hoạt hơn: Trong một thế giới đầy biến động và cô động như hiện nay, việc yên cầu ở mỗi thành viên hay các nhóm một phương pháp linh hoạt là điều cấp thiết. Nếu hiểu được những triết lý của Agile, vững chắc nó sẽ giúp linh hoạt hơn với mọi thay đổi. Từ triết lý Agile, ta có thể học được rất nhiều tri thức về việc linh hoạt như Lean Startup, Scrum, Kanban,… Như vậy, mọi phương pháp trong Agile đều giúp tất cả chúng ta tiếp nhận sự thay đổi một cách nhẹ nhõm và tích cực, để từ đó tất cả chúng ta linh hoạt hơn.
  • Sáng tạo hơn: Dựa vào đặc tính linh hoạt mà Agile luôn thôi thúc các thành viên và nhóm thao tác dữ thế chủ động hơn, để từ đó sáng tạo và không ngại vượt qua những “vùng an toàn” của chính mình.
  • Năng suất mạnh hơn: Bài toán về năng suất vẫn là một bài toán khó. Khi tìm hiểu về Agile, các bạn sẽ được tiếp cận với những tư duy rất mới như vòng lặp, lập kế hoạch ngắn hạn, điều phối nhóm Scrum, xử lý vấn đề để giảm rủi ro, tiết kiệm ngân sách và chi phí nguồn lực, thao tác thấp hơn, hiệu quả mạnh hơn.
  • Agile đã phổ thông trên thế giới: Học viện chuyên nghành Agile luôn có một mong muốn, trằn trọc làm thế nào để Agile phổ thông hơn tại Việt Nam, để nâng cao năng lực của nguồn nhân lực nước nhà cũng như đổi mới các doanh nghiệp để đạt hiệu quả mạnh hơn. Sở dĩ chúng tôi có muốn đó bởi hiện nay trên thế giới Agile đã rất phát triển và phổ thông, Agile đã hỗ trợ cho hàng triệu doanh nghiệp đạt được sự linh hoạt, mà phải kể tới các tổ chức đã vận dụng Agile trên thế giới như Facebook, Microsoft, Apple, Amazon,… Vậy thì Việt Nam của tất cả chúng ta, vững chắc sẽ cần dịch chuyển sang Agile nhanh hơn, sớm hơn nữa.

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

  • Tính lặp (Iterative): Trong những khi dự án thực hiện, các phân đoạn sẽ tiến hành lặp đi tái diễn (Interation hoặc Sprint). Các phân đoạn này diễn ra trong thời kì 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ấp 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ử để đạt được phần nhỏ của sản phẩm. Các phương pháp Agile sẽ không còn lập kế hoạch dài hạn, thay vào này 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 những 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 kì, 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 Waterfall – vốn chỉ được 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ẽ tiến hành phát triển lớn dần theo thời kì, 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ãn dài trong một khoảng tầm thời kì ngắn, việc lập kế hoạch hay có những kiểm soát và điều chỉnh, thay đổi trong quá trình phát triển đều phải sở hữu 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ẽ hỗ trợ í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, sách vở và giấy tờ. Các nhóm phát triển cũng thường chỉ ở quy mô nhỏ (so với Scrum là từ 3-9 người), từ này sẽ đơn giản hóa được quá trình giao tiếp và xúc tiến hợp tác hiệu quả hơn.
  • Hướng chất lượng sản phẩm và dịch vụ: Đảm bảo chất lượng sản phẩm và dịch vụ tuyệt đỉnh vẫn là một yêu cầu quan trọng trong triết lý Agile. Rất nhiều kỹ thuật và dụng cụ được sử dụng để hướng đến việc nâng cao chất lượng sản phẩm và dịch vụ sản phẩm, ví dụ như: Tích hợp Liên tục, Kiểm thử Đơn vị Tự động hóa, 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ị: Một trong những nguyên tắc cơ bản của Agile đó là “phần mềm chạy tốt là thước đo chính của tiến độ”. Nguyên tắc này giúp nhóm luôn nỗ lực cố gắng để đạt được kết quả cuối và có thể bỏ đi những công việc dư thừa không trực tiếp đem lại giá trị cho sản phẩm.

Theo phong cách tiếp cận truyền thống, phạm vi công việc sẽ nhất định, thời kì và ngân sách sẽ thay đổi để hoàn thành được phạm vi công việc. Theo phong cách tiếp cận của không ít phương pháp Agile, thời kì và ngân sách sẽ là những phần nhất định, khi đó các nhóm Agile luôn hợp 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 kì để đi đến sản phẩm cuối cùng. Nhờ đó, các dự án Agile luôn tăng cường thêm đượ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ố vướng mắc phổ thông về Agile và Scrum

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

Trả lời: Scrum là một phương pháp Agile (phổ thông nhất) nhưng không phải là Agile. Agile khái niệm 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ể san 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 tắc của không ít phương pháp này.

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

Xem Thêm : Chỉ số PMI là gì? Ảnh hưởng của PMI đối với nền kinh tế

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

  • Quản lý dự án: Agile Project Management
  • Nhân sự: Agile HR và Agile People
  • Marketing: Agile Marketing
  • Quản trị: Agile Management
  • Lãnh đạo: Agile Leadership
  • Sinh sản: Agile Manufacturing
  • giáo dục và đào tạo: EduScrum, Agile Classroom
  • Khởi nghiệp: Lean Startup
  • Thiết kế (Lean UX, Design Thinking)
  • tổ ấm: Agile Family
  • Member: Personal Kanban & Agile Mindset

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 khuông tư duy để sớm thích ứng và phản hồi với thay đổi.

Vì vậy khi tất cả chúng ta nói đến Agile Project Management và Agile Business Analysis, hãy đặt vướng mắc rằng “Đâu là cách tất cả chúng ta thực hiện dự án hay phân tích nghiệp vụ được cho phép tất cả chúng ta thích ứng với sự thay đổi và sống chung với những điều không vững chắc”.

Cách vận dụng Agile/Scrum hiệu quả trong quản trị doanh nghiệp

Agile/Scrum là xu hướng nổi trội trong quản trị doanh nghiệp hiện nay, nhất là trong ngành công nghệ. Chứng cứ là rất nhiều đơn vị đã chuyển đổi sang Agile và thu được nhiều thành tựu nổi trội như: Viettel, FPT, Techcombank, MSB, VNG Corporation…

Theo san sẻ của ông Jeff Sutherland – Creator of Scrum, Doctor at the University of Colorado School of Medicine: “Scrum dễ hiểu nhưng khó tinh thông”. Để vận dụng thành công và vững bền, doanh nghiệp cần Agile/Scrum đúng thực chất và đồng bộ ngay từ trên đầu, từ viên chức đến cấp quản lý, từ đội nhóm đến toàn thể tổ chức.

Thấu hiểu những vấn đề trên, Học viện chuyên nghành Agile đã xây dựng khóa học nhập môn về Agile/Scrum mang tên Scrum Thực chiến!

Đây là khóa học cung cấp tri thức và các kỹ thuật, dụng cụ nền tảng về Agile/Scrum cho những thành viên, tổ chức mới triển khai Agile/Scrum hoặc triển khai chưa hiệu quả.

Kho tham khảo thêm:

  • Các tri thức tổng hợp về Agile/Scrum

Sau khóa học, học viên sẽ hiểu được những tri thức tổng quan về Scrum, thuần thục 22 dụng cụ và giải pháp thực hiện Scrum để sở hữu thể vận dụng được ngay vào công việc.

Học viện chuyên nghành Agile đã triển khai thành công hàng trăm nghìn lớp học với trên 400 học viên, trong đó có nhiều quản lý của không ít doanh nghiệp như: Viettel, Techcombank, MSB, NTQ Solution, Bravestars, SotaTek…

Các khóa học liên quan:

  • Khóa học Scrum thực chiến
  • Khóa học Certified ScrumMaster

You May Also Like

About the Author: v1000