Một trong các lý do để các phương pháp đào tạo Agile đang trở thành xu hướng chủ đạo đó là họ có thể linh hoạt trong kế hoạch làm việc . Mặc dù mọi hoạt động thực tiễn Agile không nhất hiết phải phù hợp với mọi tổ chức, nhưng chúng đều mang lại giá trị thực sự cho nhiều tổ chức và một số thực tiễn Agile có thể được sử dụng bởi bất kỳ ai!
Lợi thế số 1: Đáp ứng nhu cầu của khách hàng
Các dự án Agile thường xuyên liên quan đến khách hàng , không chỉ ở phần đầu (đối với các yêu cầu) và phần cuối (đối với sự chấp nhận). Sự tham gia của khách hàng này giảm nhẹ một trong những vấn đề nhất quán về các dự án phần mềm: những gì họ sẽ chấp nhận vào cuối dự án khác với những gì họ nói với chúng tôi ngay từ đầu.
Mặc dù các phương pháp Phân tích Kinh doanh (hoặc Phân tích Yêu cầu) tốt có thể giúp giải quyết rủi ro này, nhưng cung cấp cho chúng tôi không đủ thông tin. Việc chứng minh cho khách hàng những gì chúng tôi đang xây dựng và thường xuyên nhận được phản hồi của họ trong suốt dự án là điều không thể thay thế. Đây chính xác là những gì các dự án Agile làm.
Ngoài việc sớm phát hiện ra những hiểu lầm trong dự án, sự tương tác này giúp khách hàng hình thành tầm nhìn tốt hơn về sản phẩm mới . Cùng với khả năng hình dung các chức năng sắp có, dựa trên những gì đã được xây dựng cho đến nay, khách hàng sẽ hiểu rõ hơn về nhu cầu của chính họ và từ vựng để diễn đạt điều đó với các nhà phát triển. Nó cũng cho phép họ xác định khi nào nhu cầu của họ thay đổi, mà chúng ta sẽ thảo luận tiếp theo trong lợi thế số 2.
Tất cả những động lực này kết hợp với nhau để cho phép khách hàng hướng dự án đến việc sản xuất càng nhiều những gì họ cần càng tốt , có thể được thực hiện trong phạm vi hạn chế của dự án. Chúng tôi sẽ giải quyết chủ đề về những hạn chế này trong lợi thế số 3.
Lợi thế số 2: Nhanh nhẹn hơn
Thế giới luôn không ngừng thây đổi giữa ngày chúng ta bắt đầu một dự án và khi nó được hoàn thành. Cho dù dự án diễn ra trong vài ngày, vài tháng hay hơn một năm, tổ chức thay đổi, khách hàng thay đổi, môi trường thay đổi và ngay cả các nhà phát triển cũng thay đổi.
Lý do chính tại sao các phương pháp Agile được gọi là " Agile" là vì vòng đời lặp đi lặp lại được thiết kế để thích ứng với sự thay đổi. Công việc được thực hiện trong các "lần lặp" ngắn (hoặc nước rút) chỉ trong vài tuần và quá trình chuyển đổi từ lần lặp này sang lần lặp tiếp theo bao gồm việc kiểm tra những gì có thể đã thay đổi kể từ khi bắt đầu lặp lại và cách thích ứng với những thay đổi đó.
Như chúng tôi đã đề cập trong lợi thế số 1, nhu cầu của khách hàng có thể thay đổi. Thực sự không quan trọng dù cho sự thay đổi đó tạo nên sự hiểu biết mới và tốt hơn về nhu cầu của khách hàng, hay kết quả là sự thay đổi rất thực tế trong môi trường của họ. Điểm mấu chốt là việc cung cấp một sản phẩm đáp ứng nhu cầu ban đầu (lỗi thời) là lãng phí và phản tác dụng. Nhưng khách hàng không phải là nguồn thay đổi duy nhất. Tình hình của tổ chức phát triển cũng có thể thay đổi.
Môi trường kinh doanh thay đổi có thể tác động đến đề xuất giá trị cho dự án, khiến ban lãnh đạo phải phân bổ nhiều hơn hoặc ít hơn các nguồn lực, sắp xếp lại các ưu tiên, kéo dài hoặc ký hợp đồng tiến độ, thậm chí đình chỉ hoặc hủy bỏ dự án.
Bản chất lặp đi lặp lại và gia tăng của quy trình lập kế hoạch Agile làm cho bất kỳ loại thay đổi nào trong số này, ít gây gián đoạn hơn nhiều so với các dự án truyền thống. Việc làm lại toàn bộ lộ trình của dự án tương đối dễ dàng vì nó dựa trên các ước tính độ lớn theo thứ tự sơ bộ với rất ít chi tiết đi kèm. Và bởi vì lập kế hoạch chi tiết được thực hiện đúng lúc (chỉ trong vài tuần một lần), nên những thay đổi cũng sẽ gây ra ít hoặc không cần phải làm lại ở đó.
Bất kể nguồn gốc của sự thay đổi là gì, khách hàng cũng tham gia vào việc thích ứng với nó giống như họ đang ở bất kỳ phần nào khác của dự án. Điều này đảm bảo rằng sự nhanh nhẹn không phải trả giá bằng việc làm hài lòng khách hàng (một điểm mà chúng tôi sẽ mở rộng tiếp theo trong Lợi thế số 3).
Lợi thế số 3: Kỳ vọng thực tế của khách hàng
Hầu hết khách hàng có rất ít hoặc không hiểu về những gì cần thiết để phát triển phần mềm. Điều này có thể dẫn đến nhiều vấn đề và tranh luận về các dự án khi khách hàng đưa ra các yêu cầu mà họ tưởng tượng sẽ dễ dàng cho nhóm phát triển và đặt câu hỏi về thời gian và công sức đang bỏ ra để thực hiện và tại sao dự án lại mất nhiều thời gian như vậy.
Các dự án Agile bao gồm khách hàng trong tất cả các hoạt động quan trọng nhất. Đó là lý do tại sao khách hàng được tính là thành viên của nhóm Agile!
Các nhà phát triển và khách hàng hợp tác để xác định các yêu cầu cấp cao (Câu chuyện của người dùng) và duy trì chúng trong suốt dự án.
Khách hàng có mặt khi các nhà phát triển tạo ra các ước tính sơ bộ của họ (ví dụ: Các điểm câu chuyện) để trả lời các câu hỏi về từng yêu cầu nếu cần thiết.