본문 바로가기

소프트웨어공학

[소프트웨어 프로젝트 관리] 소프트웨어 프로젝트

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

불확실성 고깔

 

 

 

참고

- 스티브 맥코넬 저, 프트웨어 프로젝트 생존전략

반응형