본문 바로가기
IT/Knowledge

폭포수(WATERFALL) / 애자일(AGILE)

by 성준하이 2022. 4. 4.
반응형

이번 포스팅에서는 방법론에 대해서 다뤄보도록 할것이다.

 

방법론이란 진리를 얻기 위한 방법을 고찰하는 철학적 의미이다.

개발에서 말하는 방법론이란 말그대로 개발하는 방식, 방법을 어떻게 할것인지를 말한다.

 

크게 폭포수 방법론과 애자일 방법론 두가지로 나뉜다.

 

폭포수 방법론 (Waterfall)

폭포가 위에서 아래로 떨어지듯이 폭포수 방법론 역시 개발단계가 위에어 아래로 떨어지듯이 순차적으로 이루어진다.

순서는 다음과 같다.

  • Requirememts
  • Design
  • Implememtation
  • Verification
  • Maintenance

요구사항 분석 > 설계 > 구현 > 검증 > 유지보수 순서이다.

 

장단점은 다음과 같다.

  • 장점
    • 수직적으로 진행되기에 각 과정에 대한 이해가 편하고 쉽다.
  • 단점
    • 수직적으로 진행되기때문에 개발 도중에 요구사항이 변경될 경우 추가적인 비용과 시간이 발생한다.(수정사항 반영후 처음부터 진행되기때문)
애자일 방법론 (Agile)

애자일 방법론은 폭포수와 다르게 소프트웨어 개발단계를 명확히 구분하지 않고 각 단계를 반복적으로 수행하며 진행을 한다.

만약 추가, 수정 요구사항이 생긴다면 반복단계에서 수정을 하면서 빠른 피드백으로 진행을 한다.

 

장단점은 다음과 같다.

  • 장점
    • 개발 도중에 요구사항이 변경될 경우, 반영하기 용이하다.
    • 개발하면서 지속적으로 테스트 되기에 개발 초기에 버그 발견이 가능하다.
  • 단점
    • 폭포수 방법론에 비해 체계화된 문서가 적어서 추후에 참고하기가 어려울수 있다.

 

뭐가 정답이고 뭐가 편한지에 답이 정해져있는것은 아니다.
방법론을 선택하는것 역시 개발자의 역량이고 자유라서 프로젝트에 대한 이해도가 높은 사람이 방법론을 선택하여 개발하는 방식과 방향을 올바르게 선택하는것이 중요하다고 생각한다.
반응형

'IT > Knowledge' 카테고리의 다른 글

Postman 이란?  (43) 2022.04.21
vpn이란?  (55) 2022.04.05
트러블 슈팅(Trouble Shooting) 이란?  (46) 2022.04.03
랜섬웨어에 대해서.  (54) 2022.03.30
DNS란?  (49) 2022.03.29

댓글