애자일과 폭포수

김민중·2024년 7월 12일
0

소프트웨어 개발 방법론

웹 페이지, 서버, 모바일 앱등 세상에는 다양한 다양한 소프트웨어가 있다. 그리고 이러한 소프트웨어를 개발하기 위한 다양한 방법론이 있다. 그 중에서 폭포수, 애자일 개발론을 살펴볼것이다.

폭포수 방법론

폭포수는 위에서부터 밑으로 내려온다. 밑에서 부터 위로 갈 수 없으며 무조건 위에서 부터 밑으로 간다.
즉, 순차적이다.

그리고 밑에서 위로 갈 수 없다.
즉, 이전 단계로 돌아갈 수 없다.

폭포수 모델은 각 단계가 이전 단계의 결과에 기반을 두고 순차적으로 진행된다.

내가 생각한 폭포수 모델 방법론의 장단점은 다음과 같다

장점

  • 프로젝트 관리가 용이
    • 순차적으로 산출물이 나오기 때문

단점

  • 계속해서 이해관계자와 소통을 해야하기에 개발팀 피로도가 상승할 수 있음
  • 개발/테스트에서 기획적으로 잘못된 결함이 발견된다면 치명적

사용하기 좋은 경우

  • 고객의 요구사항 변경 가능성이 적은 경우
  • 투입되는 인력이 많은 경우 즉, 프로젝트 규모가 큰 경우
    • 요구사항이 명확하다.

애자일 방법론

애자일은 "민첩한"이라는 뜻이다. 먼가 빠르게 한다는 느낌이 든다.

애자일은 스프린트를 반복하며 진행한다.

위 사진을 보면 소프트웨어를 조각으로 잘게 쪼개서 각 조각마다 "스프린트"라는 하나의 주기를 만들어 반복하는 것이다.

내가 생각한 애자일 방법론의 장단점은 다음과 같다.

장점

  • 요구사항 변경에 빠르게 대응
    • 소프트웨어 조각마다 스프린트를 계속 돌기 때문
  • 소프트웨어 퀄리티 상승
    • 고객의 요구사항 변경에 대응을 빠르게 하기 때문

단점

  • 이전 단계로 돌아가는 비용이 큼
  • 요구사항이 명확한 경우 오히려 생산성이 떨어질 수 있음

사용하기 좋은 경우

  • 고객의 요구사항 변경 가능성이 많은 경우
  • 시장의 변화가 빠른 경우

결론

애자일은 소프트웨어를 기능별로 나누고 스프린트를 나눈다. 그리고 스프린트에서 워터풀에서 수행되는 전체 과정을 수행한다. 즉, 워터풀은 소프트웨어 자체를 계획 → 요구분석 → 설계 → 구현 → 테스트 → 유지보수를 진행하고 애자일은 소프트웨어를 스프린트 단위로 나누어 스프린트 마다 계획 → 요구분석 → 설계 → 구현 → 테스트 → 유지보수를 진행하는 것이다.

정리하자면 폭포수 모델은 소프트웨어 통째로 진행하고 애자일 모델은 소프트웨어를 조각으로 나눈다음에 조각별로 진행을 하는 것이다.

애자일 방법론과 워터폰 방법론 중 정답은 없다. 팀의 상황에 맞게 적합한 방법을 고르는 것이 팀에 어울리는 방법론이며 가장 중요하다. :)

profile
개발블로그

0개의 댓글