애자일(AGILE) » 이력 » 개정판 2
개정판 1 (이태훈, 2022/05/03 02:15) → 개정판 2/3 (이태훈, 2022/08/02 07:02)
h1. 애자일(AGILE) * 애자일 방법론은 소프트웨어 개발 방법에 있어서 아무런 계획이 없는 개발 방법과 계획이 지나치게 많은 개발 방법들 사이에서 타협점을 찾고자 하는 방법론입니다. 애자일 방법론과 다른 고전적인 방법론(폭포수, 나선 모형)과 구별되는 가장 큰 차이점은 lessdocument-oriented, 즉 문서를 통한 개발 방법이 아니라, code-oriented, 실질적인 코딩을 통한 방법론이라는 점입니다. 애자일 개발 프로세스는 어느 특정 개발 방법론을 가리키는 말은 아닙니다. "애자일(Agile = 민첩한, 좋은것을 빠르고 낭비없게 만드는 것) 개발을 가능하게 해 주는 다양한 방법론 전체를 일컫는 말입니다. h2. 1) h3. 애자일에서의 일의 단위 * Theme > Epic > Story(기본단위) > Task(티켓 할당 단위) # Theme : 프로젝트 목표 # Epic : 프로젝트에 필요한 기능 정리(Story를 모아서 Epic을 구성) # Story : 프로그램을 사용할 때 고객의 행동 정의 # Task : 고객이 행동을 할 수 있도록 실제 개발 되어야 하는 단위 h2. 2) h3. 애자일 방법론의 진행 과정 # [[계획 및 분석]] # [[설계]] # [[개발]] # [[프로그램 테스트]] # [[검토]] * 위 5단계를 요구 사항의 우선 순위에 따라 반복 진행합니다. h2. 3) h3. 애자일 방법론의 특징 * 고객과 개발자의 지속적인 소통을 통하여 변화하는 요구 사항을 신속하게 수용합니다. * 개발자 개인의 가치보다는 팀의 목적을 우선시하며 고객의 의견을 가장 우선시합니다. * 팀원들과 주기적인 회의 및 제품 시현을 통해 문제에 대응합니다. * 프로젝트를 진행하면서 프로그램을 시행해보고 고객으로부터 피드백을 받을 수 있습니다. * 내부 구조 형성을 통한 비용 절감에 힘쓰는 동시에 프로그램 품질 향상을 위해 노력합니다. h2. 4) h3. 애자일 방법론의 장점 # 프로젝트 계획에 걸리는 시간을 최소화 할 수 있습니다. # 점진적으로 테스트를 할 수 있어서 버그를 쉽고 빠르게 발견할 수 있습니다. # 계획 혹은 기능에 대한 수정과 변경에 유연합니다. # 고객 요구 사항에 대한 즉각적인 피드백에 유연하며, 프로토타입 모델을 빠르게 출시할 수 있습니다. # 빠듯한 기한의 프로젝트를 빠르게 출시할 수 있습니다. h2. 5) h3. 애자일 방법론의 단점 # 확정되지 않은 계획 및 요구 사항으로 인한 반복적인 유지 보수 작업이 많습니다. # 고객의 요구 사항 및 계획이 크게 변경될 경우 모델이 무너질 수 있습니다. # 개인이 아닌 팀이 중심이 되다 보니 공통으로 해야 할 작업이 많을 수 있습니다.(회의, 로그 등) # 반복적인 업무로 속도는 빠를 수 있으나 미흡한 기능들에 대한 대처가 필요합니다. # 확정되지 않은 계획으로 개발 진행 시 이해하지 못하고 진행하는 부분이 많을 수 있습니다. h2. 6) h3. 애자일 방법론의 종류 * [[스크럼(Scrum)]] * [[칸반(Kanban)]] * [[익스트림 프로그래밍(Extreme Programming, XP)]]