폭포수 모델

하이솝·2026년 3월 3일

소프트웨어공학

목록 보기
2/17

01. SDLC(Software Development Life Cycle)

소프트웨어 개발 생명 주기

  • 기획부터 유지보수까지의 전 과정
  • 체계적인 개발을 위한 표준적인 절차
  • 즉, 소프트웨어를 어떻게 만들고, 어떻게 관리할 것인가를 정리한 틀

02. 폭포수 모델

진행 과정

장점과 한계


장점

  • 유지보수나 인수인계 관점에서 특히 강점을 가지는 방식
  • 일정과 예산 관리가 중요한 프로젝트에 적합함
  • 요구사항이 명확한 프로젝트에 적합하여 공공기관 시스템이나 규격이 정해진 프로그램 개발에 잘 어울림

계획과 문서 중심의 안정적인 개발 방식이며, 구조화된 환경에서는 여전히 의미 있는 모델

한계

  • 개발 초기에 모든 요구사항을 정의하고 그 내용을 기준으로 전체 개발을 진행하는 구조이기 때문에 요구사항 변경에 매우 취약함
  • 전 단계에서 잘못 설계한 경우 구현이 끝날 경우에 코드 뿐만 아니라 설계 문서까지도 모두 수정해야 함
    하나의 실수가 전체의 공정을 다시 하게 만듦
  • 테스트가 후반에 집중되어 오류 발견이 늦음

요구사항이 자주 바뀌며, 빠른 출시가 중요하고, 사용자 반응을 보고 개선하는 방식의 현대 개발과 잘 맞지 않는다

03. Process Paradox

실패를 막기 위해 프로세스를 더 많이 추가할수록, 오히려 프로젝트가 실패할 가능성이 커짐

이 현상을 시작으로 여러 가지 문제가 연쇄적으로 발생하게 됨

Illusion of Predictability
복잡한 소프트웨어 개발을
문서와 계획만으로 정확히 예측할 수 있다고 믿는 착각

Weight of Documentation
소프트웨어 개발에서 문서가 점점 많아지고 무거워지면서 개발 자체보다 문서 관리가 더 큰 부담이 되는 현상

Bureaucracy Trap
조직이 프로젝트의 성공보다 절차를 지키는 것 자체에 목적화하게 되는 현상

Innovation Paradox
존 비즈니스 모델을 위협할 수 있는 완전히 새로운 아이디어나 혁신적인 시도는 오히려 무시당하거나 제거되기 쉬운 현상

프로세스보다 사람이 더 중요하다

0개의 댓글