Linh Hoạt / Nhanh nhẹn Ở những dự án phần mềm truyền thống, chúng ta viết ra trước những yêu cầu và kế hoạch chi tiết. Sau đó trình bày nó cho nhà đầu tư, kèm theo thông báo về chi phí cần thiết cho việc thay đổi bất cứ điều gì trong kế hoạch hay yêu cầu ban đầu (thường là rất cao). Những thay đổi sẽ được kiểm soát một cách rất gắt gao. Thậm chí còn có những kế hoạch để giảm thiểu thay đổi yêu cầu. Cách tiếp cận này thường sẽ làm cho dự án dễ đi vào ngõ cụt. Vì nó được xây dựng trên việc chúng ta phải biết tất cả những gì chúng ta muốn ngay từ ban đầu (nhưng thật ra là không). Và phải đảm bảo không có thay đổi nào làm cho sản phẩm tốt hơn (điều này là bất khả thi với tốc độ thay đổi chóng mặt trên thị trường cạnh tranh khốc liệt hiện nay). Trong phương thức phát triển Agile/ Scrum. Thời gian là cố định theo từng vòng lặp (sprint), và yêu cầu của sản phẩm tiến hóa theo nhu cầu thực tế tại thời điểm đó. Yêu cầu của sản phẩm thay đổi là điều luôn được chấp nhận và được mong đợi. Nói chi tiết hơn là: thời gian phát triển từng thần nhỏ sản phẩm (working software) đáp ứng được nhu cầu người dùng, sẽ được cố định như một vòng lặp, và những yêu cầu cho sản phẩm sẽ hình thành và thay đổi, cùng với quá trình mà sản phẩm đó được phát triển qua mỗi vòng lặp. Để làm điều này, vai trò của Product Owner cực kỳ quan trọng để hiểu được tình hình và có những đánh đổi, thay đổi, tính toán, sắp xếp những nhu cầu của sản phẩm, để mang lại giá trị tốt nhất cho sản phẩm đó. Quản lý được Chi Phí Với phương thức phát triển Agile/ Scrum, Thời gian là vòng lặp cố định, và yêu cầu của sản phẩm tiến hóa theo nhu cầu, sẽ tạo ra một chi phí cố định cho mỗi vòng lặp (Sprint). Yêu cầu của sản phẩm và chức năng cần có, mới là thứ thay đổi, chứ ko phải chi phí. Bởi vì mỗi Sprint chúng ta đều có một sản phẩm chạy được, đạt được đủ yêu cầu của hoàn thành (DoD), và sẵn sảng đề Product Owner đưa ra thị trường, nên chúng ra sẽ dễ dàng có được cái nhìn chính xác hơn về những chi phí cần cho sản phẩm đó trong những Sprint tiếp theo. Sự Hài lòng của Khách hàng Với vai trò của Product Owner, Sự minh bạch của sản phẩm và tiến độ, và sự uyển chuyển để thay đổi khi thực sự cần thiết, đã tạo ta cho các bên liên quan và khách hàng cảm thấy hài lòng hơn (Vì sản phẩm ngày càng phát triển đáp ứng được nhu cầu kinh doanh và mang lại nhiều giá trị hơn cho người dùng), đây là một lợi ích quan trọng vì nó tạo ra một không khí cởi mở, tích cực hơn, và giữ được sự tin tưởng. Tạo ra Sản phẩm Giá trị Việc dễ dàng chấp nhận yêu cầu được hình thành/biến đổi, và khả năng thích nghi với sự thay đổi, đã đã bảo cho đội Scrum xây dựng đúng sản phẩm, cái mà mang đến giá trị thực tế, hữu ích với người dùng. Có nhiều câu chuyện kể về những dự án được xây dựng theo phương thức truyền thống, dù đã cung cấp đầy đủ yêu cầu của nhà đầu tư, thành công trong khía cạnh phát triển phần mềm (Sản phẩm tốt, chất lượng, bàn giao đầy đủ, đúng tiến độ v.v), nhưng rồi khi đến tay người dùng, nó lại không được đón nhận, vì nó đã không được xây dựng dựa trên nhu cầu của người dùng, hay nó ở trong giai đoạn phát triển quá lâu mà không có được kết nối với nhu cầu thực tế. Trong phương thức phát triển Agile, trọng tâm và quan trọng nhất là phát triển đúng những giá trị cần thiết và mang lại lợi ích cho người dùng, qua viêc liên tục nhận được những phản hồi từ người dùng, bằng cách phân phối sản phẩm liên tục đến tay họ. Xem Phần 1 |