- 정의
- 소프트웨어를 생산하는 과정
- 성공 비법
- 성공 = 뛰어난 개발자의 역량 + 협업
- 협업을 통해 프로젝트 생존을 하고, 개발자의 역량을 통해 성공할 수 있다.
- 생존 비법
- 프로젝트 생존 : 프로젝트가 취소 및 해체되지 않는 것
- 문명화된 방식(civilized way)으로 소프트웨어 프로젝트 관리가 되어야 생존이 가능
- 문명화된 방식(civilized way) : 서로의 권리를 존중하는 것
- 잘 정의된 개발 프로세스는 상류(upstream) 활동에 많은 투자를 진행
- 상류(upstream) : 기획/요구사항 분석/설계 단계
- 특징
- 데모가 불가능하여 invisible 한 상태 --> 잦은 review 를 통해 visible 화 필요
- 버그 생성의 약 80% 원인
- 상류 단계에서 문제 발생 시 '단계 내 봉쇄'를 통해 프로젝트 초기에 문제를 근본적으로 제거
- 단계 내 봉쇄 : 결함이 생긴 단계에서 바로 수정하여 다음 단계에 영향을 끼치지 않도록 하는 것
- 특징
- 하류(downstream) : 구현/테스트/유지보수
- 특징
- 데모가 가능하여 visible 한 상태
- 버그 생성의 약 20% 원인
- 영향을 끼치는 범위가 상류보다 더 광범위하여 결함 정정 비용이 많이 듬.
- 특징
- 불확실성의 고깔
- 상류일수록 불확실성이 높아지기 때문에 노력을 가해야 함
- 거시적 차원에서 결정을 내리고 다시 세세한 결정을 내려야 함
- 상류(upstream) : 기획/요구사항 분석/설계 단계
참고
- 스티브 맥코넬 저, 『소프트웨어 프로젝트 생존전략』
반응형
'소프트웨어공학' 카테고리의 다른 글
[소프트웨어 프로젝트 관리] 프로젝트 단계 (0) | 2022.10.30 |
---|---|
[소프트웨어 프로젝트 관리] 프로젝트 가시성 (0) | 2022.10.30 |
[요구사항분석론] Requirement Engineering (요구공학) (0) | 2022.04.20 |
[요구사항분석론] Requirement Management (0) | 2022.04.20 |
[소프트웨어공학] 소프트웨어공학(Software Engineering) (0) | 2022.04.18 |