적응 형 소프트웨어 개발-라이프 사이클
적응 형 소프트웨어 개발은 RAD 관행에서 발전했습니다. 팀 측면도 이러한 관행에 추가되었습니다. 뉴질랜드에서 캐나다에 이르기까지 다양한 프로젝트 및 제품 유형에 대한 회사는 적응 형 소프트웨어 개발을 사용했습니다.
Jim Highsmith는 2000 년 Adaptive Software Development를 출판했습니다.
적응 형 소프트웨어 개발 관행은 변화를 수용 할 수있는 능력을 제공하고 거의 계획과 학습없이 진화하는 제품으로 격동적인 환경에서 적응할 수 있습니다.
ASD 수명주기의 단계
적응 형 소프트웨어 개발은 복잡한 시스템의 예측 불가능 성을 반영하는 단계 이름과 함께 진화 모델과 같이 주기적입니다. 적응 형 개발 수명주기의 단계는 다음과 같습니다.
- Speculate
- Collaborate
- Learn
이 세 단계는 적응 형 소프트웨어 개발의 동적 특성을 반영합니다. 적응 형 개발은 결정론을 Emergence로 명시 적으로 대체합니다. 단순한 라이프 사이클의 변화를 넘어 관리 스타일의 더 깊은 변화로 이어집니다. 적응 형 소프트웨어 개발에는 동적 추측-협업-학습 수명주기가 있습니다.
적응 형 소프트웨어 개발 라이프 사이클은 작업이 아닌 결과에 초점을 맞추며 그 결과는 애플리케이션 기능으로 식별됩니다.
추측
계획이라는 용어는 너무 결정적이며 원하는 결과에 대해 상당히 높은 수준의 확실성을 나타냅니다. 계획 준수라는 암시 적 및 명시 적 목표는 프로젝트를 혁신적인 방향으로 조정하는 관리자의 능력을 제한합니다.
적응 형 소프트웨어 개발에서는 계획이라는 용어가 추측이라는 용어로 대체됩니다. 추측하는 동안 팀은 계획을 포기하지 않고 복잡한 문제에서 불확실성의 현실을 인정합니다. 추측은 탐구와 실험을 장려합니다. 주기가 짧은 반복이 권장됩니다.
협업
복잡한 애플리케이션은 구축되지 않고 진화합니다. 복잡한 애플리케이션을 사용하려면 많은 양의 정보를 수집, 분석 및 문제에 적용해야합니다. 격렬한 환경은 정보 흐름 속도가 빠릅니다. 따라서 복잡한 응용 프로그램은 많은 양의 정보를 수집, 분석 및 문제에 적용해야합니다. 그 결과 팀 협업으로 만 처리 할 수있는 다양한 지식 요구 사항이 발생합니다.
Collaborate는 결과를 생성하고 지식을 공유하거나 결정을 내리기 위해 공동으로 작업 할 수있는 능력이 필요합니다.
프로젝트 관리의 맥락에서 Collaboration은 기존 관리 기술을 사용한 관리와 출현에 필요한 협업 환경의 생성 및 유지 간의 균형을 나타냅니다.
배우다
라이프 사이클의 학습 부분은 프로젝트의 성공에 필수적입니다. 팀은 다음과 같은 관행을 사용하여 지속적으로 지식을 향상시켜야합니다.
- 기술 리뷰
- 프로젝트 회고
- 고객 포커스 그룹
각 반복 후에 검토를 수행해야합니다. 개발자와 고객 모두 자신의 가정을 검토하고 각 개발주기의 결과를 사용하여 다음 방향을 학습합니다. 팀이 배운다-
제품 변경에 대해
제품 개발 방법에 대한 기본 가정의 더 근본적인 변화
반복은 짧아야 팀이 큰 실수가 아닌 작은 실수에서 배울 수 있습니다.
추측-공동 작업-전체주기 학습
위에서 제시 한 Speculate-Collaborate-Learn주기에서 관찰 한 것처럼 세 단계가 비선형이고 겹치는 것이 분명합니다.
적응 형 프레임 워크에서 다음을 관찰합니다.
배우지 않고 협업하거나 협업하지 않고 배우는 것은 어렵습니다.
배움없이 투기하거나 투기없이 배우는 것은 어렵다.
협업없이 투기하거나 투기없이 협업하는 것은 어렵습니다.