Trong các mô hình nổi tiếng trên thế giới, Agile không được định nghĩa là một phương pháp cụ thể nào nhưng phần lớn các phương pháp khác đều hướng theo tiêu chí chung của nó. Ví dụ như Scrum, Kanban, Lean,… đều ứng dụng phương pháp luận Agile.
Để hiểu Agile là gì và lựa chọn mô hình Agile phù hợp với doanh nghiệp hoặc dự án của bạn, các nhà quản lý cần nắm rõ nguyên lý hoạt động và những ưu nhược điểm của phương pháp luận này. Vậy đâu là điều khiến Agile trở thành cốt lõi trong dự án doanh nghiệp? Hãy cùng Base.vn khám phá mô hình phổ biến này.
Mục lục
Toggle1. Tổng quan về Agile
1.1. Agile là gì?
Agile (viết tắt của Agile Software Development) là một phương thức phát triển phần mềm linh hoạt, được thực hiện bằng cách sử dụng các bước lặp ngắn từ 1 đến 4 tuần. Mục tiêu của Agile là giúp rút ngắn thời gian phát triển sản phẩm, đưa sản phẩm đến với tay khách hàng càng sớm càng tốt.
Về bản chất, Agile giống như một phương pháp luận, một triết lý dựa trên nguyên tắc phân đoạn vòng lặp (iterative) và tăng trưởng (incremental) nên sở hữu tính linh hoạt cao. Tính chất này đi ngược lại với các phương pháp quản lý dự án truyền thống – vốn dĩ triển khai các giai đoạn một cách tuyến tính và vô cùng bị động trước các thay đổi bất ngờ.
Ngày nay, triết lý Agile đã vượt xa khỏi khu vực truyền thống của mình là phát triển phần mềm để đóng góp sự thay đổi trong cách thức làm việc, quản lý, sản xuất ở các ngành khác như sản xuất, dịch vụ, sales, marketing, giáo dục,… và trở thành một phương pháp quản lý dự án phổ biến nhất hiện nay với nhiều đại diện được gọi là các phương pháp “họ Agile”.
1.2. Lịch sử hình thành và phát triển của Agile
Trước khi có sự xuất hiện của Agile, mô hình Waterfall được xem như tiêu chuẩn vàng để phát triển phần mềm. Thông thường, quy trình sẽ bắt đầu bằng việc một nhà phân tích kinh doanh viết tài liệu yêu cầu nghiệp vụ, mô tả những yêu cầu mà họ cần từ phần mềm. Những tài liệu này thường rất dài và chi tiết, chứa đựng tất cả mọi thông tin từ chiến lược tổng thể đến các thông số kỹ thuật. Sau khi tất cả các tài liệu hoàn tất, các nhà phát triển mới bắt đầu code phần mềm, hoàn thiện nó và test. Tất cả quy trình này có thể mất đến một vài năm để kết thúc và để phần mềm được đưa vào sử dụng.
Việc phát triển các phần mềm bắt đầu thay đổi với sự phát triển của mạng Internet. Đây cũng là lúc mà hiệu quả của phương pháp Waterfall bị đặt một dấu chấm hỏi. Nó làm tiêu tốn quá nhiều thời gian và công sức của nhóm thực hiện, trong khi lại thiếu đi tính khả thi khi nó chỉ hoàn toàn được xây dựng từ các nghiên cứu mà thiếu sự phản hồi thực tế từ người dùng.
Vào năm 2001, một nhóm gồm 17 nhà phát triển phần mềm kinh nghiệm, bao gồm Kent Beck, Martin Fowler, Ron Jeffries, Ken Schwaber và Jeff Sutherland, đã cùng nhau nghiên cứu và xuất bản Tuyên ngôn Agile với 4 giá trị quan trọng và 12 nguyên tắc hướng dẫn cách tiếp cận lặp đi lặp lại và tập trung vào con người để phát triển phần mềm. Tuyên ngôn Agile được xem như là niềm tin của họ vào cách vận hành hoàn hảo mà quá trình phát triển phần mềm hiện đại nên có.
Với Tuyên ngôn Agile, các nhà phát triển nhấn mạnh vào tầm quan trọng của sự hợp tác, những sự thích ứng và cải tiến liên tục thay vì bị bó buộc vào các phương pháp triển khai cứng nhắc và khối lượng tài liệu cần chuẩn bị cồng kềnh của phương pháp Waterfall truyền thống.
1.3. Đặc trưng của Agile
Tính lặp (Iterative): Dự án sẽ được thực hiện trong các phân đoạn lặp đi lặp lại, thường có khung thời gian ngắn (từ 1-4 tuần). Trong mỗi phân đoạn đó, nhóm phát triển dự án sẽ 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, kiểm thử để cho ra các phần nhỏ của sản phẩm.
Tính tăng trưởng và tiến hóa (Incremental & Evolutionary): Cuối các phân đoạn, nhóm cho ra các phần nhỏ của sản phẩm cuối cùng, thường là đầy đủ, có khả năng chạy tốt, được kiểm thử cẩn thận và có thể sử dụng. Theo thời gian, phân đoạn này tiếp nối phân đoạn kia, các phần chạy được này sẽ được tích lũy, lớn dần lên cho tới khi toàn bộ yêu cầu của khách hàng được thỏa mãn.
Tính thích nghi (adaptive): Do các phân đoạn chỉ kéo dài trong một khoảng thời gian ngắn và việc lập kế hoạch cũng được điều chỉnh liên tục, nên các thay đổi trong quá trình phát triển (yêu cầu thay đổi, thay đổi công nghệ, thay đổi định hướng về mục tiêu,…) đều có thể được đáp ứng theo cách thích hợp.
Nhóm tự tổ chức và liên chức năng: Các cấu trúc nhóm này tự phân công công việc mà không dựa trên các mô tả cứng nhắc về chức danh hay một sự phân cấp rõ ràng. Nhóm tự tổ chức đã đủ các kỹ năng cần thiết để có thể được trao quyền tự ra quyết định, tự quản lý và tổ chức lấy công việc của chính mình để đạt được hiệu quả cao nhất.
Quản lý tiến trình thực nghiệm (Empirical Process Control): Các nhóm Agile ra các quyết định dựa trên các dữ liệu thực tiễn (data-driven) thay vì tính toán lý thuyết hay các tiền giả định. Agile rút ngắn vòng đời phản hồi để dễ dàng thích nghi và gia tăng tính linh hoạt nhờ đó có thể kiểm soát được tiến trình, và nâng cao năng suất lao động.
Giao tiếp trực diện (face-to-face communication): Agile không phản đối việc tài liệu hóa, nhưng đánh giá cao hơn việc giao tiếp trực diện thay vì thông qua giấy tờ. Agile khuyến khích nhóm phát triển trực tiếp nói chuyện để hiểu rõ hơn về những gì khách hàng thực sự cần. Trong giao tiếp giữa nội bộ nhóm, Agile khuyến khích trực tiếp trao đổi và thống nhất với nhau về thiết kế của hệ thống và cùng nhau triển khai thành các chức năng theo yêu cầu.
Phát triển dựa trên giá trị (value-based development): Một trong các nguyên tắc cơ bản của Agile là “sản phẩm chạy tốt chính là thước đo của tiến độ”. Nhóm Agile thường cộng tác trực tiếp và thường xuyên với khách hàng để biết yêu cầu nào có độ ưu tiên cao hơn, mang lại giá trị hơn sớm nhất có thể cho dự án.
2. Tìm hiểu 4 tôn chỉ của Agile
2.1. Cá nhân và sự tương hỗ quan trọng hơn các quy trình và công cụ
Trước đây, các nhóm phát triển sản phẩm thường có xu hướng tập trung vào các công cụ hay quy trình tốt nhất để xây dựng sản phẩm. Tuy nhiên, Agile cho rằng những điều đó quả thật quan trọng, nhưng những người đứng sau các quy trình đó mới là nhân tố quan trọng nhất.
Sở hữu một nhóm các cá nhân phù hợp cho dự án là yếu tố quan trọng nhất để thành công. Công cụ tốt mà rơi vào tay của những người không có năng lực cũng trở nên vô dụng. Ngoài ra, sự tương tác và kết nối giữa các thành viên trong nhóm cũng là chìa khóa then chốt để làm việc nhóm và giải quyết mọi vấn đề phát sinh.
2.2. Sản phẩm dùng được tốt hơn tài liệu đầy đủ
Trước đây, các kỹ sư phần mềm sẽ dành nhiều thời gian để viết ra các tài liệu chi tiết về thiết kế sản phẩm, thông số,… trước khi bắt tay vào code thực tế. Tài liệu chi tiết rõ ràng là một điểm cộng, tuy nhiên, có những yếu tố khác mà họ cần tập trung vào hơn, đó chính là việc cung cấp một phần mềm có thể hoạt động tốt được.
Tuyên ngôn Agile đặt việc cung cấp một sản phẩm thiết thực cho khách hàng của bạn ở mức ưu tiên cao nhất.
2.3. Cộng tác với khách hàng quan trọng hơn đàm phán hợp đồng
Trước đây chủ dự án sẽ soạn thảo hợp đồng trước, sau đó khách hàng mới là người hoàn thiện bức tranh chi tiết về thành phẩm yêu cầu. Điều này rất dễ dẫn đến sự mâu thuẫn giữa những gì hợp đồng đã viết, những gì sản phẩm có thể làm và những gì mà khách hàng thực sự yêu cầu.
Với Tuyên ngôn Agile, sự tập trung được đặt vào sự phát triển liên tục. Nhóm thực hiện sẽ xây dựng một vòng lặp tương tác và phản hồi với khách hàng để đảm bảo rằng sản phẩm tạo ra phù hợp với họ.
2.4. Phản hồi với sự thay đổi quan trọng hơn bám sát kế hoạch
Chúng ta luôn kỳ vọng xây dựng nên một lộ trình triển khai dự án hoàn hảo và không bao giờ có sự thay đổi, tuy nhiên, điều đó hầu như chẳng bao giờ xảy ra. Quá trình triển khai sẽ luôn phát sinh những vấn đề mới không nằm trong kế hoạch, nhu cầu và yêu cầu của khách hàng cũng sẽ luôn thay đổi.
Tuyên ngôn Agile yêu cầu nhóm thực hiện có được khả năng xoay vòng và thay đổi hướng đi bất cứ lúc nào, với một lộ trình linh hoạt, thay đổi theo từng tuần, tháng hoặc quý.
3. Tìm hiểu 12 nguyên tắc trong Agile
1 – Ưu tiên cao nhất của Agile là làm hài lòng khách hàng thông qua việc cung cấp sớm và liên tục các sản phẩm có giá trị.
2 – Agile luôn chào đón các yêu cầu thay đổi, kể cả khi nó xuất hiện ở giai đoạn cuối của quá trình triển khai, khi mọi thứ đã gần như hoàn thiện. Quy trình Agile luôn khai thác sự thay đổi để tạo nên lợi thế cạnh tranh cho khách hàng.
3 – Giao phần mềm chạy được cho khách hàng một cách thường xuyên, từ vài tuần đến vài tháng.
4 – Các nhà kinh doanh và nhà phát triển phần mềm phải làm việc cùng nhau hàng ngày trong suốt dự án.
5 – Tập trung xây dựng 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, cùng với niềm tin vào việc hoàn thành tốt công việc.
6 – Phương pháp hiệu quả nhất để truyền đạt thông tin là trao đổi trực tiếp.
7 – Phần mềm hoạt động tốt chính là thước đo của tiến độ triển khai Agile.
8 – Quy trình Agile thúc đẩy sự phát triển bền vững.
9 – Sự chú ý liên tục đến yếu tố kỹ thuật và thiết kế sẽ cải tiến sự linh hoạt.
10 – Nghệ thuật tối đa hóa lượng công việc chưa xong: Sự đơn giản là cần thiết.
11 – Những thiết kế và yêu cầu tốt nhất chỉ xuất hiện tại những nhóm làm việc có khả năng tự tổ chức tốt.
12 – Nhóm thực thi cần suy nghĩ về việc làm việc hiệu quả một cách thường xuyên để có sự điều chỉnh hành vi phù hợp.
4. Ưu nhược điểm của Agile
4.1. Ưu điểm của Agile
Mô hình Agile ngày càng trở nên phổ biến, được nhiều doanh nghiệp áp dụng để phát triển sản phẩm của mình bởi nó sở hữu những ưu điểm vượt trội so với những phương pháp truyền thống.
- Dễ dàng thực hiện thay đổi ở bất kỳ giai đoạn nào của dự án, thích nghi nhanh và hiệu quả với sự thay đổi, bao gồm cả yêu cầu sửa lại sản phẩm, sự biến động từ thị trường,…
- Phát triển và bàn giao sản phẩm nhanh hơn, bởi việc chia nhỏ dự án cho phép đội ngũ có thể tiến hành kiểm tra theo từng phần, phát hiện sự cố và sửa chữa vấn đề nhanh hơn.
- Sản phẩm đạt chất lượng tốt hơn, do luôn nhận được phản hồi ngay lập tức từ phía khách hàng và được tối ưu lại ngay sau đó.
- Lãng phí ít tài nguyên hơn vì nhóm luôn thực hiện các công việc đã được cập nhật, giảm tải thời gian chờ, giảm tải thời gian sửa lỗi sản phẩm, giảm tải số lượng lớn giấy tờ tài liệu,…
- Người tham gia dự án không cần phải nắm mọi thông tin ngay từ đầu, phù hợp với những dự án chưa xác định rõ ràng được mục tiêu cuối cùng.
4.2. Nhược điểm của Agile
Bên cạnh những ưu điểm vượt trội, cũng không khó để nhận ra một số nhược điểm còn tồn tại khi triển khai mô hình Agile trong thực tế:
- Khó lên kế hoạch dự án, đặc biệt là khó xác định rõ ràng thời gian bàn giao sản phẩm cuối cùng, không nắm rõ được chi phí thực sự của dự án là bao nhiêu,… vì dự án được chia nhỏ thành các vòng lặp khác nhau.
- Bắt buộc phải hướng dẫn và đào tạo chi tiết, thì thành viên dự án mới có thể hiểu rõ được mô hình Agile và thực hiện theo nó một cách rõ ràng, đặc biệt là trong thời gian đầu.
- Ít tài liệu hướng dẫn về dự án và không xác định rõ được kỳ vọng và thành phẩm ngay từ đầu, do người thực thi mô hình Agile thường tin rằng mọi thứ sẽ thay đổi rất nhiều, không quá cần thiết phải ghi chép và lưu trữ tài liệu.
- Đòi hỏi sự cam kết về thời gian và công sức từ các bên hơn, vì tất cả mọi người cần phải liên tục tương tác với nhau trong suốt quá trình thực thi dự án.
- Chi phí thực hiện dự án theo mô hình Agile thường cao hơn so với các phương pháp phát triển khác.
5. Các phương pháp Agile phổ biến
Bảng thống kê dưới đây liệt kê 13 phương pháp họ Agile, cho thấy phần lớn các công ty hiện nay đã sử dụng Scrum như một cách tiếp cận cơ bản. Bên cạnh đó, nhiều công ty đã kết hợp các phương pháp lại với nhau. Ví dụ 44.4% các công ty có sử dụng Waterfall, có nghĩa là một tỉ lệ nhất định nào đó vừa dùng Waterfall, vừa sử dụng Scrum trong hoạt động của mình.
Cùng tìm hiểu chi tiết hơn về một số phương pháp Agile phổ biến nhất.
5.1. Scrum
Scrum được xem là mô hình phổ biến nhất trong các phương pháp vận hành doanh nghiệp theo phương pháp luận Agile. Scrum tuân thủ các nguyên tắc của Agile, tuy nhiên, Agile và Scrum không phải là một như nhiều người vẫn lầm tưởng.
Scrum là một khung tổ chức công việc (framework) hoạt động dựa trên cơ chế lặp và tăng trưởng, cho phép nhóm dự án tập trung vào việc tối ưu hóa giá trị đạt được trong các vòng lặp cố định về mặt thời gian. Điểm nổi bật của Scrum chính là các Sprint – các giai đoạn phát triển và vòng lặp và việc tối đa hóa thời gian phát triển sản phẩm để có thể đạt được mục tiêu – các Product Goal.
Scrum được hình thành bởi 3 nguyên tắc cốt lõi là Minh bạch – Kiểm tra – Thích ứng, do vậy mô hình này được các nhà quản lý ưa chuộng áp dụng mỗi khi cần nâng cao hiệu quả làm việc nhóm.
5.2. Kanban
Kanban là thuật ngữ xuất phát từ Nhật Bản, được sử dụng lần đầu tại doanh nghiệp xe hơi Toyota. Trong tiếng Nhật, Kanban được ghép từ “kan” nghĩa là “thị giác” và “ban” nghĩa là “thẻ”, nên thuật ngữ này có thể được hiểu đơn giản là một “bảng thông tin”.
Phương pháp Kanban được tổ chức trên một tấm bảng trực quan chia thành các cột khác nhau, thể hiện các bước liên tiếp trong luồng công việc của dự án sản xuất. Bạn có thể bắt đầu một dự án Kanban đơn giản nhất với 3 cột cơ bản: To-do (sẽ làm), Doing (đang làm) và Done (hoàn thành). Trong quá trình triển khai, các thông tin trong bảng sẽ liên tục thay đổi. Và mỗi khi có nhiệm vụ mới xuất hiện, một “thẻ” mới sẽ được tạo.
Mô hình Kanban yêu cầu sự giao tiếp và minh bạch tuyệt đối, để mọi thành viên ở bất kỳ nhóm nào cũng đều xác định được giai đoạn phát triển của sản phẩm, cũng như luôn biết được trạng thái của dự án.
5.3. Lean
Lean là một mô hình quản trị theo triết lý tinh gọn, bắt đầu xuất hiện từ lĩnh vực sản xuất và dần được ứng dụng rộng rãi trong nhiều ngành nghề khác nhau. Mô hình này dựa trên ý tưởng tăng năng suất và giảm lãng phí trong sản xuất.
Có 5 nguyên tắc thiết yếu trong Lean, bao gồm:
- Tập trung vào quy trình: Trọng tâm của mọi sự thay đổi và cải tiến trong phương pháp Lean đều nằm ở quy trình.
- Tối đa giá trị, tối thiểu lãng phí: Phương pháp Lean tập trung loại bỏ những hành động không tạo ra giá trị, đồng thời tăng cường giá trị mang lại cho khách hàng – thay vì tập trung vào mục đích gia tăng lợi nhuận.
- Tiêu chuẩn hóa công việc: Trong Lean, doanh nghiệp sẽ cần tiêu chuẩn hóa các nhiệm vụ về thời gian, kết quả, quy trình xử lý,… nhằm đạt được kết quả là chất lượng sản phẩm nhất quán.
- Tạo dòng chảy: Sản phẩm phải chạy qua từng bước theo một trình tự xác định, một cách tuần tự, theo tốc độ yêu cầu của khách hàng.
- Giải quyết vấn đề nhanh chóng: Trong Lean, vấn đề được nhìn nhận như là cơ hội để cải tiến. Thay vì ngay lập tức nhảy vào giải pháp, các nút thắt sẽ được tháo gỡ theo chu trình cải tiến liên tục PDCA.
5.4. Extreme Programming (XP)
Extreme Programing (XP) là một framework điển hình dựa trên phương pháp Agile, có thể điều chỉnh cho phù hợp với các quy mô công ty khác nhau. XP hoạt động dựa trên ý tưởng khám phá “điều đơn giản nhất khả thi” mà không đặt quá nhiều công sức vào các tầm nhìn dài hạn cho sản phẩm.
Đây là một phương pháp ưu tiên sự hài lòng của khách hàng hơn bất kỳ yếu tố nào khác, đồng thời đề cao sự tin tưởng bằng cách chấp nhận những thay đổi trong yêu cầu của khách hàng, bất kể nó có thể đến trong giai đoạn sau của chu kỳ.
Yếu tố làm việc nhóm cũng được nhấn mạnh trong XP, bởi các vấn đề phát sinh sẽ được giải quyết bởi toàn bộ đội ngũ quản lý, các kỹ sư phần mềm và khách hàng. Tất cả đều là những mảnh ghép thiết yếu của quá trình triển khai XP.
5.5. Crystal
Crystal là một framework làm việc theo mô hình Agile linh hoạt nhất, mang đến sự tự do trong việc phát triển cho nhóm triển khai. Phương pháp này tập trung nhiều vào các cá nhân và cách họ tương tác hơn là vào quy trình và các công cụ.
Crystal tập trung vào các nguyên tắc như Con người, Tương tác, Cộng đồng, Kỹ năng, Tài năng và Giao tiếp, nhằm mang đến quy trình phát triển sản phẩm tốt nhất có thể.
Theo chia sẻ của người sáng lập, “Crystal là một nhóm các phương pháp phát triển phần mềm, hoạt động với sức mạnh từ con người, cực kỳ nhẹ nhàng và có thể co giãn để phù hợp”.
Phương pháp Crystal có các biến thể đa dạng như:
- Crystal Clear: dành cho nhóm có tối đa 8 người
- Crystal Yellow: dành cho nhóm khoảng 10 – 20 người
- Crystal Orange: dành cho nhóm khoảng 20 – 50 người
- Crystal Red: dành cho các nhóm lớn từ 50 – 1000 người
6. Áp dụng mô hình Agile trong quản lý dự án
6.1. Agile phù hợp với dự án như thế nào?
Agile là một mô hình phát triển sản phẩm có tính ứng dụng cao, phù hợp với các dự án đòi hỏi sự linh hoạt, có mức độ phức tạp lớn hoặc không chắc chắn.
Tuy nhiên, không phải doanh nghiệp nào cũng phù hợp với mô hình Agile. Để áp dụng thành công mô hình này cần một số điều kiện tiên quyết:
- Thứ nhất, các thành viên phối hợp, giao tiếp hiệu quả trong nội bộ. Kỹ năng giao tiếp tốt giúp nhóm làm việc thấu hiểu khách hàng, hợp tác tốt với nhau đảm bảo chất lượng và tốc độ.
- Thứ hai, tính tự chủ của mỗi thành viên phải được đảm bảo để các nhóm tự quản lý có thể vận hành một cách chủ động, trơn tru thay vì chỉ tuân thủ theo chỉ dẫn cấp trên như trong các mô hình truyền thống.
- Thứ ba, các hoạt động được module hóa thông qua những nhóm liên chức năng. Những nhóm này cần có khả năng làm việc với tốc độ và chất lượng cao, với khách hàng là trung tâm.
Lưu ý rằng trên thực tế, có những doanh nghiệp đã áp dụng mô hình Agile từ 5-7 năm nhưng vẫn trong tình trạng “bình mới mà rượu cũ”. Điều này không lạ, vì mặc dù Agile trông có vẻ đơn giản để hiểu, tuy nhiên rất khó để thành thạo, đặc biệt trong một doanh nghiệp lớn. Lý do chính là bởi Agile tập trung nhiều vào yếu tố con người bao gồm văn hóa, giao tiếp, khả năng làm việc nhóm và sự hợp tác giữa các bên liên quan. Và thay đổi văn hóa cùng hành vi con người thì chưa bao giờ là điều dễ dàng.
Để giải quyết vấn đề này, doanh nghiệp có thể cân nhắc việc thuê một huấn luyện viên Agile giỏi. Quá trình huấn luyện này có thể kéo dài từ 3-12 tháng, hoặc dài hơn tùy theo nhu cầu.
6.2. Quy trình triển khai Agile
Giai đoạn 1: Lên ý tưởng và xây dựng lộ trình dự án
Mọi dự án phát triển sản phẩm đều bắt đầu từ giai đoạn xác định tầm nhìn, lên ý tưởng và xây dựng lộ trình, với sự tham gia của tất cả các bên liên quan: kỹ sư phần mềm, nhà đầu tư và bất kỳ ai khác có kiến thức về sản phẩm.
Ví dụ, với mô hình Scrum, nhóm thực thi sẽ triển khai các nhiệm vụ ở giai đoạn 1 như sau:
- Xác định và ghi lại tất cả các yêu cầu về kinh doanh và người dùng
- Gắn các yêu cầu này vào trong tính năng của sản phẩm
- Thiết lập mục tiêu cho sản phẩm mới
- Chia nhỏ các đầu mục công việc và các nhiệm vụ ưu tiên
- Phân công nhiệm vụ cho các thành viên trong nhóm
- Ước tính thời gian và chi phí cho dự án
Giai đoạn này đặc biệt quan trọng vì nó quyết định phạm vi ban đầu của dự án. Vì quy trình triển khai bao gồm các vòng lặp liên tục, nên các nhóm thực thi cần giữ các yêu cầu ở mức tối thiểu, và bổ sung dần các tính năng trong các giai đoạn phát triển về sau.
Giai đoạn 2: Lập kế hoạch giai đoạn (Phát triển dự án)
Sau khi giai đoạn lên ý tưởng hoàn thành, nhóm thực thi sẽ nhận được một tài liệu xác định toàn bộ phạm vi dự án. Đây là lúc các kỹ sư phần mềm bắt đầu sắp xếp các công việc của mình vào các vòng lặp (Sprint), phân tích yêu cầu của khách hàng để hoàn thiện Product Backlog – danh sách sắp xếp theo trật tự về những điều cần thiết để cải tiến sản phẩm, và xây dựng phiên bản đầu tiên của sản phẩm.
Giai đoạn phát triển dự án sẽ khác nhau tùy thuộc vào loại sản phẩm mà nhóm triển khai. Đây cũng là giai đoạn dài nhất trong mô hình Agile, nơi mà phần lớn các công việc sẽ được thực hiện. Mục tiêu cốt lõi của nhóm thực thi trong giai đoạn này chính là xây dựng một số phần chức năng của sản phẩm vào cuối mỗi Sprint.
Giai đoạn 3: Triển khai dự án
Trong quá trình phát triển theo mô hình Agile, giai đoạn triển khai phụ thuộc rất nhiều vào những gì nhóm đã tạo ra trong các giai đoạn trước đó. Ở giai đoạn này, nhóm cần hiểu rõ về nơi sản phẩm sẽ được triển khai và cách thức triển khai.
Giai đoạn 4: Kiểm thử
Các hoạt động kiểm thử (Testing) được diễn ra trong suốt quá trình triển khai Agile. Trước khi phát hành sản phẩm ra thị trường, phải luôn đảm bảo rằng nó đã trải qua hết các bài kiểm tra và các thử nghiệm đảm bảo chất lượng. Các bộ phận chuyên trách sẽ đưa ra quyết định liệu sản phẩm có đầy đủ chức năng và hoạt động bình thường hay không.
Giai đoạn 5: Bàn giao và bảo trì sản phẩm
Trong giai đoạn cuối cùng của mô hình Agile, sau khi đã bàn giao sản phẩm cho khách hàng vào cuối Sprint, nhóm thực thi dự án sẽ vẫn tập trung vào việc bảo trì liên tục để giải quyết mọi vấn đề, và để duy trì chức năng cũng như hiệu suất làm việc ở mức cao.
Nhiều vấn đề sẽ xảy ra khi người dùng bắt đầu tương tác với sản phẩm, nên nhóm có thể phải xử lý một số lỗi tính năng hoặc vấn đề về hiệu suất. Nhưng điều này cũng mang đến cho nhóm cơ hội thu thập phản hồi và áp dụng các cải tiến mới trong các phân đoạn Agile tiếp theo.
6.3. Một số công cụ quản lý dự án theo Agile
JIRA Software
JIRA Software là một công cụ quản lý dự án từ công ty phần mềm Atlassian, được thiết kế giúp các nhóm phát triển lập kế hoạch và theo dõi dự án bằng cách sử dụng phương pháp quản lý Agile. Các nhóm có thể sử dụng JIRA để:
- Lập kế hoạch Sprint, Product Backlog, và Issue
- Theo dõi tiến độ và quản lý Backlog
- Phát hành phần mềm và quản lý lỗi
- Báo cáo tiến độ và hiệu quả dự án và hoàn thiện sản phẩm
JIRA Software là một phần mềm quản lý dự án khá đặc thù, đây sẽ là lựa chọn hoàn hảo nhất cho các nhóm công nghệ phát triển phần mềm, hoặc các nhóm triển khai làm việc theo phương pháp Agile.
Trello
Trello là một công cụ quản lý công việc nhóm lấy cảm hứng từ phương pháp Kanban và áp dụng các nguyên tắc Agile một cách chặt chẽ. Các nhóm triển khai có thể dễ dàng sử dụng bảng thông tin, danh sách và thẻ của Trello để tạo ra các bảng thông tin trực quan về nhiệm vụ của mình.
Trello đặc biệt phù hợp cho các nhóm Agile nhỏ (3-10 người) bởi những đặc điểm sau:
- Khối lượng công việc không quá nhiều, sẽ được sắp xếp theo dạng tuần tự trên Trello để dễ dàng theo dõi tiến độ và đảm bảo hoàn thành đúng thời hạn.
- Trello cho phép cộng tác theo thời gian thực, nên các thành viên trong đội nhóm nhỏ có thể dễ dàng giao tiếp, cập nhật và chia sẻ thông tin trực tuyến.
- Trello có giao diện trực quan, đơn giản, dễ sử dụng, giúp nhóm có thể tập trung vào công việc mà không bị phân tâm bởi các yếu tố khác.
- Trello cung cấp gói miễn phí với các tính năng cơ bản, phù hợp với đội nhóm nhỏ và ngân sách hạn hẹp.
Base Wework
Base Wework là phần mềm quản lý dự án được phát triển với đầy đủ tính năng, giúp đội nhóm theo dõi danh sách nhiệm vụ, thời hạn, tiến độ và nguồn lực dự án một cách hiệu quả. Trên Base Wework, bạn có thể xem tổng quan dự án hoặc thông tin chi tiết của từng nhóm công việc hoặc thậm chí từng đầu việc nhỏ (sub-task).
Base Wework hỗ trợ quản lý dự án linh hoạt theo nhiều mô hình khác nhau, có thể theo phương pháp Kanban, To-do list, Lịch biểu hoặc sơ đồ Gantt.
Bạn hoàn toàn có thể chủ động thiết lập trên Base Wework để vận hành và quản lý công việc theo phương pháp Agile, với đầy đủ các yếu tố Product, Sprint, Backlog, Task, hoặc trạng thái công việc to-do, doing, done.
Base Wework là lựa chọn phù hợp cho các công ty có mô hình cộng tác liên chức năng, nơi một người cần tham gia nhiều dự án và phòng ban khác nhau. Lúc này, nhóm phát triển luôn có thể phối hợp hiệu quả, và người quản lý cũng thuận tiện theo dõi tổng thể công việc ở tất cả các phòng ban và dự án.
7. Kết bài
Với việc áp dụng mô hình Agile vào trong vận hành và triển khai dự án, các doanh nghiệp đã tiết kiệm được rất nhiều thời gian và nguồn lực trong phát triển sản phẩm. Sự xuất hiện của Agile, quả thực, giúp quá trình tìm ra và xử lý những vấn đề phát sinh trở nên dễ dàng hơn bao giờ hết.
Tuy nhiên, việc áp dụng Agile không hề dễ dàng, nó phụ thuộc rất nhiều vào sự linh hoạt của chính nhà lãnh đạo. Đưa Agile vào doanh nghiệp không chỉ giống như một dự án, nó còn là một sự thay đổi lớn đối với văn hoá doanh nghiệp và chiến lược phát triển nguồn nhân lực.
Agile chỉ là một trong nhiều phương pháp quản lý dự án. Ebook “Toàn tập các phương pháp quản lý dự án” sẽ đưa đến cho bạn cái nhìn toàn diện hơn về 6 phương pháp quản lý phổ biến nhất hiện nay, những ưu – nhược điểm và cách áp dụng với từng phương pháp. Nhận miễn phí ngay tại đây.