타스크: 프로젝트의 개발 프로세스 사용자 조정
이 타스크는 프로젝트의 특정 요구를 충족하기 위해 개발 프로세스를 사용자 정의합니다.
원칙: 환경
목적

이 타스크의 목적은 다음과 같습니다.

  • 프로젝트의 특정 요구에 따라 소프트웨어 개발 프로세스 크기 조정.
  • 프로젝트 구성원이 효율적으로 우수한 품질로 작업하도록 충분한 해당 프로세스 안내 제공.
  • 프로젝트 구성원에게 액세스 가능한 관련 프로세스 설명 제공.
관계
역할기본 수행자: 추가 수행자:
입력필수: 선택사항:
  • 없음
출력
프로세스 사용법
단계
프로젝트 분석
목적:  문제점 이해 및 프로젝트에 사용 가능한 자원 확보

프로젝트의 성공을 위해서는 전달 프로세스가 프로젝트 준비 및 프로젝트의 크기와 형식에 적절해야 합니다. 프로세스의 수가 너무 많으면 창의성, 효과 및 효율성을 저해하는 경향이 있습니다. 프로세스의 수가 너무 적으면 환경의 혼란을 초래하여 일반적으로 개별 프로젝트 구성원의 개별 결정을 가져오고 비효율적이고 일관성이 없으며 예측 불가능한 결과를 가져올 수 있습니다.

사용자 조정 노력의 범위 정의
목적:  프로젝트 특정 프로세스에서 다룰 프로세스 영역 정의

유사한 소프트웨어 개발 프로젝트의 경험 및 프로젝트 자원을 분석한 결과는 사용자 조정 노력의 범위를 식별하는 데 도움이 됩니다. 프로젝트 특정 프로세스는 RUP의 모든 원칙을 포함할 필요가 없으며 RUP에 정의된 모든 역할을 포함하지 않아도 됩니다. RUP는 광범위한 프로젝트 유형에 적합한 프로세스 프레임워크이므로 특정한 단일 프로젝트에서 이를 모두 따를 수는 없습니다. 프로젝트의 프로세스에서 다루고자 선택하는 영역은 프로젝트 구성원의 기존 스킬 세트 및 수행하는 프로젝트의 특성에 따라 크게 달라집니다. 사용자 조정 노력의 범위 정의 시 필요한 전형적인 고려사항 중 일부가 아래에 설명됩니다.

  • 프로젝트 구성원이 이미 공통 작업 방법을 수립하여 새로운 프로세스 및 도구의 도입이 필요하지 않은 영역. 예를 들어 프로젝트 구성원이 이미 테스트 수행 방법을 알고 있는 경우 RUP의 테스트 원칙을 도입하지 않음으로써 새로운 요소의 수를 제한하는 것이 좋을 수 있습니다. 기존 프로세스의 문제점을 정정하기 위해 RUP의 일부 파트를 도입하는 데 초점을 맞출 수 있습니다. 세부사항은 개념: 프로젝트의 프로세스 구현, 프로세스 및 도구 개선 섹션을 참조하십시오. 
  • 기존의 작업 방법이 없어 새로운 프로세스와 도구를 도입해야 하는 프로젝트 영역(원칙). 참고할 기존 프로세스와 도구가 없는 몇몇 경우에는 지원 도구와 함께 대부분의 RUP를 도입해야 합니다. 세부사항은 개념: 프로젝트의 프로세스 구현, 전체 변경 섹션을 참조하십시오. 
  • 기존 프로세스의 문제점. 조직에서 문제점이 있었던 영역을 개선하는 데 초점을 맞추십시오.
  • 사용할 도구. 프로젝트에서 사용할 특정 도구를 결정한 경우, 개발 프로세스는 보통 RUP의 해당 영역을 포함해야 합니다.
  • 프로젝트에서 수용할 수 있는 변경 정도. 조직의 문제점을 조사하는 경우 모든 문제점을 동시에 수정하려는 경향이 있습니다(특히 여러 문제점이 동시에 발생하는 경우). 이는 심각한 함정이 됩니다. 개인과 마찬가지로, 조직은 제한된 범위의 변경사항만을 수용할 수 있습니다. 변경할 용량이 적은 경우 변경의 속도를 늦추어야 하며 첫 번째 프로젝트에 RUP의 한두 가지 원칙만을 도입하는 데 그쳐야 할 수 있습니다.
  • 프로젝트 구성원의 지식이 없거나 부족한 영역. 개발 프로세스에서 해당 영역을 다루도록 하십시오. RUP에서 올바른 정보를 쉽게 찾을 수 있도록 하십시오.

