다음을 통해 공유


제품 계획에 따라 요구 사항 설정

고객 요구 사항을 충분히 분석하여 제품에 필요한 기능을 파악한 후에는 제품 구현 계획을 세워야 합니다. 기존 제품일 경우에는 누락된 기능을 확인하고 제품을 변경하기 위한 계획을 세워야 합니다. 그러나 요구 사항이 확정되었다고 계획이 자동으로 준비되는 것은 아닙니다.

이 항목에서는 요구 사항 집합부터 시작하여 계획을 세우는 방법을 간략히 설명합니다. 여기에서 설명하는 방법은 Visual Studio에서 사용할 수 있는 다양한 방법 중 하나일 뿐으로, 사용자의 필요에 맞게 방법을 조정해야 합니다.

항목 내용

요구 사항 및 기능

시나리오 분해

반복에 리프 시나리오 할당

기능 - 각 반복에서 달성되는 요구 사항

서비스 품질 기능

제품 계획

반복 계획

요구 사항 및 기능

이 방법에는 고객 요구 사항과 기능이라는 두 가지 종류의 요구 사항이 있습니다. 고객 요구 사항은 고객이 제품에서 원하는 사항을 분석하여 얻은 결과입니다. 기능은 제품 계획의 항목으로, 고객 요구 사항의 작은 하위 집합에 해당합니다. 각 기능에는 사용자 경험의 여러 부분과 여러 기능 영역에서 얻은 고객 요구 사항이 포함될 수 있습니다.

고객 요구 사항

  • 고객 요구 사항은 예상 사용자 및 기타 관련자와의 토론을 거쳐 결정됩니다.

  • 이러한 요구 사항을 쉽게 분석하려면 일반적으로 스토리보드와 모델을 만들고 시나리오를 보다 작은 여러 단계로 분해하여 트리를 구성합니다. 사용 사례 및 활동과 같은 모델링 요소를 시나리오 작업 항목에 연결할 수 있습니다.

  • 고객 요구 사항에는 다음과 같은 두 가지 종류가 있습니다.

    • 사용 사례라고도 하는 시나리오는 특정 목표를 달성하기 위해 사용자와 제품 간에 이루어지는 일련의 상호 작용을 나타냅니다. 시나리오에는 "사용자가 책을 구입합니다."와 같은 제목을 사용할 수 있습니다.

    • 서비스 품질 요구 사항에는 성능, 보안, 효용성 및 기타 기준이 포함됩니다.

  • 이러한 요구 사항은 요구 사항 유형 필드가 시나리오 또는 서비스 품질로 설정된 요구 사항 유형의 작업 항목으로 나타낼 수 있습니다.

  • 이러한 요구 사항 작업 항목을 시스템 테스트에 연결하여 모든 요구 사항이 테스트되도록 할 수 있습니다.

  • 이러한 요구 사항 작업 항목을 나열하려면 고객 요구 사항 쿼리를 사용합니다.

  • 충족된 요구 사항을 모니터링하려면 요구 사항 진행률 보고서를 사용합니다.

자세한 내용은 개발 요구 사항, 팀 쿼리(CMMI), 요구 사항 진행률 보고서(CMMI)요구 사항 또는 사용자 스토리를 사용하여 테스트 계획 만들기를 참조하십시오.

