개발 방법론은 다양하다. 그 중 가장 흔히 사용하는 폭포수 방법론과 애자일 방법론에 대해 알아보자.
폭포수 방법론은 "탑다운"방식으로, 순차적이고 단계적인 프로세스를 따른다. 요구사항 정의, 설계 및 디자인, 개발 및 구현, 테스트, 배포 및 관리 등의 단계를 차례대로 진행하는 것이다. 주요 특징으로는 (1) 각 단계가 완료되어야 다음 단계로 넘어갈 수 있고, (2) 프로젝트 초기에 요구사항이 명확히 정의되어야 한다. 그러다보니 변경 사항을 수용하기 어렵고 유연성이 부족하다. 폭포수 방법론은 대규모 프로젝트에 적합하며, 예측가능한 결과물을 예측 가능한 시간에 내는 데에 중점을 두는 방법론이다.
애자일 방법론은 점진적인 개발 프로세스를 따른다. 폭포수 방법론을 짧은 주기(스프린트)로 나누어 개발하는 방법이다. 보통 2주~한 달 단위의 짧은 마일스톤 안에 요구사항 정의, 설계 및 디자인, 개발 및 구현, 테스트까지 거치며 눈에 보이는 결과물을 보면서 더 좋은 제품으로 지속적으로 발전시키는데 중점을 두는 방법론이다. 애자일 방법론은 고객 협력과 피드백을 중시하기 때문에 요구사항이 유동적일 때 유용하며, 작은 규모의 프로젝트에 적합하다.
결론적으로 각각의 장단점이 있으나, 고객의 니즈를 잘 반영하고 시장에 신속하게 반응하여 대처할 수 있는 애자일 방법론이 트랜드로 자리잡고 있으며, 이는 특히 스타트업이나 기술 지향적인 회사에서 더욱 두드러집니다.
UML(Unified Modeling Language) 다이어그램 (0) | 2024.07.01 |
---|---|
[자료구조] 스택(Stack), 큐(Queue), 힙(Heap) (0) | 2024.05.13 |
[개발 기법] TDD(Test-Driven Development, 테스트 주도 개발) (0) | 2024.05.06 |
프레임워크(Framework) vs 라이브러리(Library) (0) | 2024.05.05 |
재귀 함수/재귀적 호출(Recursion Function/Recursion Call) (0) | 2024.05.05 |