애자일 방식은 학교 수업 때 처음 배운 개념이었는데,
공부를 하다 보니 애자일이라는 단어가 생각보다 꽤 많이 언급되고 있어서 이 기회에 애자일(Agile) 방법론에 대해 정리해보고자 한다.
애자일(Agile) 방법론이란?
소프트웨어 개발 방식의 하나로,
이미지와 같이 작업 계획을 짧은 단위로 세우고 제품을 만들고 고쳐 나가는 사이클을 반복함으로써 고객의 요구에 유연하고 신속하게 대응하는 개발 방법론이다.
단어 뜻을 알면 더 기억하기 쉽다.
Agile : 민첩한, 날렵한 이라는 의미를 가지고 있으며,
좋은 것을 빠르게 취하고, 낭비를 최소화하는 것과 변화에 대한 민첩한 대응을 강조한다.
애자일 방법론을 따르는 개발 기법을 '애자일 프레임워크'라고 하는데, 그 기법들은 아래와 같다.
: Scrum, Kanban, XP(eXtreme Programming) 등
애자일 소프트웨어 개발 선언문
애자일(Agile) VS 워터폴(Waterall)
애자일과 워터폴 방식을 비교하려면
우선 워터폴 방식에 대해서 알아야 한다.
워터폴(Waterfall) 방법론이란?
워터폴 방법론은 가장 처음 등장한 방법론으로,
아주 고전적인 개발 방법론이다.
정해진 순서에 따라 단계가 진행되는 순차적(sequential) 모델이다.
이미지와 같이 폭포처럼 이전 단계를 진행한 후, 그다음 단계로 떨어지는 개발 방법론이다.
- 요구사항 정의(설계) - 디자인 - 개발 - 테스트 - 배포
이제 워터폴(Waterfall)과 애자일(Agile) 방식을 비교해 보자.
워터폴(Waterfall) 방법론
장점
- 개발 단계가 수직적으로 진행되기 때문에 각 과정에 대한 이해가 용이하다.
단점
- 수직적으로 진행되기 때문에 개발 도중에 요구사항이 변경될 경우, 추가적인 비용과 시간이 발생한다.
즉, 수정사항을 반영한다면 처음부터 진행하게 된다.
애자일(Agile) 방법론
장점
- 개발 도중 요구사항이 변경되었을 경우, 해당 요구 사항을 반영하기 용이하다.
- 개발하면서 지속적으로 테스트하기 때문에 개발 초기에 버그를 발견할 수 있다.
단점
- 워터폴(Waterfall) 방법론에 비해 체계화된 문서가 적을 수 있다.
전체적인 프로세스를 정의하고 순차적으로 개발하는 워터폴 방식과 달리, 애자일 방법론은 짧은 주기로 소프트웨어를 개발하면서 이슈 사항을 바로 확인하고, 고객과 커뮤니케이션, 요구사항 반영이 가능하다는 장점을 가지고 있다.
워터폴 방법론의 중요성
출시될 제품의 방향성이 명확하여 디테일한 요구사항을 해결하려고 할 때, 적합하다. 규모가 큰 제품의 런칭, 새로운 버전출시, 메인 기능 개발등에 주로 활용된다.
애자일 방법론의 중요성
요즘에는 시장과 고객 등 변화가 빠르고, 예상하기 어려운 환경에 놓여있기 때문에 최근에는 거의 대다수의 IT 기업에서 Agile 방식을 선호하고 있다. 즉, 시장과 고객의 변화에 대응하기가 쉽다.
두 방식의 특징을 잘 인지하고, 어떤 방식이 프로젝트에 적합한지 잘 고민하고 적용하는 것이 중요한 것 같다.
이 개념을 바탕으로 애자일 방법론을 채택하고, JIRA 프로젝트 도구를 사용해 볼 예정이다.
'Study' 카테고리의 다른 글
[강화학습] 1.Introduction_RL_1 (0) | 2025.04.05 |
---|---|
[Git/Github] 협업을 위한 Github_간단 정리 (0) | 2025.03.15 |
[JPA] 컬렉션과 연관 매핑 (0) | 2025.02.24 |
[점프 투 스프링 부트3] 프로젝트 구조 _ 게시판 프로젝트 (0) | 2025.02.24 |
[점프 투 스프링 부트3] 웹 서비스의 동작 이해와 URL 매핑 (0) | 2025.02.17 |