Knowledge Hub

Agile 101 - Tất cả những thông tin cơ bản về Agile cho người mới bắt đầu - Agile là gì?

Written by Admin | Feb 22, 2023 5:00:00 PM

Scrum, Kanban, Waterfall, Agile

Có nhiều loại framework giúp quản lý dự án, tất cả đều có ưu và nhược điểm, điều quan trọng là phải chọn được framework sao cho phù hợp với tính chất của dự án. Ví dụ đối với các dự án phần mềm hay có nhiều sự thay đổi, thì việc áp dụng framework Waterfall để quản lý có thể khiến dự án thất bại. Đối với các dự án mà các ưu tiên và nhu cầu của khách hàng liên tục thay đổi như thế, phương pháp Agile sẽ giúp ích rất nhiều trong việc quản lý chia dự án, dự án sẽ được chia thành nhiều giai đoạn để thúc đẩy cải tiến liên tục.

Quản lý dự án theo phương pháp Agile không chỉ hữu ích cho việc quản lý các dự án phần mềm mà tất cả các kiểu dự án khác đều có thể thành công với phương pháp quản lý linh hoạt này.  

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

Phương pháp Agile là một khuôn khổ quản lý dự án chia các dự án thành nhiều giai đoạn linh hoạt, thường được gọi là sprint.  

Framework Agile là một phương pháp có tính lặp. Sau mỗi sprint, team dự án sẽ cùng nhìn lại để xem liệu họ có cần cải thiện cách làm hoặc chiến lược của mình ở sprint tiếp theo hay không.

Tuyên ngôn Agile là gì?

Tuyên ngôn Agile là một tài liệu tập trung vào 04 giá trị và 12 nguyên tắc để phát triển phần mềm Agile. Nó được xuất bản vào tháng 2001 năm 17 bởi nhà phát triển phần mềm, họ tha thiết tìm kiếm một giải pháp thay thế cho quy trình phát triển phần mềm cũ (waterfall).  

4 giá trị của Agile là gì?

Như đã nêu trong Tuyên ngôn Agile, có bốn giá trị chính trong quản lý dự án Agile:

  1. Con Người và Tương Tác giá trị hơn Quy Trình và Công Cụ: Agile team luôn coi trọng sự hợp tác nhóm và làm việc theo nhóm hơn là làm việc độc lập và làm mọi thứ "theo quy trình".
  1. Phần Mềm Hữu Ích giá trị hơn Tài Liệu Hướng Dẫn: Yếu tố tiên quyết của các phần mềm được phát triển bởi Agile team là phải hoạt động được. Các công việc như làm tài liệu, không quan trọng bằng phát triển phần mềm tốt.
  1. Cộng Tác Với Khách Hàng giá trị hơn Thương Thuyết Trên Hợp Đồng: Trong phương pháp Agile, khách hàng là trọng tâm phục vụ. Agile team cho phép khách hàng định hướng tương lai của phần mềm. Do đó, sự hợp tác với khách hàng được ưu tiên hơn các tiểu tiết trong hợp đồng.
  1. Chấp Nhận Thay Đổi giá trị hơn Làm Theo Kế Hoạch: Một trong những lợi ích chính của quản lý dự án theo phương pháp Agile là sự linh hoạt. Framework này giúp team dự án nhanh chóng thích nghi và thay đổi chiến lược, quy trình làm việc khi cần thiết mà không làm chệch hướng toàn bộ dự án.

12 nguyên tắc Agile là gì?

04 giá trị của Agile là trụ cột của phương pháp Agile. Từ những giá trị đó, 12 nguyên tắc Agile được phát triển.  

Nếu 04 giá trị của Agile là trụ cột chịu trọng lượng của một ngôi nhà, thì 12 nguyên tắc này là những căn phòng bạn có thể xây dựng trong ngôi nhà đó. Những nguyên tắc này có thể dễ dàng điều chỉnh để phù hợp với nhu cầu của dự án.  

