프로젝트마다 프로젝트의 성격, 규모, 일정, 비용등에 따라 개발 방법론을 선택해야한다.
그 중에서도 대표적인 개발방법론인 폭포수(Water Fall) 방법론과 애자일(scrum) 방법론을 설명하려고 한다.
1. 폭포수 방법론 (water fall)
폭포수 방법론은 기획, 분석, 설계, 구현, 테스트, 유지보수 단계로 이루어진 선형적인 개발 방법론이다.
각 단계는 이전 단계의 결과물을 바탕으로 진행되며, 다음 단계로 넘어가기 전에 이전 단계의 결과물이 검증되어야 한다.
이 방법론은 전체 프로젝트를 미리 계획하고 모든 기능을 상세하게 정의해 놓아야 하기 때문에 초기 비용이 많이 들어가고 변경사항이 생긴다면 수정하기 어렵다.
하지만 일관된 품질을 유지할 수 있고 프로젝트 일정을 예측하기 쉬워서 대규모 프로젝트에 많이 사용된다.
2. Agile 방법론
Agile 방법론에는 여러가지 종류가 있다. 그 중 가장 많이 사용되는 scrum에 대해서 설명한다.
스크럼은 짧은 주기를 정하여 계획, 설계, 개발, 테스트 등의 과정을 반복하여 기능 단위로 개발을 진행하는 방법론이다.
이 방법론은 초기 계획보다는 변화에 대처하는 능력을 중시하며, 작은 기능들을 빠르게 개발해 나가므로 초기 비용이 적다.
또한 사용자와 지속적으로 소통하면서 개발하므로 사용자 요구사항에 더욱 빠르게 대응할 수 있다.
그러나 개발 과정에서 변경사항이 발생하기 때문에 일정과 예산을 예측하기 어렵다.
고객의 니즈에 맞추기 적절한 방법이지만 고객이 변심하여 기능이 바뀌는 순간 아예 엎여야 하는 경우도 생긴다.
참고자료
https://www.servicenow.com/kr/products/business-management/what-is-agile-vs-waterfall.html
'개발 > 정리' 카테고리의 다른 글
[정리] ubuntu java 개발자 세팅 (그래픽카드 드라이버 설치, vscode, ibus, LibreOffice, virtualBox, openJDK) (0) | 2023.04.24 |
---|---|
[정리] 브라우저의 작동 방식 (0) | 2023.04.11 |
[정리] PWA란 무엇인가? ( + serviceWorker) (0) | 2023.04.07 |
[정리] MSA란 무엇일까? (Node.js 예시) (0) | 2023.03.08 |
[패턴] 자주 사용되는 아키텍처패턴 4가지 (0) | 2022.12.19 |