시스템개발수명주기 (System Development Life Cycle (SDLC))

경영학
한 줄 정의: 정보시스템을 계획, 분석, 설계, 구현, 테스트, 운영·유지보수의 단계로 순차 진행하며 개발하는 전통적 방법론으로, 폭포수모형이 대표적 형태다.

쉽게 풀면

정보시스템을 만들 때 계획-분석-설계-개발-테스트-운영 순서로 단계별로 차근차근 진행하는 개발 절차다.

왜 중요한가

시스템개발수명주기(SDLC)는 정보시스템을 기획, 분석, 설계, 구현, 시험, 운영, 유지보수 단계로 나눠 체계적으로 개발하는 표준적 방법론으로, 대규모 정보시스템 구축 프로젝트에서 각 단계의 산출물과 품질 검증 절차를 명확히 규정해 프로젝트 리스크를 관리하는 틀로 정보시스템 개발 실무에서 다뤄진다. 폭포수모델이 이 수명주기를 순차적으로 적용하는 전통적 접근으로 흔히 언급된다.

논문에서는 이렇게 쓰입니다

폭포수모형(waterfall model)은 각 단계를 순차적으로 완료한 뒤 다음 단계로 넘어가는 전통적 SDLC 방법론으로 요구사항 명확성이 높은 프로젝트에 적합하다.

요구분석 단계의 산출물(요구사항명세서)이 설계 단계의 입력이 되며, 각 단계 완료 시점에 검토와 승인 절차를 거쳐 다음 단계로 진행한다.

"해당 프로젝트는 시스템개발수명주기의 각 단계별 산출물을 문서화하며 폭포수모형으로 진행되었다."

단계별 산출물 관리를 통해 SDLC가 실제 개발 프로젝트에 적용되는 방식을 보여준다.

조금 더 깊게 보면

폭포수 방식의 SDLC는 초기 요구사항이 명확하지 않은 프로젝트에서는 후반 단계의 재작업으로 이어지기 쉬워, 이러한 한계를 보완하기 위해 프로토타이핑방법론이나 애자일 방법론 같은 반복적 접근이 대안으로 발전해 왔다. 프로토타이핑방법론이 SDLC의 요구사항 정의와 설계 단계에 반복적 접근을 적용하는 구체적 실행 방식이라면 SDLC는 그 전체 개발 단계를 규정하는 상위 프레임워크다. SDLC의 각 단계 전환 시점에 수행하는 검토와 승인 절차를 게이트라고 부르는데, 이 게이트를 형식적으로만 통과시키면 후속 단계에서 요구사항 결함이 뒤늦게 드러나는 재작업 비용이 커진다. 단계별 산출물을 문서로 남기는 관행 덕분에 담당자가 바뀌어도 프로젝트 이력을 추적할 수 있다는 것이 폭포수 방식의 실무적 장점으로 꼽힌다.

주의할 점

폭포수모형은 초기 요구사항 확정 이후 변경 대응이 어려워 요구사항이 불확실한 프로젝트에는 애자일 방법론이 대안으로 활용된다. 요구사항이 초기에 완전히 확정되기 어려운 프로젝트에 폭포수형 SDLC를 그대로 적용하면 후반부에 대규모 재설계가 필요해질 위험이 크다.

관련 용어