12 nguyên tắc được sử dụng trong phương pháp Agile là:

  1. Làm hài lòng khách hàng thông qua cải tiến, cập nhật nhanh và liên tục. Khi khách hàng nhận được các phiên bản cập nhật mới thường xuyên, họ có thể hình dung sớm những thay đổi họ mong muốn ở sản phẩm. Điều này sẽ giúp khách hàng hài lòng và hạnh phúc hơn.
  1. Cởi mở với các thay đổi trong yêu cầu, thậm chí là những thay đổi về yêu cầu ở giai đoạn muộn của dự án. Framework Agile tập trung vào khả năng thích ứng. Đối với các phương pháp quản lý có tính lặp như Agile, việc không linh hoạt gây ra nhiều tác hại hơn là có lợi.  
  1. Thường xuyên tạo giá trị. Tương tự như nguyên tắc số 1, việc tạo ra giá trị cho khách hàng hoặc các bên liên quan của bạn thường xuyên sẽ khiến khách hàng gắn bó với bạn hơn.  
  1. Phá vỡ mọi sự cô lập tồn tại trong dự án. Cộng tác là chìa khóa của phương pháp Agile. Mục tiêu là để mọi người thoát khỏi trạng thái làm việc độc lập để cộng tác cùng nhau thường xuyên hơn.  
  1. Xây dựng các dự án xoay quanh các cá nhân tích cực. Agile đạt được hiệu quả tốt nhất khi các team cam kết và tích cực làm việc để đạt được mục tiêu.  
  1. Cách hiệu quả nhất để giao tiếp là trao đổi trực tiếp. Nếu bạn đang làm việc trong một nhóm rời rạc, hãy sắp xếp các cuộc trao đổi trực tiếp, có thể là gặp trực tiếp hoặc họp Zoom.  
  1. Phần mềm chạy được chính là thước đo chính của tiến độ dự án. Điều quan trọng nhất cần tập trung trong framework Agile là sản phẩm. Mục tiêu là ưu tiên tạo ra sản phẩm đáp ứng được nhu cầu sử dụng trước khi hoàn thiện những yếu tố khác.  
  1. Tốc độ làm việc ổn định là nền tảng của một dự án bền vững. Đôi khi phương pháp Agile đòi hỏi team cần phải đẩy nhanh nhịp độ công việc, nhưng cũng cần lưu ý duy trì một nhịp độ tương đối ổn định để tránh gây kiệt sức cho các thành viên trong nhóm. Xây dựng một dự án bền vững là một trong những mục tiêu khi áp dụng phương pháp Agile.  
  1. Sự xuất sắc liên tục sẽ là bước đà tốt giúp đẩy nhanh tốc độ của dự án. Nếu team viết được một đoạn code xuất sắc trong sprint 1, team có thể tiếp tục sử dụng đoạn code đó vào sprint 2. Việc liên tục tạo ra kết quả công việc tuyệt vời sẽ là bước chạy đà tốt để dự án có thể tiến nhanh hơn trong tương lai.  
  1. Đơn giản là điều cần thiết. Đôi khi giải pháp đơn giản nhất lại là giải pháp tốt nhất. Agile hướng đến mục tiêu không làm phức tạp mọi thứ và tìm câu trả lời đơn giản cho các vấn đề phức tạp.  
  1. Các nhóm có tinh thần chủ động cao là các nhóm sẽ tạo ra nhiều giá trị nhất. Tương tự như nguyên tắc số 5, các nhân sự làm việc tích cực và chủ động tạo giá trị chính là tài sản quý giá của công ty.
  1. Thường xuyên nhìn lại và điều chỉnh cách thức làm việc để gia tăng hiệu quả công việc. Cuộc họp Sprint Retrospective là một thủ tục phổ biến của phương pháp Agile. Đây là thời điểm để mọi người cùng nhìn lại và suy ngẫm về hiệu suất làm việc, cũng như điều chỉnh thái độ và hành vi để hướng đến kết quả tốt hơn trong tương lai.