사용자 조정 노력의 범위 정의에 대한 자세한 정보는 가이드라인: RUP 사용자 조정을 참조하십시오. 

프로젝트에 필요한 프로세스를 사용자 정의하는 방법에 영향을 미치는 요소에 대한 설명은 가이드라인: 프로세스 판별을 참조하십시오.

식별된 개선 영역이 반드시 동일한 프로젝트에서 처음으로 도입되어야 하는 것은 아닙니다. 알려지지 않은 요소의 수를 줄이고 개발 조직이 전에 가장 어려움을 겪었던 영역을 조사하십시오. 개념: 프로젝트의 프로세스 구현에서 설명된 대로 반복적으로 RUP를 구현하는 것이 좋습니다. 소규모 프로젝트의 경우 예제: 소규모 프로젝트의 RUP 채택에서도 가이드라인을 찾을 수 있습니다.

여러 원칙에서 개선의 필요성을 발견했더라도 모두 한꺼번에 변경하는 접근 방식을 목적으로 하기 보다는 여러 프로젝트의 과정을 거치면서 반복적으로 개선사항을 도입하는 것을 고려하십시오. 이러한 절충의 일례로 이전 프로젝트가 명확하지 않거나 충분하지 않은 요구사항으로 인해 어려움이 있었거나, 전달된 제품이 사용자의 요구를 충족하지 못한 것이 사용자의 주요 불만사항이었던 경우 유스 케이스로 요구사항을 도입하고 새로운 CM 프로세스의 도입을 늦추는 것을 들 수 있습니다.

절충 및 결과 범위는 외부 이해 당사자(stakeholder)와 범위 결정을 커뮤니케이션하기 위해 프로세스의 일부로서 문서화되어야 합니다.

프로젝트 특정 컨텐츠 개발
목적:  RUP 프로세스 프레임워크의 적용 범위가 프로젝트에 충분하지 않다고 판단되는 영역에서 추가적인 "프로세스 노하우" 작성

RUP 메소드 프레임워크는 UML 기반의 메타 모델을 사용하여 정의한 프로세스 모델에서 가장 잘 드러납니다. RUP 메소드 프레임워크는 "UMA(Unified Method Architecture)"라고 하는 메타 모델을 기반으로 합니다. UMA의 기본은 개념: UMA(Unified Method Architecture) 의 핵심 기능을 참조하십시오. 

역할, 타스크 및/또는 중간 산출물을 추가하여 RUP 프레임워크를 확장하거나, 프로젝트 특정 안내를 기존 RUP 프레임워크에 추가할 수 있습니다.  

프로젝트 특정 프로세스의 일부로서, 프로젝트 아티팩트 작성에 대한 참조 자료 및 특정 도움말을 제공하기 위해 사용 가능한 일련의 사용자 조정된 자원이 필요합니다. 해당 자원의 예제는 다음과 같습니다.

  • 특정 아티팩트 작성 방법에 대한 공통 가이드라인.
  • 여러 프로젝트에 걸쳐 사용되는 사용자 정의된 템플리트. 이는 프로젝트 정보를 사용하여 부분적으로 인스턴스화됩니다.
  • 프로젝트의 정의된 인도물 세트 및 선택된 기술에 해당하는 아티팩트 예제.
  • 디자인 패턴 및 코드 라이브러리와 같은 재사용가능한 자산.

