Info

Nói đúng hơn là Manifesto (tuyên ngôn) cho Agile Software Development Chúng tôi (Agile) đang khám phá ra những cách tốt hơn để phát triển phần mềm bằng cách thực hiện và giúp người khác thực hiện. Thông qua công việc này, chúng tôi đã đánh giá cao:

  • Cá nhân và tương tác hơn là quy trình và công cụ
  • Phần mềm hoạt động hơn là tài liệu toàn diện
  • Sự hợp tác của khách hàng hơn là đàm phán hợp đồng
  • Phản hồi với sự thay đổi hơn là tuân theo một kế hoạch

Điều đó có nghĩa là, trong khi các mục tiêu có giá trị ở bên phải, nhưng chúng tôi đánh giá cao các mục bên trái hơn.

Có 12 điều trong đó:

  1. Ưu tiên hàng đầu của chúng tôi là thỏa mãn khách hàng thông qua việc delivery sớm và liên tục phần mềm có giá trị.
  2. Chào đón các yêu cầu thay đổi, ngay cả khi đã muộn trong quá trình phát triển. Các quy trình Agile tận dụng sự thay đổi để đạt được lợi thế cạnh tranh của khách hàng.\
    • SAFe® note: nhìn chung là phải cân bằng giữa chấp nhận thay đổi đánh đổi với thời gian development có thể bị trễ, về cơ bản thì thay đổi ở phía phần mềm thì đơn giản hơn (có nhiều kỹ thuật để làm điều đó), còn nếu yêu cầu thay đổi cần phải xử lý cả phần cứng thì tốn kém và khó hơn.
  3. Deliver thường xuyên, từ vài tuần đến vài tháng, với sự ưu tiên cho giảm thời gian giữa các lần delivery.
  4. Đội kinh doanh và developer phải làm việc cùng nhau hàng ngày trong suốt dự án.
    • SAFe® note: ngoài Product Owner(PO), SAFe® add thêm Product Management làm việc với PO của từng team để định ra solution cho ART. Business Owner là một nhân vật quan trọng trong ART.
  5. Xây dựng các dự án xung quanh những cá nhân có động lực. Cung cấp cho họ môi trường và hỗ trợ họ cần, và tin tưởng họ sẽ hoàn thành công việc.
  6. Phương pháp truyền đạt thông tin hiệu quả nhất đến và trong nội bộ development team là cuộc trò chuyện trực tiếp.
    • SAFe® note: rất nhiều hoạt động trong ART như Planning Interval, Innovation và Planning Iteration được tổ chức dưới dạng các cuộc gặp trực tiếp, tuy nhiên với xu hướng team phân tán (sau đại dịch toàn cầu) thì các cuộc họp online trở nên phổ biến hơn.
  7. Phần mềm hoạt động là thước đo chính của tiến độ.
  8. Các quy trình Agile thúc đẩy phát triển bền vững. Các sponsors, development team và người dùng phải có khả năng duy trì nhịp độ không đổi vô thời hạn.
  9. Liên tục chú ý đến sự hoàn thiện về kỹ thuậtsử dụng các thiết kế tốt, điều đó tăng cường sự linh hoạt.
  10. Đơn giản - nghệ thuật tối đa hóa lượng công việc không thực hiện - là cần thiết.
    1. Tập trung vào giá trị (value)
    2. Giảm thiểu lãng phí: thời gian, effort, các công việc không đóng góp giá trị
    3. Streamline Processes: giữ các process đơn giản và thẳng, giảm các độ phức tạp không cần thiết dẫn đến làm chậm quá trình phát triển
    4. Avoid Over-Engineering
    5. Enhance Agility
    6. Maintain Clarity
  11. Sử dụng kiến trúc tốt nhất, yêu cầu và thiết kế xuất hiện từ các nhóm tự tổ chức.
    • SAFe® note: Khi chúng ta phát triển các hệ thống phức tạp (system of system), khi ART có 5-12 team, chúng ta cần cân bằng giữa 5-12 kiến trúc nổi bật để có một tiếng nói kiến trúc có chủ đích duy nhất. Sự cân bằng này được cung cấp bởi System Architect, chịu trách nhiệm kiến trúc sản phẩm và hướng dẫn các team sử dụng.
  12. Trong các Regular Interval (giống với Planing Interval), nhóm sẽ tự kiểm điểm về cách trở nên hiệu quả hơn, sau đó điều chỉnh hành vi của mình cho phù hợp.