[SE] 프로젝트 관리

2025. 3. 22. 00:23·Softeware engineering

 
프로젝트
 - 특정 기간 내, 특정 목적을 위해 하는 일련의 행위
 - 일상 생활과는 구분되는 유일한 제품이나 서비스를 만들기 위해 수행되어야 할 일시적인 행동
 
프로젝트의 성공 vs 실패
 
(1) 어떤 프로젝트가 성공?
 - 실현 가능한 구체적 계획
 - 명확한 기술 사항
 - 원활하고 체계적인 의사소통
 - 효과적인 팀워크
 - 정교한 비용 및 일정 제어
 - 신속한 의사결정
 
 
(2) 어떤 프로젝트가 실패?
 - 프로젝트의 수행에 필요한 지식이 없거나,
 - 프로젝트를 효과적으로 수행하고자 하는 의지가 없어서
 
 
프로젝트의 성공 요소 : 일정(Time), 비용(Cost), 품질(Quality)
 
국내 프로젝트의 현실
 - 명확하지 않은 요구사항과 잦은 변경
 - 프로세스와 방법론의 부재로 일정 지연 및 비용 초과
 - 열약한 개발자 처우
 
소프트웨어 프로젝트 : 발주자(고객)가 요구사항을 제공하면, 수주자(개발자)가 요구사항에 맞는 SW를 개발하는 프로젝트
 - 발주자는 개발을 의뢰하는 조직 또는 개인, 수주자는 의뢰를 받는 조직 또는 개인이다.
 - 발주자는 (1) SW제품을 구상하고 가치를 검증, (2) 투자 대비 효과를 예측, 사업 영향 파악, (3) 요구사항들을 정의
 - 발주자(고객)는 소프트웨어 제안 요청서 (RFP:Request for Proposal) 배포
   (프로젝트 명, 프로젝트 목적, 프로젝트 결과물, 프로젝트 내용, 기간, 비용, 일정 등)
 - 개발 회사들(수주자)은 발주자에게 제안서 제출
 - 입찰 → 제안서 심사(수주자 선정) → 계약서 작성(계약 체결, 총무팀) → 프로젝트 시행 및 수행 →  프로젝트 종료 및 제품 인도
 
 
프로젝트 관리 : 요구사항을 만족시키기 위해 지식, 기술, 도구 및 방법을 프로젝트 활동에 적용하는 것

 
 
 - PMBOK(Project Management Body of Knowledge) : 국제 프로젝트 관리 협회(PMI)에서 발행, 배포한 관리 지침서
 - 프로젝트 관리 대상 : 고객, 참여자, 관리자, 비용, 기간, 기술, 목표
 - PMBOK의 프로젝트 관리 영역
   통합 관리, 범위 관리, 일정 관리, 비용 관리, 품질 관리, 인적자원 관리, 의사소통 관리, 위험 관리, 조달 관리
 
 
참조 모델
CMM 등장 배경
 - 프로젝트의 실패 원인은 프로젝트 관리의 문제
 - SEI(카네기멜론 대학, 소프트웨어 공학 전문연구소)에서 개발 조직 프로세스의 성숙도에 따라 점진적 개선을 제시하는
   SW-CMM(Software Capability Maturity Model, 조직 능력 성숙도 모델)을 개발
 - 성숙도가 높은 조직이 낮은 조직보다 높은 품질의 SW를 생산할 수 있음
CMMI의 등장 배경
 - 모델들을 통합, 정리하여 ISO15504와 호환 가능한 통합 모델인 CMMI(Capabiliry Maturity Model Integration) 발표
 
성숙도 낮은 조직 
 - 프로세스 즉흥적으로 만들어짐
 - 그때 그때 발생하는 문제 해결에만 관심
 - 일정과 비용이 항상 초과
 - 일정을 맞추기 위해 기능과 품질을 희생
 - 품질 평가 위한 객관적 근거가 없다
 
성숙도 높은 조직
 - 제도화된 프로세스가 준수된다
 - 프로세스가 구성원들에게 정확하게 전달됨
 - 작업이 프로세스에 따라서 수행되고, 역할과 책임이 명확하다
 - 제품의 품질과 고객의 만족도를 측정한다
 - 품질 평가 및 문제 분석에 객관적 정량적 근거가 존재
 - 프로세스 지원 기반 구조가 존재
 
CMMI 모델 표현
(1) 단계적 표현(Staged Representation) : ML5, ML4, ML3, ML2, ML1
 - 전반적인 수준을 나타냄 (레벨 별로 준수해야 하는 수준이 존재한다)
 - ML = Maturity Level
(2) 연속적 표현(Continuous Representation) 
 - 해당 조직의 개별 활동의 수준, 각 PA별 Capability
 - PA = Process Area (개별 활동)
 
CMMI 5단계 프로세스 성숙도

 
Level 1: 초기(Initial)
 - 통제되지 못하며, 경험 많은 관리자나 뛰어난 개발자에 의해 성공이 좌우
 - 능력은 조직이 아닌 개인의 특성
Level2: 관리(Managed)
 - SW의 크기, 비용, 일정, 자원, 위험, 기능을 추적할 수 있는 단계
 - 중간 산출물 통제 가능
 - 새로운 프로젝트 계획 및 관리가 이전에 성공한 프로젝트에 근거하여 이루어짐
 - 유사한 응용 분야에서 성공 반복 가능
Level3: 정의(Defined)
 - 조직 전체 문서화, 통합
 - 프로세스 활동에 대한 책임이 있는 팀(EPG: Engineering Process Group)이 구성
 - 각 프로젝트는 조직의 표준 프로세스를 기반으로 함
Level4: 정량적 관리(Quantitatively Managed)
 - 계량적인 품질 목표가 설정됨
 - 모든 활동에 대한 생산성과 품질일 측정됨
 - 성과의 변동을 계량적인 범위 내로 최소화하여 통제 수행
Level5: 최적화(Optimizing)
 - 지속적인 프로세스 개선 
 - 프로세스에 대해 비용/효과 분석
 - 얻어진 교훈이 전 조직에 확산
 
 
ISO 12207 (국제 표준 문서)
 - 개발을 위한 일관적이고 체계적인 프레임워크 제공하는 프로세스 표준화 모형
 - 기본 프로세스(Primary Process): 주요 프로세스들 (획득, 공급, 개발, 운영, 유지보수)
 - 지원 프로세스(Supporting Process): 기본 프로세스 보조 역할 프로세스 (문서, 품질 보증, 감사, 문제해결)
 - 조직 프로세스(Organizing Process): 전 생명 주기에 걸쳐 프로젝트 관리하는 프로세스 (기반구조 개선, 인력훈련)
 

'Softeware engineering' 카테고리의 다른 글
  • [SE] 소프트웨어 요구사항 분석 #2
  • [SE] 소프트웨어 요구사항 분석 #1
  • [SE] 소프트웨어 프로젝트 계획
  • [SE] 소프트웨어 프로세스
vysryoo
vysryoo
  • vysryoo
    vysryoo
    vysryoo
  • 전체
    오늘
    어제
    • 분류 전체보기 (129)
      • Python (20)
      • Data structure (12)
      • Algorithm (14)
      • Operating system (18)
      • Programming language theory (12)
      • Computer architecture (6)
      • Softeware engineering (8)
      • Multicore (2)
      • Data Base (3)
      • Problem solving (24)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
vysryoo
[SE] 프로젝트 관리
상단으로

티스토리툴바