프로젝트 착수 시점에서 프로젝트 관리자는 일반적으로 프로세스 엔지니어와 함께 작업하여 적절한 자원 세트를 선택하고, 프로젝트 구성원이 프로젝트 특정 프로세스의 일부로 해당 자원 세트를 사용할 수 있도록 합니다. 추가 자원의 필요성은 각 반복의 시작 시 재검토됩니다.

프로세스 구성
목적:  프로젝트의 정확한 요구를 지원하기 위해 프로세스의 크기 조정

프로세스 구성은 프로세스에 포함될 메소드 컨텐츠(중간 산출물, 작업, 역할 등)를 선택하는 것과 관련이 있습니다. 각 원칙에 포함할 메소드 요소에 대한 특정 권장사항은 각 RUP 원칙에 대해 제공되는 "<원칙 이름>의 중요한 결정" 가이드라인을 참조하십시오. 주어진 프로젝트에 대해 올바른 메소드 컨텐츠 세트를 선택하는 것은 결코 사소한 타스크가 아닙니다. 효과적인 프로세스가 되기 위해 프로세스는 예를 들어 프로젝트 크기(자원 및 달력 시간), 형식, 기술적 플랫폼, 도메인 등 각기 다른 차원에서 적절하며 올바른 크기로 조정되어야 합니다.

개별 중간 산출물의 중요성 및 사용 여부를 설명하는 분류 계획에 대한 정보는 가이드라인:중간 산출물 분류를 참조하십시오.

프로젝트의 라이프사이클 모델 정의
목적:  프로젝트의 라이프사이클 모델 정의

프로젝트 프로세스 사용자 조정의 중요한 파트는 프로젝트에서 준수할 라이프사이클 모델을 결정하는 것입니다(단계와 반복으로의 작업분류 포함). 사용자 조정 작업의 이 파트 동안, 선택한 라이프사이클 모델이 프로젝트 계획 프로세스의 토대를 이루기 때문에 프로세스 엔지니어는 프로젝트 관리자와 밀접하게 협업해야 합니다. 프로젝트 특성에 따라 RUP 라이프사이클을 조정하여 특정 요구를 더 잘 충족하도록 해야 합니다. 예를 들어 미개발 영역 개발에서는 프로젝트 유지보수보다 도입/인식(Inception)에 더 많은 노력이 필요합니다. 따라서 라이프사이클 설명은 프로젝트 특성에 따라 조정되어야 합니다. 라이프사이클 모델의 다양한 유형에 대한 논의는 개념: 반복을 참조하십시오.

전체 라이프사이클 모델 선택 이외에도, 사용자 조정 노력에 포함된 각각의 원칙에 연관된 워크플로우 수행 방법과 프로젝트 라이프사이클에서 원칙 워크플로우의 각 파트를 도입하는 시기를 결정해야 합니다. 워크플로우 수행 방법 결정은 수행할 활동 및 순서 지정에 연관됩니다. 워크플로우의 각 파트 수행 시기 결정은 라이프사이클에서 선택한 활동을 도입하는 시기(예: 단계) 결정에 연관됩니다. 각 RUP 원칙 워크플로우 사용자 조정 방법에 대한 자세한 정보는 각 RUP 원칙에 제공되는 참조 워크플로우용 사용법 노트를 참조하십시오.

지금 지정하려는 추가 정보는 라이프사이클의 다양한 위치에 있는 중간 산출물의 타이밍 및 형식성 요구사항입니다. 예를 들어, 중간 산출물이 작성 및/또는 갱신되는 단계 및 필요한 중간 산출물 형식성(예: 고객의 사인오프 필요 여부)이 있습니다.

프로젝트 구성원에게 프로세스 제공
목적:  프로젝트 구성원에게 프로젝트 특정 프로세스 제공

초기 사용자 조정 작업이 완료된 후, 결과 프로세스는 이용할 수 있는 형식으로 프로젝트 팀에게 제공되어야 합니다.

