1. 애자일(Agile)방법론이란
'애자일(Agile)'이란 용어는 소프트웨어 개발 방식의 하나로, 작업 계획을 짧은 단위로 세우고 제품을 만들고 고쳐 나가는 사이클을 반복함으로써 고객의 요구 변화에 유연하고도 신속하게 대응하는 개발 방법론이다.
좋은 것을 빠르게 취하고, 유연하고 효율적으로 개발을 할 수 있도록 만드는 다양한 방법론을 통칭해 일컫는 말이다.
애자일은 어떠한 규정이나 툴이 아니며, 개발 업무는 어떤 방식으로 진행되는 것이 좋은지에 대한, 협업과 워크플로우를 바라보는 관점, 가치체계, 문화라고 보는 것이 더 가깝다.
즉, 위의 프레임워크들이 지향하는 것을 통칭하는 상위 개념이 애자일이라고 할 수 있다.
미리 정해진 몇 개의 단계에 따라 엄격한 순서대로 이루어지는 일직선의 과정인 폭포수(Water fall)의 프로세스와는 비교가 많이 되는 반대의 개념이다.
2. Water fall과의 차이
3. 에자일 방법론의 진행 과정
애자일 방법론은 계획 → 설계(디자인) → 개발(발전) → 테스트 → 검토(피드백) 순으로 반복적으로 진행된다.
계획을 세운 후 다음 단계까지 기다려서 절차대로 진행하는 Water fall 모델과 달리 먼저 진행 후 분석, 시험, 피드백을 통하여 개선하여 나가는 진행 모델이다.
- 계획 및 분석 : 고객과 사용자가 원하는 바를 파악하여 타당성을 조사하고 SW 기능과 제약조건을 정의하는 명세서 작성, 대상이 되는 문제 영역과 사용자가 원하는 task를 이해하는 단계
- 설계(디자인) : 기획의도에 맞는 설계 및 디자인 추가 및 수정하는 단계
- 개발(발전) : 설계단계에서 만들어진 설계서를 바탕으로 프로그램을 작성, 코딩, 디버깅, 단위/통합테스트 수행
- 테스트 : 발생 가능한 실행 프로그램 오류를 발견, 수정하는 단계
- 검토(피드백) : 기획의도를 파악하고 시험결과와 기획의 따라 수정할 부분을 제시하는 단계
4. 애자일 방법론의 Scrum
스크럼(Scrum)은 프로젝트 관리를 위한 상호, 점진적 개발방법론이며, 뚱딴지일 방법론의 중심이 될 수 있는 효율적인 협업 방법이다.
스크럼(Scrum)은 고객의 요구사항을 충족시키는 데 초점을 맞추기 위해, 목표를 짧은 주기로 점진적이며 경험적으로 시스템을 지속해서 개발(전달)하는 관리 프레임워크(기법)이며 소프트웨어 개발 프로젝트를 뿐만 아니라 소프트웨어 유지보수 팀이나 일반적인 프로젝트 관리에서도 적용될 수 있다.
'Computer Science > 기타 CS' 카테고리의 다른 글
데이트팝 기술면접 풀이 (0) | 2024.03.04 |
---|---|
프로그래밍에서 SOLID란? (0) | 2023.09.26 |