기능

  • 기능은 작업 그룹을 나타내는 제품 계획의 항목입니다. 제품 계획 시 개발 팀의 담당자와 관련자는 반복에 기능을 할당합니다. 자세한 내용은 프로젝트 계획(CMMI)을 참조하십시오.

  • 기능은 요구 사항 유형 필드가 기능으로 설정된 요구 사항 작업 항목으로 입력합니다.

  • 기능의 제목에는 사용자가 이전 반복에서는 수행할 수 없었으며 해당 제품을 사용하여 수행할 수 있게 될 작업을 사용자에게 친숙한 용어로 명시합니다. 사용자에게 중요한 새로운 가치를 전달하지 않는 계획에는 항목이 없거나 극히 소수만 있습니다.

    예를 들어 다음과 같은 일련의 기능은 구현 계획을 형성할 수 있습니다.

    • "구매자가 목록에서 책을 선택하고 이를 희망 목록에 추가할 수 있습니다."

    • "도서 목록에 금액이 표시되고, 희망 목록에 총 금액이 표시됩니다."

    • "공급업체가 책에 태그를 연결할 수 있습니다. 구매자는 태그로 도서 목록을 필터링할 수 있습니다."

    이 사용자 경험에서 한 단계로만 구성되는 기능은 없으며 제품 아키텍처의 한 부분만 포함하는 기능도 없습니다. 대신 기능이 구현될 때 몇 개의 함수에 액세스하여 새 사용자 값을 추가하게 됩니다.

  • 기능은 제품 계획 과정에서 반복에 할당됩니다. 기능 아래의 모든 작업은 동일한 반복에 할당되어야 합니다. 자세한 내용은 프로젝트 계획(CMMI)을 참조하십시오.

  • 기능은 고객 요구 사항의 부분적인 실현을 나타냅니다. 기능이 고객 요구 사항의 하위 집합인 경우 이 기능은 각 고객 요구 사항을 제한된 범위로 구현할 수 있습니다.

  • 모든 기능은 해당 기능이 나타내는 요구 사항 부분을 테스트하는 하나 이상의 테스트 사례에 연결할 수 있습니다. 이러한 테스트 사례는 고객 요구 사항에 연결되는 시스템 테스트의 하위 집합입니다.

  • 기능에 대한 테스트가 완전히 정의되어 통과되기 전까지는 기능의 상태를 완료된 것으로 표시하면 안 됩니다.

  • 모든 기능은 개발 및 테스트 작업의 그룹이며, Visual Studio Team Foundation Server에서 작업 트리의 루트입니다. 개발 작업에서는 기능이 나타내는 부분적인 요구 사항을 구현합니다. 테스트 작업에서는 적절한 테스트 사례를 구상하고 실행합니다.

  • 기능을 나열하려면 제품 요구 사항 쿼리를 사용합니다. 제품 계획을 표시하려면 열 옵션을 클릭하고 표시된 열 목록에 반복 경로를 추가합니다. 반복을 기준으로 정렬하려면 반복 경로 열을 클릭합니다. 자세한 내용은 팀 쿼리(CMMI)를 참조하십시오.

기능 찾기

요구 사항을 증분식 기능으로 나누는 작업은 개발자, 분석가 및 관련자가 참여해야 하는 창조적인 과정입니다. 기능은 주변 기능과는 별개로 눈에 띄도록 구현할 수 있는 제품 기능의 한 부분을 정의합니다. 따라서 실행 가능한 기능 정의 집합과 계획에서의 순서는 부분적으로는 시스템의 아키텍처에 따라 달라집니다.

이러한 이유로 제품의 계획 및 초기 디자인 과정은 함께 진행해야 합니다. 특히 전체적인 계획을 구상하는 반복 0에서 이러한 과정을 진행해야 합니다.

시나리오 분해

요구 사항을 토대로 기능을 결정하려면 시나리오를 보다 작은 여러 단계로 분해하는 것이 유용합니다.

종종 스토리보드가 이 작업에 도움이 됩니다. 스토리보드는 시나리오를 일련의 그림으로 보여 주는 것입니다. UML 동작 다이어그램은 대체 경로를 표시하는 데 유용하고, UML 시퀀스 다이어그램은 일부 행위자 간의 상호 작용을 논의하는 데 유용합니다. 이러한 도구를 사용하여 시나리오를 분석한 후에는 분해된 시나리오를 팀 탐색기에 입력할 수 있습니다. 이렇게 하면 테스트 사례를 시나리오에 연결하고, 요구 사항이 충족되었는지를 확인할 수 있습니다. 자세한 내용은 UML 동작 다이어그램: 지침UML 시퀀스 다이어그램: 지침을 참조하십시오.

