+1

Tổng quan về nguyên tắc Agile và cách áp dụng Agile trong quản lý dự án

Quản lý dự án theo nguyên tắc Agile nổi lên như một sự thay thế tối ưu cho các mô hình quản lý dự án truyền thống như Waterfall. Tại sao lại như vậy?

Mặc dù các phương pháp phát triển phần mềm đã gia tăng từ năm 1957, nhưng phải cho tới những thập niên 70 “Agile" mới lần đầu tiên được bàn luận sâu hơn bởi William Royce, người đã xuất bản một bài báo về việc phát triển các hệ thống phần mềm lớn. Sau này tới năm 2001, bản tuyên ngôn của Agile "Tuyên bố chính thức 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" đã được 17 nhà phát triển phần mềm xuất bản. Các nhà phát triển này đã họp lại để bàn về các phương pháp phát triển hạng nhẹ dựa trên kinh nghiệm tổng hợp của họ. Giờ đây, Agile còn thu hút các CEO, trở thành phương pháp chung trong quản lý dự án. Với phương thức triển khai độc đáo, thể hiện sự linh hoạt và năng động, Agile mang đến những giá trị hữu ích trong chiến lược quản lý của mỗi doanh nghiệp.

Tổng quan về Agile: Agile thực chất là gì?

Định nghĩa

Khái niệm Agile (viết tắt của Agile Software Development) có nghĩa là phương thức phát triển phần mềm linh hoạt, được ứng dụng trong quy trình phát triển phần mềm với mục tiêu là đưa sản phẩm đến tay người dùng càng nhanh càng tốt. Rất nhiều nơi định nghĩa Agile như một phương pháp. Thực chất, Agile giống như một phương pháp luận, một triết lý dựa trên hơn nguyên tắc phân đoạn vòng lặp (iterative) và tăng trưởng (incremental). 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 thức 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”.

Các phương pháp Agile

Agile không định nghĩa ra một phương pháp cụ thể nhưng lại có nhiều phương pháp khác nhau thỏa mãn và hướng theo các tiêu chí của nó. Bảng thống kê dưới đây liệt kê 13 phương pháp họ Agile, nó cũng 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.

4 tôn chỉ cần tuân thủ trong phương pháp Agile

  • Cá nhân và sự tương hỗ quan trọng hơn quy trình và công cụ: Trọng tâm đặt lên con người, xây dựng tương tác và hỗ trợ giữa các thành viên trong nhóm. Những thành viên có năng lực, chịu tương trợ nhau trong công việc sẽ mang đến thành công cho dự án.
  • Sản phẩm dùng được tốt hơn tài liệu đầy đủ: Tập trung thời gian để làm ra phần mềm hoàn chỉnh đáp ứng hoàn hảo yêu cầu khách hàng.
  • Cộng tác với khách hàng quan trọng hơn đàm phán hợp đồng: Hiểu được khách hàng cần gì để tư vấn và điều chỉnh sản phẩm thay vì chỉ dựa vào các điều khoản trong hợp đồng.
  • Phản hồi thay đổi hơn là bám sát kế hoạch: Agile khuyến khích thích nghi với sự thay đổi, đó có thể là thay đổi về công nghệ, nhân sự, deadline,...

12 nguyên tắc quan trọng trong Agile

  • Đáp ứng toàn diện nhu cầu khách hàng thông qua việc giao hàng sớm và sản phẩm có giá trị.

  • Thay đổi yêu cầu được chào đón, thậm chí là rất muộn trong quá trình phát triển.

  • Giao phần mềm chạy được cho khách hàng một cách thường xuyên.

  • Nhà kinh doanh và các kỹ sư phần mềm cần làm việc cùng nhau trong suốt dự án.

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

  • Trao đổi trực tiếp là cách truyền đạt thông tin hiệu quả nhất.

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

  • Phát triển liên tục và bền vững.

  • Cải tiến sự linh hoạt bằng cách quan tâm đến kỹ thuật và thiết kế.

  • 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.

  • Nhóm tự tổ chức

  • Thích ứng thường xuyên với những thay đổi.