Ưu điểm của phương pháp Agile là gì?

Phương pháp quản lý dự án Agile thường được sử dụng trong các dự án phát triển phần mềm. Lý do là vì công nghệ liên tục thay đổi và các yêu cầu của khách hàng về sản phẩm cũng theo đó mà thay đổi. Do đó, các phương pháp quản lý dự án tuyến tính như phương pháp Waterfall sẽ không phù hợp.  

Dưới đây là một vài lý do khác khiến Agile nhanh chóng trở nên phổ biến:

Phương pháp Agile là một phương pháp linh hoạt

Một trong những ưu điểm lớn nhất của việc áp dụng phương pháp Agile trong các dự án phần mềm là khả năng thay đổi chiến lược nhanh chóng mà không làm gián đoạn dự án.  

Các giai đoạn trong phương pháp Waterfall truyền thống buộc phải tiếp nối nhau, vì thế việc thay đổi chiến lược là một thách thức và có thể dẫn đến đứt gãy ở toàn bộ giai đoạn còn lại của dự án. Trong khi phát triển phần mềm là một lĩnh vực có thể thích ứng nhanh với sự thay đổi, thì ngành quản lý dự án thay đổi quá nhanh chóng lại có thể là một thách thức. Đây là một phần lý do tại sao phương phápp Agile rất phổ biến trong các dự án phát triển phần mềm.

Agile thúc đẩy tinh thần làm việc nhóm

Công thức để cộng tác nhóm hiệu quả là kết hợp giữa nguyên tắc Agile số 6 - Cách hiệu quả nhất để giao tiếp là trao đổi trực tiếp, với nguyên tắc số 4 - Phá vỡ mọi sự cô lập tồn tại trong dự án.

Mặc dù công nghệ đã thay đổi kể từ khi có sự xuất hiệu của phương pháp Agile và các chính sách thân thiện với mô hình làm việc từ xa cũng được tiếp nhận rộng rãi, nhưng quan điểm về mô hình làm việc trực tiếp vẫn không thay đổi.  

Phương pháp Agile hướng sự tập trung vào nhu cầu của khách hàng

Một trong những khía cạnh độc đáo của việc phát triển phần mềm là được đào sâu vào nhu cầu của khách hàng nhiều hơn so với các ngành khác. Với sự phát triển của các phần mềm cloud-based, phản hồi thực tế từ khách hàng có thể được thu thập rất nhanh chóng.

Sự hài lòng của khách hàng là động lực chính để phát triển phần mềm, và là một trong những mục tiêu tối hậu mà phương pháp Agile hướng đến. Trên tinh thần luôn đứng cùng một phía với khách hàng, Agile team có thể sắp xếp ưu tiên tập trung hơn vào các tính năng phục vụ nhu cầu của khách hàng. Khi những yêu cầu của khách hàng cho dự án thay đổi, team có thể áp dụng phương pháp Agile và chuyển sang một dự án khác.  

Những framework phổ biến trên nền tảng của phương pháp Agile

Framework Agile giống như một chiếc ô (dù), nó được phát triển thành nhiều loại khác nhau. Dưới đây là một số framework phổ biến nhất dựa trên phương thức Agile.  

Kanban

Kanban là gì?

Kanban là một phiên bản trực quan nhất trong các phiên bản của phương pháp Agile. Các team dự án thường sử dụng các công cụ Kanban như Asana, Trello,... để thể hiện vị trí của một số nhiệm vụ nhất định trong quá trình phát triển dự án. Trong bảng Kanban, các task được thể hiện bằng các card (thẻ) và các giai đoạn của dự án được thể hiện bằng các cột. Khi các task đang được thực thì, thì thẻ (task) sẽ được di chuyển từ cột backlog sang cột phù hợp.

Phương pháp này là một cách tốt để giúp xác định các rào cản có trong dự án và hình dung khối lượng công việc đang được hoàn thành.  

