본문 바로가기

잡인터뷰

워터폴 방법론 - Waterfall Methodology

반응형

예전에 애자일 방법론 - Agile Methodology에 대해 설명한 적이 있지만,

워터폴 방법론을 한번도 언급한 적이 없어서 이번에 한번 소개해 볼까 한다.

 

예전에는 워터폴 방법론을 많이 사용하고 있었지만,

애자일 방법론이 소개되면서 많은 회사들이 애자일 방법론으로 넘어가고 있는 추세이다.

 

애자일 방법론이란 - Agile Methodology

최근까지 일하던 곳에서 나에게 처음으로 애자일 방법론(Agile methodology) 을 처음으로 접하게 되었다. 맨처음에는 상당히 귀찮게 느껴진 부분이 많았다. 매일매일 스크럼 스텐드업(Scrum Standup)을

canada-coder.tistory.com

애자일 방법론에 적용할수 없는 방식의 업무여서 인지 프로그램의 구성에 따라서인지,

아직까지 워터폴 방법론을 꾸준히 지키고 있는 회사가 많이 있다.

그렇다면 워터폴 방법론이란 무엇인가?

워터폴 방법론 - Waterfall Methodology; IMAGE FROM https://www.roberthalf.com/

워터폴 방법론 - Waterfall Methodology

워터폴 방법론(Waterfall methodology)은 소프트웨어 개발 프로세스의 초기 형태 중 하나이다.

이 방법론은 개발 단계가 순차적으로 진행되며 각 단계가 완료되면 다음 단계로 이동하는 선형적인 프로세스를 따른다.

 

워터폴 방법론에서는 요구사항 정의, 설계, 구현, 검증, 유지보수의 다섯 단계를 거친다.

각 단계는 이전 단계에서 생성된 결과물을 기반으로 진행된다.

 

요구사항 정의 단계에서는 시스템이나 소프트웨어에 대한 요구사항을 수집하고 문서화한다.

이를 바탕으로 설계 단계에서는 요구사항을 충족하기 위한 시스템의 구조와 기능을 설계하며

구현 단계에서는 설계를 바탕으로 실제 소프트웨어를 개발한다.

이후 검증 단계에서는 소프트웨어가 요구사항을 충족하는지 검증해야한다.

 

마지막으로 유지보수 단계에서는 소프트웨어를 유지하고 업그레이드하며 필요한 경우 수정한다.

 

워터폴 방법론은 순차적이고 예측 가능한 프로세스를 제공하므로 대규모 프로젝트에서 유용하다.

하지만 이 방법론은 요구사항이 변경될 경우 비용이나 일정에 영향을 미치기 쉽다.

따라서 최근에는 애자일 방법론 등 유연한 개발 방법론이 더 많이 사용되고 있다.

 

반응형

그렇다면 장점과 단점은 뭐가 있을까?

워터폴 방법론의 장점

  • 계획의 명확성: 워터폴 방법론은 각 단계가 선형적으로 진행되므로 전체 개발 프로세스를 미리 계획할 수 있어서 이로 인해 프로젝트 일정이 명확해지고 예측 가능해진다.
  • 문서화의 용이성: 워터폴 방법론은 각 단계에서 생성된 결과물을 문서화한다. 이러한 문서화는 소프트웨어 개발에 있어서 중요한 역할을 한다.
  • 품질의 향상: 각 단계에서 요구사항을 검증하고 수정할 수 있으므로 소프트웨어의 품질을 높일 수 있다.

워터폴 방법론의 단점

  • 요구사항 변경의 어려움: 워터폴 방법론은 순차적인 프로세스를 따르기 때문에 요구사항이 변경될 경우 비용이나 일정에 영향을 미치기 쉽다.
  • 높은 초기 비용: 워터폴 방법론은 각 단계에서 결과물을 생성하고 검증하기 때문에 초기 개발 비용이 높을 수 있다.
  • 유연성의 부재: 워터폴 방법론은 예측 가능한 프로세스를 따르기 때문에 프로젝트에 대한 유연성이 부족할 수 있다.

따라서 워터폴 방법론은 대규모 프로젝트에서 유용하며,

요구사항이 명확하고 변경될 가능성이 적은 경우에 적합다지만,

요구사항이 불명확하거나 변경될 가능성이 높은 경우에는 다른 개발 방법론을 고려해야 한다.

 

이러한 여러 부분을 비추어 각 회사의 진행방식에 맞게

그리고 개발 프로젝트에 따라 워터폴이던지 애자일 방법론을 선택해야 할 것이다.

반응형