공부/소프트웨어 공학
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)를 포함해야 함.