공부/소프트웨어 공학

Software Engineering: Plan-driven development & Project Plans

rlacofls294 2025. 4. 20. 03:39

계획 기반 개발

 

  • 계획 기반 개발은 전체 개발 과정을 상세하게 사전 계획하는 방식.
  • 전통적인 엔지니어링 프로젝트 관리 방식에 기반을 둔 소프트웨어 개발 접근법.
  • 프로젝트 계획서에 무엇을 누가 언제 할지, 산출물 등 상세하게 기록.
  • 관리자는 계획서를 기반으로 의사결정과 진척도 측정을 수행함.

=> 워터폴 방식이 해당함!

 

장단점

1. 장점:

  • 초기에 조직 자원(인력, 병행 프로젝트 등) 고려 가능
  • 프로젝트 시작 전에 문제점이나 의존 관계를 미리 파악할 수 있음

2. 단점:

  • 초기 계획에서 많은 결정을 해야 하는데, 프로젝트 환경이 바뀌면 그 계획 대부분을 수정해야 하는 부담 발생

=> 안정적이나, 유연성이 떨어짐

 


Project plans

- 계획 기반 개발에 들어가야 할 내용

Introduction 프로젝트 개요 및 목적 설명
Project organization 프로젝트 팀 구성 및 역할 정의
Risk analysis 발생 가능한 위험 요소 분석
HW/SW 자원 요구사항 필요한 하드웨어/소프트웨어 자원 목록
Work breakdown 작업 분할 구조 (WBS 등)
Project schedule 일정 계획 (타임라인 등)
Monitoring/reporting mechanisms 진행 상황을 어떻게 점검하고 보고할지

 

=> 한번에 끝내는 것이 아님! 반복적으로 수정이 필요함

 

그래서!

계획을 세울 땐, 현실적인 가정을 세워야 함. 너무 낙관적으로 가정하면 위험!

-> 프로젝트에는 항상 문제가 발생함.

=> 따라서 예상치 못한 문제를 반영한 일정 여유(contingency)를 포함해야 함.