Đặ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 (Iteration hoặc Sprint), 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 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 v.v.) đề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 về chức danh hay làm việc dựa trên một sự phân cấp rõ ràng trong tổ chức. 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 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ề cái 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.

Tại sao quản lý dự án theo nguyên tắc Agile lại hiệu quả hơn các phương pháp truyền thống?

Vì những ưu điểm của nó

Agile ban đầu được tạo nên cho ngành công nghiệp phát triển phần mềm để giúp cho việc sắp xếp và cải tiến quá trình sản xuất. Qua đó, các nhà phát triển có thể nhận dạng, điều chỉnh các vấn đề và khiếm khuyết một cách nhanh chóng. Là một phương pháp thay thế cho cách tiếp cận Waterfall truyền thống, Agile cung cấp phương pháp quản lý giúp các nhóm làm việc cho ra đời một sản phẩm tốt hơn, nhanh hơn thông qua các phiên ngắn và các phiên tương tác /các sprint. Với những kỳ vọng ngày càng gia tăng của khách hàng, việc cạnh tranh liên tục đòi hỏi phải tìm kiếm được những nhà lãnh đạo dự án có thể sử dụng phương pháp tiếp cận tốt nhất để thực hiện dự án.

  • Thực hiện thay đổi dễ dàng: Bởi vì dự án được chia thành các phần nhỏ, riêng biệt, không phụ thuộc lẫn nhau, nên những thay đổi được thực hiện rất dễ dàng, ở bất kỳ giai đoạn nào của 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 được mục tiêu cuối cùng rõ ràng, vì việc này không quá cần thiết trong giai đoạn đầu.

  • Bàn giao nhanh hơn: 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, xác định và sửa chữa vấn đề nhanh hơn, nhờ đó việc bàn giao công việc sẽ nhất quán và thành công hơn.

  • Chú ý đến phản hồi của khách hàng và người dùng: Cả khách hàng và người dùng cuối đều có cơ hội để đóng góp các ý kiến và phản hồi, từ đó họ sẽ có ảnh hưởng một cách mạnh mẽ và tích cực tới sản phẩm cuối cùng.

  • Cải tiến liên tục: Agile khuyến khích thành viên trong đội ngũ làm việc và khách hàng cung cấp phản hồi của mình, khi đó các giai đoạn khác nhau của sản phẩm cuối có thể được kiểm tra và cải thiện lại nhiều lần nếu cần.

Tuy nhiên, Agile có một vài nhược điểm:

  • Khó lên kế hoạch dự án: Khá là khó để xác định rõ ràng thời gian bàn giao sản phẩm cuối cùng, vì dự án được chia nhỏ thành các phần khác nhau và mỗi phần lại có thời gian bàn giao riêng biệt.

  • Bắt buộc phải hướng dẫn và đào tạo chi tiết: Phương pháp Agile phức tạp hơn nhiều so với phương pháp truyền thống. Họ sẽ cần phải trải qua đào tạo, hướng dẫn thì mới có thể nắm được phương pháp một cách rõ ràng, đặc biệt là thời gian đầu.

  • Ít tài liệu hướng dẫn: Vì Agile thay đổi rất nhiều nên các tài liệu thích hợp cũng thường bị bỏ qua, vì không xác định rõ được kỳ vọng và thành phẩm ngay từ đầu. Mặc dù tài liệu không phải là yếu tố quan trọng nhất, nhưng chúng vẫn rất cần thiết.

  • Bắt buộc phải hợp tác để dự án thành công: Điều này đòi hỏi một sự cam kết về thời gian từ cả hai bên trong suốt thời gian của dự án mà các cấu trúc quản lý dự án khác không luôn yêu cầu. Phải có sự tham gia tích cực của người dùng và tiếp tục cộng tác để nó hoạt động.

  • Chi phí cao: Chi phí thực hiện theo phương pháp Agile thường hơn một chút so với các phương pháp phát triển khác.

Áp dụng Agile trong mô hình quản lý dự án như thế nào?