이 짧은 연습 과정에서는 고객 요구 사항 집합을 작은 시나리오 트리 형태로 입력합니다. 이 연습에서는 기능 만들기 예제를 제공합니다.

Excel에서 고객 요구 사항 트리를 열려면

  1. 팀 탐색기에서 MSF for CMMI Process Improvement v5.0 프로젝트를 엽니다.

  2. 작업 항목, 팀 쿼리, 계획 및 추적을 차례로 확장하고 고객 요구 사항을 실행합니다.

  3. 반복 경로요구 사항 유형 열이 나타나지 않으면 열 옵션을 클릭하고 해당 열을 표시 목록에 추가합니다.

    영역 경로 열을 추가할 수도 있습니다.

  4. 트리를 표시할 쿼리를 설정합니다.

    1. 쿼리 편집을 클릭합니다.

    2. 쿼리 형식작업 항목 트리로 설정합니다.

    3. 쿼리 저장을 클릭합니다.

      팀 쿼리에 쿼리를 저장할 수 없으면 내 쿼리에 저장합니다.

    4. 결과 보기를 클릭하여 편집 뷰를 닫습니다.

  5. Microsoft Office에서 열기를 클릭하고 Microsoft Excel에서 쿼리 열기를 클릭합니다.

  6. Office Excel에서 제목 1 열 다음에 제목 2제목 3 열이 나타나지 않으면 탭을 클릭한 다음 트리 수준 추가를 클릭하여 추가 열을 만듭니다.

이제 시나리오를 일괄 처리로 간편하게 입력할 수 있습니다.

실제 상황에서는 시나리오의 한 수준을 입력한 다음 개별 작업으로 각 시나리오를 보다 작은 여러 단계로 분해하여 작업을 시작할 수 있습니다.

시나리오를 입력하려면

  1. 기존 작업 항목(있는 경우)의 맨 아래 행 바로 다음의 행에서 제목 1 열에 다음과 같이 최상위 시나리오의 제목을 입력합니다.

    고객이 식사를 주문합니다.

  2. 비즈니스 관련자와 논의하여 최상위 시나리오를 구성하는 주요 단계를 결정합니다.

    최상위 시나리오 바로 다음에 있는 행의 제목 2 열에 다음과 같이 단계를 입력합니다.

    고객이 식당을 선택합니다.

    고객이 식당의 메뉴에서 항목을 선택하여 주문합니다.

    고객이 지불 정보를 입력합니다.

    식당에서 주문된 식사를 준비하여 배송합니다.

    고객의 카드로 대금이 청구됩니다.

  3. UML 동작 다이어그램 또는 상호 작용 다이어그램 등을 사용하여 추가 분석을 수행하면 이와 같은 시나리오에 대해 보다 세부적인 단계를 생성할 수 있습니다.

    고객 바로 아래에서 식당을 선택하고 몇 개의 행을 삽입한 다음 제목 3 열에 다음 단계를 입력합니다.

    고객이 배송지 우편 번호를 입력합니다.

    웹 사이트에 해당 주소로 배송할 수 있는 식당 목록이 표시됩니다.

    고객이 표시된 모든 식당의 메뉴를 탐색할 수 있습니다.

    고객이 한 식당을 선택하여 주문을 시작합니다.

    빈 행을 삭제합니다.

  4. 모든 새 행의 작업 항목 형식 열에서 형식을 요구 사항으로 설정합니다.

  5. 모든 새 행의 요구 사항 유형 열을 시나리오로 설정합니다.

  6. 요구 사항을 Team Foundation Server에 게시하려면 작업 항목 표의 셀을 선택한 다음 탭에서 게시를 클릭합니다.

이제 고객 요구 사항 트리가 생성되었으며 Office Excel 또는 팀 탐색기에서 이 트리를 추가로 편집할 수 있습니다.

반복에 리프 시나리오 할당

