반응형
애자일(Agile)
폭포수(Waterfall)와 같은 전통적인 계획 중심 방법론은 초기 계획을 적용하기엔 진행과정에서 변수가 너무 많다.
이러한 규정된 프로세스가 효과를 발휘하려면 입력 값(요구사항)이 명확해야 하는데, 요구사항이 다양하고 복잡하기에 현실적으로 무리가 있다.
이를 보완하기 위해 나선형 모델같은 프로세스가 등장하였고, 변화를 수용하고 주기적인 점검을 하지만 모델이 복잡하고 비용이 많이 들며 프로젝트 관리가 힘든 단점이 존재했다.
1990년대부터는 가볍고 실용적인 프로세스 방법론이 등장하였고, 2000년대부터 Agile 방법론으로 통합되었다.
Agile 방법론은 소프트웨어 개발 방법에 있어서 아무런 계획이 없는 개발 방법과 계획이 지나치게 많은 개발 방법들 사이에서 타협점을 찾고자 하는 방법론 이다.
폭포수 모델, 나선 모델과 구별되는 가장 큰 차이점은 문서를 통한 개발 방법이 아니라 실질적인 코딩을 통한 방법론이라는 점(문서작업 및 설계에 집중하던 개발 방식에서 벗어나 좀 더 프로그래밍에 집중하는 개발 방법론)이다.
2001년에 경량 방법론 지지자들이 모여 선언문을 발표했다.
애자일 소프트웨어 개발 선언
- 공정과 도구보다 개인과 상호작용을
- 포괄적인 문서보다 작동하는 소프트웨어를
- 계약 협상보다 고객과의 협력을
- 계획을 따르기보다 변화에 대응하기를
애자일 사용시 장점
출처 : https://www.stateofagile.com/
애자일 개발 프로세스로 불리는 개발 방법론
- 익스트림 프로그래밍(Extreme Programming, XP) - 애자일 개발 프로세스의 대표자로 애자일 개발 프로세스의 보급에 큰 역할을 하였다. 이 방법은 고객과 함께 2주 정도의 반복개발을 하고, 테스트와 우선 개발을 특징으로 하는 명시적인 기술과 방법을 가지고 있다.
- 스크럼 - 30일마다 동작 가능한 제품을 제공하는 스프린트(Sprint)를 중심으로 하고 있다. 매일 정해진 시간에 정해진 장소에서 짧은시간의 개발을 하는 팀을 위한, 프로젝트 관리 중심의 방법론이다.
Scrum을 가장 많이 사용함
출처 : https://www.stateofagile.com/
Agile Survey 자료 참조
반응형
'Software Engineering' 카테고리의 다른 글
Code Review (코드 리뷰) (0) | 2020.04.04 |
---|---|
DevOps (데브옵스) (0) | 2020.03.01 |
정적분석 툴 선별시 고려할 사항 (0) | 2020.02.29 |
SW 개발환경 (dev, staging, production) (0) | 2020.02.10 |
스크럼 (Scrum) (0) | 2019.12.22 |