한 방법으로, 조직의 네트워크에 있는 웹 서버 또는 각 개별 팀 구성원 컴퓨터에 설치되는 웹 사이트를 통해 프로세스를 사용할 수도 있습니다. 프로젝트 구성원이 작업 시간 대부분을 네트워크에 연결하는 경우 프로젝트 라이프사이클 동안 프로세스 갱신과 연관된 오버헤드를 막기 위해 웹 서버로 배치하는 것이 좋습니다.

프로세스 유지보수

사용자 조정 작업 대부분이 프로젝트 초반에 완료되지만 프로젝트 팀은 프로세스의 장애물 및 기타 문제를 계속 발견하기 때문에 지속적으로 최신으로 유지해야 합니다. 프로세스가 전개되면서 프로세스 자체에서 교훈을 얻고, 이를 엔지니어가 피드백으로 사용하여 프로세스를 개선합니다. 프로젝트 중의 평가도 프로세스 개선에 중요한 입력이 됩니다. 

소규모의 조정은 일반적으로 프로젝트에서 처리되고 프로젝트 특정 프로세스 갱신은 이후 반복 개발 환경 준비의 일부로 작성됩니다. 이런 유형의 프로세스 개선은 프로세스 특정 프로세스에 대한 갱신으로 이어집니다(예: 중간 산출물 템플리트 및 가이드라인 정제). 더 복잡한 문제는 프로세스 변경 요청으로 제기됩니다. 

반복 개발의 주요 이점 중 하나는 프로젝트 팀이 소프트웨어 개발을 점진적으로 개선하는 것입니다. 모든 프로젝트에 다음 단계로 구성된 프로세스 엔지니어링 미소(micro) 주기를 포함하도록 권장합니다.

  • 프로세스 정의
  • 정의된 프로세스를 기반으로 프로젝트 작업 수행
  • 작업 평가
  • 프로세스 정제


예시
핵심 고려사항

수행되는 사용자 조정의 레벨과 관계없이, 사용자 조정 노력의 결과 및 근거(가능한 경우)를 캡처해야 합니다. 또한 사용자 조정 중인 프로세스를 다시 사용자 조정하려는 경우에는(예: 전체 조직을 대상으로 프로세스를 사용자 조정 중이며 결과적인 조직 프로세스를 각 프로젝트의 필요에 따라 사용자 조정하려는 경우) 사용자 조정된 개발 프로세스를 다시 사용자 조정하는 방법에 대한 가이드라인을 개발해야 합니다. 이러한 사용자 조정 결정 및 권장사항은 별도의 문서 또는 개발 프로세스의 구성 파트로 캡처할 수 있습니다. 사용자 조정 레벨에 대한 자세한 정보는 개념: RUP 사용자 조정을 참조하십시오.

소프트웨어 개발 계획 및 조직은 개발 프로세스에 중대한 영향을 미치며 그 반대의 경우도 마찬가지입니다. 프로세스 사용자 조정은 프로젝트 계획의 개발과 통합되어야 합니다. 예를 들어 프로젝트가 Rational Unified Process(RUP)와 다른 단계를 사용하기로 결정한 경우 이를 사용자 조정된 개발 프로세스에서 캡처해야 합니다. 또한 일단 개발 프로세스가 사용자 조정되면, 반드시 규정 가능한 프로젝트 계획으로 인스턴스화되어야 합니다. 프로젝트 계획에 대한 자세한 정보는 타스크: 단계 및 반복 계획 및 타스크: 반복 계획 개발을 참조하십시오.


프로세스 사용자 조정 시 전체 프로세스를 동시에 사용자 조정하지 않는 것이 좋습니다. 대신 다음 프로젝트에 적용할 원칙에 초점을 맞추십시오. 프로세스 구현에 대한 반복적 접근 방식에 관한 자세한 정보는 개념: 프로젝트의 프로세스 구현을 참조하십시오.  

대체
RUP에는 여러 가지의 서로 다른 사용자 조정 레벨이 있습니다. 자세한 정보는 개념: RUP 사용자 조정을 참조하십시오.
자세한 정보