"리프" 시나리오는 자식 시나리오가 없는 시나리오입니다.

시나리오의 가장 기본적인 단계를 반복에 할당하려면 반복 경로 필드를 설정합니다. 이 작업은 Office Excel 뷰에서 수행할 수 있습니다.

그런 다음 자식 시나리오가 있는 각 시나리오를 해당 시나리오가 사용 가능한 것으로 간주되는 가장 빠른 반복에 할당합니다.

다음 예제에서 가장 기본적인 시나리오는 반복 1 및 2에서 구현되고, 다른 기능은 이후의 반복에 추가됩니다.

  • 반복 2 - 고객이 식당을 선택합니다.

    • 반복 5 - 고객이 우편 번호를 입력합니다.

    • 반복 2 - DinnerNow에 식당 목록이 표시됩니다.

    • 반복 3 - 고객이 각 식당의 메뉴를 탐색할 수 있습니다.

    • 반복 2 - 고객이 한 식당을 선택하여 주문합니다.

  • 반복 1 - 고객이 식당의 메뉴에서 항목을 선택하여 주문합니다.

    • 반복 1 - 고객이 메뉴 항목을 클릭하여 주문에 추가합니다.

    • 반복 2 - 주문 요약 페이지에 주문 총액이 표시됩니다.

    • 반복 1 - 고객이 "확인"을 클릭하여 주문을 완료합니다.

  • 반복 4 - 고객이 지불 정보를 입력합니다.

  • 반복 2 - 식당에서 주문된 식사를 준비하여 배송합니다.

  • 반복 4 - 고객의 카드로 대금이 청구됩니다.

이러한 할당을 통해 시스템의 전체적인 디자인을 초기 단계에서 테스트하고 세부적인 많은 부분은 이후 단계로 미룰 수 있습니다. 위험도가 낮은 것으로 간주되는 요소는 이후 반복으로 미룰 수 있습니다. 이 예제에서 팀은 이전에 카드 결제 시스템에 연결해 본 경험이 있습니다. 따라서 이 부분은 이후 반복으로 미뤄도 안전합니다.

다음 그림과 같이 리프 시나리오를 보다 세부적으로 분해하여 단순한 버전과 보다 복잡한 버전을 서로 다른 반복으로 분리할 수 있는 경우도 있습니다.

시나리오 작업 항목 트리

기능 - 각 반복에서 달성되는 요구 사항

기능은 각 반복이 완료되면 사용자가 수행할 수 있는 작업을 요약하는 요구 사항입니다. 각 반복에 대해 둘 이상의 기능을 만들 수 있습니다. 기능은 요구 사항 유형이 기능으로 설정된 요구 사항 작업 항목으로 입력합니다.

작업 항목에 시나리오를 할당하는 과정을 통해 기능을 정의할 수 있습니다. 다음의 예제 기능 계획은 이전 단원에서 반복에 할당한 시나리오를 토대로 합니다.

  • 반복 1

    • 고객이 메뉴에서 항목을 선택하여 주문에 추가한 다음 배송지 주소를 추가합니다.
  • 반복 2

    • 고객이 식당 목록을 표시한 다음 식당을 선택하여 주문 과정을 시작합니다.

    • 고객이 주문을 완료하면 선택한 식당의 화면에 주문이 나타납니다.

    • 항목 금액과 총 금액이 주문에 표시됩니다.

  • 반복 3

    • 식당에서는 준비된 식사가 배송 처리된 후에 해당 주문을 "완료됨" 상태로 표시합니다. 해당 식사는 식당에 기록됩니다.

    • 각 식당에서는 해당 메뉴를 입력하고 업데이트할 수 있습니다.

    • 고객은 식당을 선택하기 전에 모든 식당의 메뉴를 탐색할 수 있습니다.

  • 반복 4

    • 고객이 주문을 완료할 때 지불 정보를 입력합니다. 식당에서 주문을 완료됨 상태로 표시하면 고객의 카드로 대금이 청구됩니다.

    • 완료됨 상태로 표시된 주문에 대한 대금이 식당에 지불됩니다.

  • 반복 5

    • 식당에서는 배송 지역을 설정할 수 있습니다. 고객은 세션을 시작할 때 우편 번호를 입력합니다. 웹 사이트에는 해당 지역으로 배송할 수 있는 식당만 표시됩니다.