Scrum

Scrum là gì?

Scrum là một phương pháp Agile phổ biến cho các nhóm nhỏ và cũng có sự tham gia của khái niệm sprint. Team sẽ được dẫn dắt bởi một Scrum master, người này có nhiệm vụ chính là giúp xóa mọi trở ngại để những người còn lại trong team thực hiện các daily task một cách suôn sẻ nhất.  

Team áp dụng framework Scrum sẽ cần họp hàng ngày để thảo luận về các nhiệm vụ đang triển khai, rào cản và bất kỳ điều gì khác có thể ảnh hưởng đến tiến độ của nhóm.  

  • Sprint Planning: Việc này được thực hiện trước mỗi sprint. Lập kế hoạch cho Sprint là phác thảo những kết quả của một sprint (và làm thế nào để đạt được kết quả đó).
  • Sprint Restropective: Cuộc họp định kỳ này hoạt động như một bài đánh giá sprint — để nhắc lại những bài học từ sprint trước đó, để cải thiện ở những sprint tiếp theo.  

Extreme Programming (XP)

Lập trình cực đoan là gì?

Thường được sử dụng trong lĩnh vực phát triển phần mềm, Extreme Programming (XP) là một framework Agile phác thảo các giá trị nhằm mục đích giúp team làm việc cùng nhau hiệu quả hơn.  

Năm giá trị của XP bao gồm:

  • Truyền thông
  • Tính đơn giản
  • Phản hồi
  • Can đảm
  • Sự tôn trọng  

Tương tự như những buổi họp standup daily ở framework Scrum, XP có những chu kì release thường xuyên và lặp đi lặp lại, khác ở chỗ framework XP sẽ có cách tiếp cận thiên về kỹ thuật hơn. Nếu team cần nhanh chóng release các phần của dự án và phản hồi nhanh chóng các yêu cầu của khách hàng, XP sẽ tập trung hơn vào "cách thức" để có thể giúp bàn giao được từng phần đúng với yêu cầu của khách hàng.  

Adaptive Project Framework (APF)

Khung dự án thích ứng (APF) là gì?

Khung dự án thích ứng, còn được gọi là Quản lý dự án thích ứng (APM) phát triển từ quan điểm rằng các yếu tố bất ngờ luôn có thể xuất hiện trong một dự án. Kỹ thuật này chủ yếu được sử dụng cho các dự án CNTT, nơi các kỹ thuật quản lý dự án truyền thống không còn phù hợp.

Framework này dựa trên quan điểm rằng tài nguyên dự án có thể thay đổi bất cứ lúc nào. Ví dụ: ngân sách có thể thay đổi, lịch trình có thể thay đổi hoặc các thành viên trong team dự án có thể chuyển sang các dự án khác. APF tập trung vào các nguồn lực mà một dự án có, trái ngược với việc tập trung vào các nguồn lực mà một dự án cần.  

Extreme Project Management (XPM)

Quản lý dự án cực đoan (XPM) là gì?

Loại hình quản lý dự án này thường được sử dụng cho các dự án rất phức tạp với mức độ không chắc chắn cao. Cách tiếp cận này liên quan đến việc liên tục điều chỉnh các quy trình cho đến khi chúng có thể dẫn đến kết quả mong muốn. Loại dự án này liên quan đến nhiều thay đổi tự phát và việc các nhóm thay đổi chiến lược theo tuần là điều bình thường.  

XPM đòi hỏi rất nhiều sự linh hoạt. Đây là một trong những lý do tại sao mỗi sprint — chỉ tối đa là vài tuần. Phương pháp này cho phép thay đổi thường xuyên, cách tiếp cận thử và sai đối với các vấn đề và nhiều lần lặp lại tự sửa.

Adaptive Software Development (ASD)

Phát triển phần mềm linh hoạt (ASD) là gì?

