적응형 소프트웨어 개발

Adaptive software development

적응형 소프트웨어 개발(ASD)은 빠른 애플리케이션 개발(RAD)에 관한 짐 하이미스와 샘 바이어의 작업으로부터 성장한 소프트웨어 개발 과정이다. 당면한 작업에 대한 지속적인 적응이 정상적인 상황이라는 원칙을 구현한 것이다.

적응형 소프트웨어 개발은 전통적인 폭포 사이클을 반복적인 추측, 협업학습 사이클로 대체한다. 이러한 동적 주기는 프로젝트의 긴급 상태에 대한 지속적인 학습과 적응을 제공한다. ASD 라이프사이클의 특징은 임무 중심, 특징 기반, 반복성, 시간 박스화, 위험 주도 및 변화에 대한 내성이 있다는 것이다. RAD와 마찬가지로 ASD도 민첩한 소프트웨어 개발의 선행 조건이다.

추측이라는 단어는 계획을 세우는 역설을 가리킨다 – 모든 이해관계자가 프로젝트 임무의 특정 측면에 대해 비교적으로 잘못되었다고 가정하는 동시에 그것을 정의하려고 할 가능성이 더 높다. 투기가 진행되는 동안에는 프로젝트가 시작되고 적응 사이클 계획이 이루어진다. 적응 주기 계획은 프로젝트에 필요한 릴리스 주기 집합(소프트웨어 증분)을 정의하기 위해 고객의 미션 진술, 프로젝트 제약 조건(예: 납품 날짜 또는 사용자 설명), 기본 요건 등 프로젝트 개시 정보를 사용한다.

협업(collaboration)은 예측 가능한 환경 부분을 바탕으로 작업의 균형을 맞추고(기획 및 안내) 기술, 요건, 이해관계자, 소프트웨어 벤더 등 다양한 요인에 의해 야기되는 불확실한 주변 변화 혼합에 적응하기 위한 노력을 말한다. 모든 이해 당사자에게 도전하는 학습 주기는 설계, 구축 및 테스트의 짧은 반복을 기반으로 한다. 이러한 반복이 진행되는 동안 잘못된 가정에 근거한 작은 실수를 범하고 그러한 실수를 바로잡음으로써 지식이 모이게 되며, 따라서 더 큰 경험을 하게 되고 결국 문제 영역에 숙달하게 된다.[1]

참조

  1. ^ "Messy, Exciting, and Anxiety-Ridden: Adaptive Software Development". Archived from the original on 2017-10-04. Retrieved 2007-05-18.