Phát triển phần mềm thích ứng - Khái niệm
Trong chương này, chúng ta sẽ hiểu các khái niệm khác nhau về Phát triển phần mềm thích ứng.
Lý thuyết hệ thống thích ứng phức tạp (CAS)
Brian Arthur và các đồng nghiệp của ông, tại viện Santa Fe, đã sử dụng lý thuyết Hệ thống thích ứng phức hợp (CAS) để cách mạng hóa sự hiểu biết về Vật lý, Sinh học, Tiến hóa và Kinh tế.
Brian Arthur đã lên đến đỉnh điểm trong hơn hai thập kỷ cố gắng thuyết phục các nhà kinh tế học chính thống rằng quan điểm của họ, bị chi phối bởi các giả định cơ bản về giảm lợi nhuận, cân bằng và động lực xác định, không còn đủ để hiểu thực tế. Thế giới mới là một trong những sự trở lại ngày càng tăng, sự bất ổn định và không có khả năng xác định nguyên nhân và kết quả.
Hai thế giới khác nhau về hành vi, phong cách và văn hóa. Họ kêu gọi -
- Các kỹ thuật quản lý khác nhau
- Các chiến lược khác nhau
- Hiểu biết khác nhau
Phát triển phần mềm phức hợp
Với phạm vi Ứng dụng phần mềm đang bùng nổ, ngay cả các tổ chức phát triển phần mềm cũng đang tích lũy những mâu thuẫn tương tự như đã đề cập ở trên.
Một thế giới được đại diện bởi sự phát triển Xác định, bắt nguồn từ các thực tiễn quản lý bắt nguồn từ những điều cơ bản về sự ổn định và khả năng dự đoán (theo thuật ngữ của Arthur nghĩa là lợi nhuận giảm dần)
Thế giới thứ hai được đại diện bởi các ngành công nghiệp chuyển từ môi trường giảm dần sang môi trường quay trở lại ngày càng tăng mà không thể đoán trước, phi tuyến tính và nhanh chóng.
Để giải quyết các vấn đề của thế giới thứ hai này, Jig Highsmith đã đưa ra một khuôn khổ, Phát triển phần mềm thích ứng, khác với Phát triển phần mềm xác định.
Phát triển phần mềm thích ứng tập trung vào việc giải quyết các hệ thống phức tạp -
Phát triển phần mềm thích ứng cho vòng đời phát triển.
Kỹ thuật Quản lý Thích ứng kêu gọi một tư duy khác với tư duy của các phương pháp quản lý dự án truyền thống.
Trong hướng dẫn này, bạn có thể hiểu cả hai cách triển khai này.
Phát triển phần mềm thích ứng (ASD) dựa trên hai quan điểm -
Quan điểm khái niệm dựa trên lý thuyết Hệ thống thích ứng phức tạp (CAS), như được đưa ra trong phần đầu tiên của chương này.
Quan điểm thực tế dựa trên
Nhiều năm kinh nghiệm với các phương pháp luận phát triển phần mềm xác định.
Tư vấn, thực hành và viết về các kỹ thuật Phát triển Ứng dụng Nhanh (RAD); và làm việc với các công ty phần mềm công nghệ cao để quản lý việc phát triển sản phẩm của họ.
Trong chương này, bạn sẽ hiểu quan điểm khái niệm của Phát triển phần mềm thích ứng.
Các khái niệm về hệ thống thích ứng phức tạp (CAS)
Lý thuyết Hệ thống thích ứng phức tạp (CAS) có nhiều khái niệm. Phát triển phần mềm thích ứng dựa trên hai khái niệm sau:
- Emergence
- Complexity
Sự xuất hiện
Trong các dự án phát triển sản phẩm phần mềm phức tạp, kết quả vốn dĩ không thể đoán trước được. Tuy nhiên, các sản phẩm thành công luôn xuất hiện từ những môi trường như vậy.
Điều này có thể xảy ra bởi Sự xuất hiện, như được minh họa trong lý thuyết Hệ thống thích ứng phức tạp (CAS). Nó có thể được hiểu bằng một ví dụ đơn giản, hành vi bầy đàn của các loài chim.
Khi bạn quan sát một đàn chim, bạn nhận thấy rằng -
Mỗi con chim cố gắng
Duy trì khoảng cách tối thiểu với các vật thể khác trong môi trường, kể cả các loài chim khác.
Khớp vận tốc với các loài chim trong khu vực lân cận.
Di chuyển về phía trung tâm nhận biết của khối lượng chim trong khu vực lân cận.
Không có quy tắc hành vi nào cho nhóm. Các quy tắc duy nhất là về hành vi của từng loài chim.
Tuy nhiên, tồn tại một tập tính nổi lên là bầy chim. Khi những con chim sai lầm lao đến đuổi kịp, đàn chia nhau xung quanh chướng ngại vật và cải tổ ở phía bên kia.
Điều này cho thấy yêu cầu của những thay đổi mô hình tinh thần khó khăn nhất trong Phát triển thích ứng - Từ cách quản lý và tổ chức sự tự do của cá nhân đó đến quan niệm rằng một trật tự mới sáng tạo xuất hiện không thể đoán trước từ quá trình tự tổ chức tự phát.
Ngoài sự phát triển, sự nổi lên là khái niệm quan trọng nhất từ góc độ quản lý cũng.
Phức tạp
Trong bối cảnh Phát triển Phần mềm, Độ phức tạp là về -
Các cá nhân của một nhóm như nhà phát triển, khách hàng, nhà cung cấp, đối thủ cạnh tranh và người nắm giữ cổ phiếu, số lượng và tốc độ của họ.
Kích thước và độ phức tạp công nghệ.
Thực tiễn phát triển phần mềm thích ứng
Phát triển phần mềm thích ứng cung cấp một quan điểm khác về thực tiễn quản lý phần mềm. Trong các phần bên dưới, bạn có thể hiểu hai thực hành quan trọng - Chất lượng và RAD, cả hai đều có các phân nhánh để thu thập các yêu cầu.
Bạn có thể tìm thấy chi tiết của tất cả các phương pháp trong chương, Các phương pháp phát triển phần mềm thích ứng trong hướng dẫn này.
Chất lượng
Trong một môi trường phức tạp, thực hành lâu đời "Làm đúng ngay lần đầu tiên" không hiệu quả vì bạn không thể đoán trước điều gì là đúng ngay từ đầu. Bạn cần phải có mục tiêu để tạo ra giá trị phù hợp. Tuy nhiên, trong môi trường phức tạp, sự kết hợp và hoán vị của các thành phần giá trị như phạm vi (tính năng, hiệu suất, mức độ lỗi), lịch trình và tài nguyên là rất lớn nên không bao giờ có thể có giá trị tối ưu. Do đó, trọng tâm là chuyển đổi để mang lại giá trị tốt nhất trong thị trường cạnh tranh.
Thực hành RAD
Thực tiễn RAD thường bao gồm sự kết hợp của những điều sau:
- Vòng đời tiến hóa
- Nhóm tập trung vào khách hàng, Phiên JAD, Đánh giá kỹ thuật
- Quản lý dự án theo hộp thời gian
- Kỹ thuật phần mềm liên tục
- Đội chuyên dụng có phòng chiến
Các dự án RAD có một hương vị nổi bật, thích ứng vốn có. Nhiều tổ chức CNTT đang chống lại RAD. Tuy nhiên, Microsoft và những người khác đã sản xuất phần mềm cực kỳ lớn và phức tạp bằng cách sử dụng các kỹ thuật tương đương với RAD vì nó đặt ra câu hỏi về thế giới quan cơ bản của họ.
Thực hành RAD và quy trình của Microsoft đều là những ví dụ về Phát triển thích ứng trong thực tế. Việc gắn cho họ một nhãn hiệu (tức là Phát triển thích ứng) và nhận ra rằng ngày càng có nhiều kiến thức khoa học (tức là lý thuyết CAS) giải thích tại sao chúng hoạt động. Điều này sẽ tạo cơ sở cho việc sử dụng rộng rãi hơn các thực hành này.