Framework này cho phép các team nhanh chóng thích ứng với các thay đổi về yêu cầu của khách hàng. Trọng tâm chính của quá trình này là thích ứng liên tục. Các giai đoạn của loại dự án này — suy đoán, cộng tác và học hỏi — cho phép học hỏi liên tục khi dự án tiến triển.  

Không có gì lạ khi các đội chạy ASD nằm trong cả ba giai đoạn của ASD cùng một lúc. Do cấu trúc phi tuyến tính của nó, thông thường các giai đoạn sẽ bị chồng chéo lên nhau. Do tính linh hoạt của kiểu quản lý này, khả năng cao là sự lặp lại liên tục của ba giai đoạn giúp các thành viên trong nhóm xác định và giải quyết vấn đề nhanh hơn nhiều so với các phương pháp quản lý dự án thông thường.

Dynamic Systems Development Method (DSDM)

Phương pháp phát triển hệ thống linh hoạt (DSDM) là gì?

Dynamic Systems Development Method (DSDM) là một phương pháp quản lý dự án dựa trên nền tảng của phương pháp Agile. DSDM bám sát với một vòng đời hoàn chỉnh của dự án. Do đó, DSDM có cấu trúc và nền tảng chặt chẽ hơn, không giống như các framework Agile khác.  

DSDM gồm 4 giai đoạn chính:

  1. Nghiên cứu tính khả thi của dự án và nghiên cứu hoạt động kinh doanh
  1. Tìm hiểu sâu về các tính năng  
  1. Thiết kế và xây dựng  
  1. Triển khai

Feature Driven Development (FDD)

Phát triển dựa trên tính năng (FDD) là gì?

Tính năng phát triển theo hướng kết hợp các phương pháp hay nhất dựa trên nền tảng của phương pháp Agile. Mặc dù vẫn là một phương pháp quản lý dự án có cấu trúc lặp đi lặp lại, mô hình này tập trung nhiều hơn vào các tính năng cụ thể của một phần mềm. Việc phát triển dựa trên tính năng phụ thuộc rất nhiều vào yêu cầu từ khách hàng. Vì các tính năng được ưu tiên là các tính năng mà khách hàng cần.  

Mô hình này cũng cho phép dự án được cập nhật thường xuyên hơn. Nếu có lỗi, team có thể nhanh chóng quay lại và khắc phục vì các giai đoạn của framework này có thể được thay đổi linh hoạt theo dựa theo kết quả ưu tiên và tình trạng của dự án.

Tại sao nên sử dụng Asana để quản lý dự án theo phương pháp Agile 

Theo dõi tiến độ và quy trình

Asana phù hợp để theo dõi tiến độ của các dự án ở mọi quy mô (bất kể lớn hay nhỏ). Giúp người dùng dễ dàng lập ra một bảng kế hoạch trực quan và dễ hiểu để chia sẻ với team. Tình trạng dự án thường xuyên được cập nhật bởi tất cả mọi người, phản hồi và nhận xét trực tiếp trên từng task, và đảm bảo dự án đúng hạn. Asana được thiết kế hướng đến mục tiêu thúc đẩy tinh thần chủ động và tích cực của mọi người trong team trên suốt chặng đường triển khai dự án.  

Đơn giản hóa quy trình và kế hoạch cho từng Sprint của các dự án Agile

Sử dụng bảng Kanban để quan sát được toàn bộ dự án từ đầu đến cuối. Theo dõi mọi thứ từ lập kế hoạch sprint đến luồng phản hồi của từng task và các launch milestones của dự án.  

Giao tiếp và làm việc nhóm hiệu quả

Thông báo, đặt câu hỏi hoặc nhận xét với tính năng Trò chuyện nhóm. Asana tích hợp với các công cụ giao tiếp sẵn có của bạn như Slack hoặc Microsoft Teams để giúp bạn nhanh chóng tạo task ngay trong các cuộc trò chuyện, biến lời nói thành hành động ngay lập tức.

-> Asana là gì?