적응형 소프트웨어 개발

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.