부분적으로 구현되는 시나리오

시나리오를 작은 단계로 분해하면 좀더 일찍 구현할 수 있는 일부 단계를 나중에 구현해도 되는 다른 단계와 분리할 수 있습니다.

그러나 일부 경우에는 시나리오의 다른 요소를 분리할 수도 있습니다. 이 예제에서 팀은 초기 반복에서 기본적인 버전의 사용자 환경을 구현한 다음 나중에 이를 향상시킬 수 있습니다. 따라서 다음 기능을 추가할 수 있습니다.

  • 반복 6 - 식당에서는 메뉴의 색 구성표와 글꼴을 선택하고 식당의 로고 및 음식 사진을 업로드할 수 있습니다.

이 유형의 기능은 시나리오를 단계로 분해할 때 바로 나타나는 것이 아니라 대개 스토리보드의 토론 과정에서 나타납니다. 사용자 환경 기능은 후기 반복에서 구현하기에 적당한 기능입니다.

기능 입력 및 검사

작업 항목 형식이 요구 사항인 작업 항목을 만들고 요구 사항 유형 필드를 기능으로 설정합니다. 기능 제목은 간략한 설명으로 설정합니다.

일괄 처리로 기능을 입력하고 반복에 기능을 할당할 방식을 논의하려면 제품 요구 사항 쿼리를 조정하고 Office Excel 뷰를 사용합니다.

기능을 입력 및 편집하려면

  1. 팀 탐색기에서 MSF for CMMI Process Improvement v5.0 프로젝트를 엽니다.

  2. 작업 항목, 팀 쿼리, 계획 및 추적을 차례로 확장하고 제품 요구 사항을 엽니다.

  3. 열 옵션을 클릭하고 표시된 열 목록에 원래 예상 값반복 경로를 추가합니다.

  4. Microsoft Office에서 열기를 클릭하고 Microsoft Excel에서 쿼리 열기를 클릭합니다.

  5. 쿼리를 저장할지 묻는 대화 상자에서 를 클릭합니다.

  6. (선택 사항) Office Excel에서 기능 제목 목록을 입력하고, 반복 경로를 설정하고, 반복 경로를 기준으로 행을 정렬합니다.

  7. 변경 내용을 Team Foundation Server에 저장하려면 작업 항목 표의 셀을 클릭한 다음 탭에서 게시를 클릭합니다.

요구 사항에 대한 기능 추적

다음 방법으로 요구 사항에 기능을 연결할 수 있습니다.

  • 기능 작업 항목을 해당 반복의 리프 시나리오 요구 사항에 연결합니다. 리프 시나리오는 이미 부모 시나리오가 있으므로 관련 항목 링크를 사용하여 기능을 연결해야 합니다.

  • 테스트 사례 작업 항목을 해당 작업 항목에서 테스트하는 시나리오 및 서비스 품질 요구 사항에 연결합니다. 기능의 개발이 완료되었을 때 통과해야 하는 테스트 사례의 하위 집합에 기능을 연결합니다. 이 방법을 사용할 경우 테스트 사례는 기능과 고객 요구 사항 간의 링크 역할을 합니다.

서비스 품질 기능

서비스 품질 요구 사항은 대개 소프트웨어 디자인과 관련하여 광범위하게 적용되는 사항입니다. 예를 들어 보안 요구 사항은 일반적으로 특정 개발 작업에만 관련된 사항이 아닙니다.