Các phương pháp truyền thống cồng kềnh như mô hình Waterfall thường yêu cầu các nhóm dự án phải đáp ứng và thảo luận các mục tiêu dự án đầy đủ trong suốt mỗi giai đoạn. Tuy nhiên, Agile sử dụng các nhóm nhỏ hơn tập trung để đạt những mục tiêu cụ thể hơn, giúp bạn dễ dàng thực hiện những thay đổi nhanh chóng theo yêu cầu. Điều này cho phép các nhóm hoạt động nhanh nhẹn, hiệu quả hơn và tăng khả năng đáp ứng thành công mục tiêu của khách hàng, đặc biệt khi nhu cầu của khách hàng thay đổi.

Một quy trình Agile hoàn chỉnh

Các giai đoạn phát triển của sản phẩm sẽ được chia nhỏ ra thành những phần tăng trưởng cụ thể mà người dùng có thể tương tác được. Nhờ đó sản phẩm sẽ có được phản hồi cần thiết để tránh khỏi những vấn đề nghiêm trọng và được cải tiến tốt hơn. Thêm vào đó, quy trình quản lý sản phẩm có tính chất lặp lại này còn giúp cho cả nhóm có thể chuyển sang một phần tăng trưởng khác trong khi những vấn đề của phần tăng trưởng hiện tại đang được giải quyết.

Agile phù hợp với dự án như thế nào?

Agile phù hợp với các dự án đòi hỏi sự linh hoạt và có mức độ phức tạp hoặc không chắc chắn. Chẳng hạn, một sản phẩm hoặc dịch vụ chưa từng được nhóm xây dựng. Agile được sinh ra trong lĩnh vực phát triển phần mềm. Các giai đoạn trong mô hình Agile phù hợp với phát triển và kiểm thử phần mềm. Tuy nhiên ngày nay, triết lí Agile đã vượt xa khỏi khu vực truyền thống của mình và đóng góp sự thay đổi trong cách thức làm việc, quản lí, sản xuất ở bất kỳ ngành công nghiệp hoặc kinh doanh nào như sản xuất, dịch vụ, sales, marketing, giáo dục và đạt được hiệu quả cao. 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 trong tổ chức:

  • 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ó 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

Thách thức khi áp dụng Agile:

Thực tế có những doanh nghiệp đã áp dụng Agile từ 5-7 năm nhưng thực sự vẫn chưa đạt yêu cầu và nhìn chung phần lớn vẫn trong tình trạng “bình mới mà rượu cũ”. Các đội dự án vẫn muốn áp dụng Agile, tuy nhiên có nhiều đội chỉ áp dụng Agile để né tránh hệ thống quy trình phức tạp của doanh nghiệp hay khối lượng tài liệu (document) khổng lồ của dự án.

Điều này là 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. Một lý do chính đó là Agile tập trung nhiều vào yếu tố con người bao gồm văn hóa, giao tiếp, hợp tác phối hợp giữa các bên liên quan, khả năng làm việc nhóm. Và thay đổi văn hóa, hành vi con người thì chuyện không bao giờ là dễ dàng. Để giải quyết vấn đề này, việc thuê huấn luyện viên Agile (Agile coach) giỏi là điều rất cần thiết. Chỉ có người có mindset đúng, hiểu sâu về Agile, có nhiều kinh nghiệm và kỹ năng huấn luyện thì mới giúp doanh nghiệp hay đội dự án tiếp cận nhanh nhất với Agile. Quá trình huấn luyện cần từ 3 tháng đến 1 năm hay dài hơn tùy nhu cầu.

Kết luận

Việc Agile tinh giản số lượng tài liệu quản lý đã giúp cải tiến tốc độ phát triển sản phẩm. Thay vì sử dụng tài liệu dài mà không phải ai cũng có thời gian để đọc, Agile tăng cường sự tương tác giữa các thành viên trong nhóm, với các phản hồi của khách hàng, trí tưởng tượng, lập trình cùng những thử nghiệm và những ý tưởng mới. Những yếu tố này sẽ góp phần tìm ra giải pháp phù hợp khi có sự thay đổi đột ngột thay vì nhất nhất tuân theo một kế hoạch và không thể đối phó khi có tình huống phát sinh.

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 giống như một dự án, 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.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí