프로젝트

프로젝트는 다양한 정의가 있지만 핵심은 특정 제품(서비스)를 만들기 위해 일정한 기간을 정하고 수행하는 작업을 의미합니다.

프로젝트는 다음과 같은 특징이 있습니다.

  • 한시성
  • 유일성
  • 참여자의 일시성
  • 한정된 자원

프로젝트 관리

프로젝트가 사전에 기획되었던 대로 흘러가면 좋겠지만 실제로는 그렇지 못 한 경우가 많습니다. 개발자가 이직을 한다던가, 예상 기간보다 오버된다던가 등의 문제가 발생할 수 있습니다. 따라서 프로젝트 관리를 통해서 정해진 기간과 자원 내에서 프로젝트가 수행될 수 있도록 해야합니다.

일반적으로 프로젝트 관리는 다음과 같은 것들을 수행합니다.

  • 프로젝트에 필요한 기술, 기법, 도구를 배치한다.
  • 필요 자원을 계획하고 적기에 사용하도록 공급한다.
  • 인력을 적재적소에 배치한다.
  • 프로제긑의 진행 상황을 확인하고, 예정대로 진행되는지 관리한다.
  • 예상 외의 상황에 대비해 계획을 세우고, 대응책을 마련한다.

PMBOK(Project Management Body of Knowledge)는 프로젝트와 관련된 대표적인 문서로 표준으로 사요되고 있습니다.

PMBOK의 프로세스 그룹

PMBOK엘서는 프로세스를 5가지의 그룹(시작, 기획, 실행, 통제, 종료)로 나뉘어서 분류하고 있습니다.

시작 그룹 initiating

시작 그룹은 프로젝트/구성 단계를 정의하고 승인합니다.

기획 그룹 planning

기획 그룹은 프로젝트의 목표를 설정하고, 목표 달성을 위한 활동 계획과 예산, 인력, 자원 등의 계획을 수립합니다.

범위 기획, 범위 정의, 작업 정의, 작업 순서, 작업 기간 산정, 일정 개발, 위험 관리 기획, 자원 기획, 비용 산정, 비용 예산 수립, 프로젝트 계획 개발이 기획 그룹의 핵심 프로세스입니다.

실행 그룹 excuting

실행 그룹은 계획 실행으로 세운 계획에 따라 프로젝트를 수행합니다.

품질 보증, 팀 개발, 정보 배포, 제안, 공급자 선정, 계약 관리와 같은 보조 프로세스가 존재합니다.

통제 그룹 monitoring & contrilling

통제 그룹은 계획과 비교해 진척 상황을 주기적으로 확인하고 성과를 측정해 목표를 달성할 수 있도록 합니다.

종료 그룹 closing

종료 그룹은 진행한 프로젝트를 종결하는 프로세스입니다. 종료는 사용자의 인정을 받아야 종료가 됩니다.


형상 관리

형상 관리를 이해하기 전에 변경, 버전 관리에 대해 이해하면 형상 관리를 좀 더 쉽게 이해할 수 있습니다.

변경 관리

소프트웨어는 개발을 시작하는 순간부터 완성 이후 사용 중에도 끊임없이 변경이 발생합니다. 소프트웨어 에서 변경은 문서와 코드 DB, 테스트, 제품에 영향을 주기 때문에 변경을 제대로 관리하지 못한다면 소프트웨어 개발에 혼란을 줄 수 있습니다.

변경은 대부분 업무 환경 변화와 기술 환경 변화라는 요인이 있습니다.

업무 환경 변화는 고객의 요구사항 변경이 가장 대표적인 예입니다. 또는 시장 여건이 바뀌거나 계획/일정 변경이 포함됩니다. 그리고 기술 환경 변화에는 하드웨어 변경이나 운영체제 변경이 있습니다.

버전 관리

소프트웨어의 버전은 개발 단계를 번호로 표시한 것입니다. 보통 0.0.0의 형태로 나타냅니다. 버전에 대한 자세한 이야기는 이 포스트를 참조해주세요.

소프트웨어에서 버전 관리는 파일의 변경 이력이나 차이점을 관리해서 버전, 파일, 문서를 활용하는 것입니다.

형상 관리

소프트웨어의 형상 관리는 개발 중 발생하는 모든 산출물에 변경되면서 변해가는 형상을 체계적으로 관리하고 유지하는 기법입니다.

형상 관리를 이용하면 고품질의 소프트웨어를 제작하는데 도움을 줄 수 있습니다. 그리고 변경 상태에 대한 시각적 자료나 변경 이력에 대한 정보를 제공해줍니다.

형상 관리는 형상 식별, 형상 통제, 형상 상태 보고, 형상 감사의 절차로 이루어져 있습니다.

형상 식별

형상 식별은 형상 관리의 바탕이 되는 활동으로, 계획에 근거하여 형상 관리 대상을 찾는 활동입니다. 찾은 대상은 이름, 작성자, 생성일, 관계 등의 정보와 함께 저장하여 관리 대상으로 삼습니다.

형상 식별은 다시 형상 항목 선정, 형상 식별자 규칙 선정, 베이스라인 기준 선정의 작업으로 세분화 됩니다.

  • 형상 항목 선정
    어떤 항목을 관리 대상으로 할 지 정하는 작업입니다. 이 선정은 개발 프로세스, 프로젝트의 목적, 조직의 규칙 등에 따라 달라지게 됩니다.

  • 형상 식별자 규칙 선정
    형상 식별자는 어떤 프로젝트에서 사용되는 파일인지, 어떤 내용의 문서인지, 버전이 몇인지 등에 대한 정보를 팀원이 알아보기 쉽도록 이름을 정한 규칙입니다.

  • 베이스라인 기준 선정
    베이스라인은 개발 도중 특정 시점에 만들어진 산출물들의 집합을 의미합니다. 이를 이용해 특정 시점에 대한 산출물의 유지보수 등에 사용하게 되빈다.

형상 통제

요구사항의 변경은 빈번하게 발생하지만 모든 요구사항을 수용할 수는 없습니다. 이때 형상 목록의 변경 요구를 검토하고 승인해 개발 중인 소프트웨어에 반영될 수 있도록 하는 과정들을 형상 통제라고 합니다.

형상 통제는 다시 변경 요청, 변경 심사, 변경 실시, 변경 확인으로 세분화 됩니다.

  • 변경 요청
    변경이 발생하면 요청서를 작성해서 변경 관리자에게 제출합니다.

  • 변경 심사
    제출된 변경 요청서를 검토해 변경을 수용할 지 거절할 지 결정합니다. 수용되면 변경을 실시하고, 거절되면 사유와 함께 반려합니다.

  • 변경 실시
    변경이 수학되었다면 변경 작업을 수행합니다.

  • 변경 확인
    변경 이후 변경 이력과 함께 새로운 버전을 부여합니다. 그리고 변경 관리자는 변경 내역을 확인하고 승인합니다.

형상 상태 보고

베이스라인으로 설정될ㄴ 형상 항목의 구조와 변경 상태를 기록하고, 관련자들에게 보고하는 작업을 형상 상태 보고라고 합니다. 이때 보고하는 것은 베이스라인의 모든 변경에 대한 추적을 목적으로 보고합니다.

상위 관리자에게 형상 상태 보고서를 작성해서 제출하는데 그 내용은 다음과 같은 것들이 담겨있습니다.

  • 프로젝트에서의 변경 횟수
  • 최근 소프트웨어 버전, 릴리스 식별자, 릴리스 횟수, 릴리스 간의 비교 내용
  • 베이스라인 상태
  • 변경 제어 상태
  • 형상통제위원회 활동 내역

형상 감사

형상 감사는 계획서대로 형상 관리가 진행되고 있는지, 제대로 변경되었는 지에 대한 내용을 감사하는 활동입니다.

주로 다음과 같은 내용들을 감사합니다.

  • 승인된 변경 요청이 제대로 반영되었는가
  • 승인되지 않은 내용이 반영되었는가
  • 승인된 변경과 관련된 항목들이 갱신되었는가

형상 관리 담당자, 형상통제위원회

프로젝트 구성원들이 형상 관리와 관계가 있지만 그 중에서도 형상 관리 담당자와 형상통젱위원회가 형상 관리에 밀접하게 관련이 있습니다.

형상 관리 담당자

형상 관리 담당자는 프로젝트 관리자가 정의한 형상 관리 계획서에 따라 환경을 구축하고 형상 관리 활동을 수행합니다.

  • 형상 관리 계획서 작성 참여
  • 형상 관리 환경 구축 및 형상 관리 저장소 생성
  • 형상 관리 절차 개발 및 문서화
  • 베이스라인 설정
  • 형상 항목 식별 및 관리
  • 주기적으로 형상 상태 보고

형상통제위원회

형상통제위원회는 형상 항목 변경의 허가와 거절을 담당합니다. 그리고 변경에 대한 적절성 등을 판단하고 검증하며 통제를 통해 변경되도록 합니다.


유지보수

소프트웨어도 관련 패키지의 버전 변경, 결함 발견 등의 이유로 보완이 필요한 경우가 빈번하게 생깁니다. 이런 문제들을 해결하기 위해 고치는 것을 유지보수라고 합니다.

유지보수는 4 가지 항목으로 나뉘어집니다.

수정 유지보수

수정 유지보수는 사용중 발견된 오류를 해결하는 작업입니다. 테스트를 거치긴 하지만, 모든 경우에 대해 테스트를 실시할 수 없기 때문에 출시후 사용중에도 오류가 발생할 수 있습니다. 따라서 이러한 오류들을 고치는 것을 수정 유지보수라고 합니다.

적응 유지보수

적응 유지보수는 개발된 소프트웨어가 처음에 구동되던 환경에서 실행되다가 환경이 바뀌어도 정상적으로 실행될 수 있도록 해주는 것입니다.

기능 보강 유지보수

기능 보강 유지보수는 새로운 기능이 필요하거나, 기존 기능을 편리하게 바꾸고자 할 때 변경을 하는 유지보수입니다.

예방 유지보수

예방 유지보수는 미리 예상되는 문제에 대해 대비하고자 미리 수행하는 유지보수입니다.

0개의 댓글