그럼에도 불구하고 각 서비스 품질 요구 사항에 대해 기능 작업 항목을 만들어야 합니다. 이 작업 항목의 자식 항목은 주로 서비스 품질 기준이 충족되었는지 확인하는 테스트 작업입니다. 이러한 작업 항목을 서비스 품질 기능이라고 합니다.

일부 서비스 품질 기능에는 개발 작업이 포함될 수 있습니다. 예를 들어, 초기 반복에서는 개념 증명으로 소수의 사용자만을 처리할 수 있는 시스템 버전을 구현할 수 있습니다. 후기 반복에서는 고객 요구 사항에 명시된 대로 목표 용량을 지정하는 기능을 추가할 수 있습니다.

제품 계획

각 반복이 시작되기 전에 제품 계획을 검토하는 회의를 소집합니다. 첫 번째 제품 계획 회의에서 계획을 만들고, 이후의 회의에서는 이전 반복을 기준으로 계획을 검토합니다. 자세한 내용은 프로젝트 계획(CMMI)을 참조하십시오.

제품 계획 검토에서는 비즈니스 관련자와 기능에 대해 논의하고, 기능의 우선 순위를 다시 지정하기 위한 준비를 한 다음 해당 기능을 서로 다른 반복에 포함합니다. 이 회의에는 비즈니스 관련자와 개발 팀의 담당자가 참여해야 합니다.

회의에서는 기능 개발 순서를 논의합니다. 이를 위해서는 제품 요구 사항 쿼리의 Office Excel 뷰를 영사기로 보거나 화면 상에서 공유하고 기능을 반복별로 정렬합니다.

다른 방법으로, 기능을 특정 시퀀스에 추가한 다음 각 반복에서 수행할 수 있는 작업량을 고려할 수 있습니다. 예를 들어 개발자는 "고객이 금액을 표시할 수 있습니다."를 시퀀스에서 이동하지 않고 반복 2에서 반복 3으로 이동할지 여부를 논의할 수 있습니다. 항목을 시퀀스에 추가하려면 스프레드시트에 순위라는 열을 추가하고 해당 시퀀스를 나타내는 정수를 삽입합니다. 그런 다음 이 열을 기준으로 스프레드시트를 정렬합니다. 순위는 Team Foundation Server에 저장되지 않지만 스프레드시트는 저장할 수 있습니다. 스프레드시트를 다시 열 때 작업 항목 표의 셀을 클릭한 다음 팀 탭에서 새로 고침을 클릭합니다.

제품 계획에서는 기능의 우선 순위와 개발 비용을 고려합니다. 우선 순위는 비즈니스 관련자가 개발자로부터 위험에 관한 안내를 받아 결정합니다. 예상 비용은 개발자가 결정합니다. 비용을 정확하게 예측하려면 개발 팀에서 제품의 아키텍처에 대한 몇 가지 작업을 이미 수행했어야 하며 이전 단계에서의 경험이 필요할 수도 있습니다. 이러한 이유로 예상 비용은 제품 계획을 검토할 때마다 조정해야 합니다.

반복 계획

제품 계획 검토 후에는 반복을 계획합니다. 제품 계획에서는 반복이 종료될 때 전달할 기능을 결정합니다. 반복 계획에서는 기능을 구현 및 테스트하기 위해 팀에서 수행해야 할 작업을 결정합니다.

다음 작업은 반복 계획의 일부입니다.

  • 개발 및 테스트를 위한 작업을 만들어 기능 요구 사항에 자식 항목으로 연결합니다.

  • 각 기능에서 개발할 고객 요구 사항의 요소에 대한 테스트 사례를 만듭니다. 요구 사항의 완성도를 모니터링할 수 있도록 이 테스트 사례를 요구 사항에 연결해야 합니다.

기능과 요구 사항 간의 대응 관계를 추적할 수 있도록 기능에 테스트 사례를 연결할 수도 있습니다. 연결된 테스트 사례가 통과하기 전까지는 기능을 완료된 것으로 표시해서는 안 됩니다.

자세한 내용은 반복 계획(CMMI)을 참조하십시오.