Visual Studio ALM 보고의 새로운 기능

Visual Studio Team Foundation Server의 현재 릴리스를 사용하면 여러 기본 보고서 및 대시보드를 사용하여 팀 프로젝트를 모니터링하고 개발 중인 소프트웨어 품질을 추적할 수 있습니다. 또한 작업 항목 쿼리에서 현재 및 과거의 추세 보고서를 신속하게 만들 수 있습니다. 이 항목에서는 보고서 생성과 사용자 지정을 지원하기 위해 현재 릴리스에서 제공하는 새로운 기능과 변경 내용에 대해 자세히 배울 수 있습니다.

항목 내용

  • 기본 제공 보고서 및 대시보드

  • 작업 항목 쿼리에서 신속하게 보고서 생성

  • 데이터 필드의 보고 특성 변경

  • 팀 프로젝트 간 보고서 생성

  • 데이터 웨어하우스에 대한 변경 내용

  • 관계형 데이터베이스에 대한 보고서 생성

기본 제공 보고서 및 대시보드

Microsoft Solutions Framework(MSF) 프로세스 템플릿과 함께 제공되는 여러 기본 제공 보고서 중 하나를 사용하여 진행률을 보고 추적할 수 있습니다. Team Foundation의 이전 릴리스에서 제공된 보고서 관리자를 통해 볼 수 있는 보고서 외에도, 현재 릴리스에서는 추가 보고서와 SQL Server Reporting Services를 기반으로 하는 Excel 버전의 여러 보고서를 제공합니다. 새 보고서를 사용하여 스토리 또는 요구 사항의 상태, 버그 추세, 문제 추세, 테스트 진행률 및 생산성을 추적할 수 있습니다.

MSF 프로세스 템플릿의 현재 버전과 함께 제공되는 보고서 및 대시보드에 대한 개요는 다음 표의 항목 중 하나를 검토하십시오.

아티팩트

MSF for Agile Software Development v5.0

  • MSF for CMMI Process Improvement v5.0

보고서 관리자 보고서

보고서(Agile)

보고서(CMMI)

Excel 보고서

Excel 보고서(Agile)

Excel 보고서(CMMI)

대시보드

대시보드(Agile)

대시보드(CMMI)

다음 표에서는 이름이 바뀌거나 다시 작업된 현재 릴리스의 비교 가능 보고서를 보여 줍니다.

이전 릴리스의 보고서

현재 릴리스의 비교 가능 보고서

실제 품질 및 계획된 속도

모든 반복의 상태 보고서

모든 반복의 상태 보고서(CMMI)

속도

번다운(Burndown) 및 진행 속도 보고서(Agile)

번다운(Burndown) 및 진행 속도 보고서(CMMI)

버그 비율

버그 상태 보고서

우선 순위별 버그

버그 상태 보고서

품질 지표

빌드 품질 지표 보고서

작업 항목 쿼리에서 보고서 생성

단순 목록 작업 항목 쿼리에서 지정한 필터 조건에 따라 현재 상태와 기록 데이터를 보여 주는 몇 가지 보고서를 Microsoft Excel에서 생성할 수 있습니다. 이 기능은 선택한 조건에 따라 작업 항목의 분포를 표시하거나 지난 몇 주 동안의 추세를 보는 데 유용합니다. 또한 다른 보고서 뷰를 지원하기 위해 사용자 지정할 수 있는 피벗 테이블 및 피벗 차트 보고서를 빠르게 생성하는 효과적인 방법입니다.

쿼리에서 Excel 보고서를 만들 때 쿼리를 필터링하는 데 사용되는 변수와 선택한 조건에 따라 생성할 보고서를 선택할 수 있습니다. 이 방법을 사용하면 다음과 같은 종류의 보고서를 생성할 수 있습니다.

  • 현재 보고서: 작업 항목 쿼리에 지정된 필터 조건에 따라 작업 항목 수를 보여 주는 원형 차트입니다.

  • 추세 보고서: 작업 항목 쿼리에 지정된 필터 조건에 따라 지난 6주 동안의 작업 항목 분포를 보여 주는 꺾은선형 차트입니다. 보고서를 생성한 후에는 날짜 범위를 쉽게 변경할 수 있습니다.

각 보고서에는 몇 개의 워크시트가 포함되며 각 워크시트에서는 SQL Server Analysis Services 큐브에서 가져온 데이터를 사용하는 피벗 테이블 보고서 및 피벗 차트 보고서를 보여 줍니다.

자세한 내용은 작업 항목 쿼리를 사용하여 Microsoft Excel에서 보고서 만들기을 참조하십시오.

데이터 필드의 보고 특성 변경

현재 릴리스에서는 두 개의 보고 특성이 작업 항목 필드의 정의에 추가되었으며 기존 필드의 특성을 변경할 수 있는 기능이 추가되었습니다. 추가된 보고 특성은 다음과 같습니다.

  • reportingrefname. 보고 가능으로 표시되는 필드에 다른 참조 이름을 할당할 수 있습니다. 값을 지정하지 않은 경우 refname 특성에 할당된 값이 사용됩니다.

    이 특성을 사용하여 보고서에 포함되는 필드를 병합하거나 분기할 수 있습니다. 별개의 참조 이름을 사용하고 서로 다른 팀 프로젝트 컬렉션에서 정의되는 두 필드를 병합하려면 두 필드에 동일한 reportingrefname을 할당합니다. 참조 이름이 같지만 서로 다른 프로젝트 컬렉션에 정의되어 있는 두 필드를 분기하려면 각 필드에 서로 다른 reportingrefname을 할당합니다.

  • reportingname. 보고서에서 데이터를 표시하는 데 사용하는 필드에 다른 레이블을 할당할 수 있습니다. 값을 지정하지 않으면 name 특성에 대해 할당된 이름이 사용됩니다. reportingname에 할당되는 값이 큐브에 표시됩니다. reportingrefname에 할당되는 값은 표시되지 않습니다.

witadmin changefield 명령을 사용하여 필드에 대한 특성 할당을 변경할 수 있습니다. 자세한 내용은 보고를 지원하도록 작업 항목 필드 추가 및 수정을 참조하십시오.

팀 프로젝트 컬렉션 간 보고서 생성

이제 다른 프로젝트 컬렉션에 저장된 여러 팀 프로젝트에서 수집되는 데이터를 포함하여 보고서를 생성할 수 있습니다. Visual Studio Team Foundation Server의 배포에 대해 모든 프로젝트 컬렉션에서 정의되는 모든 팀 프로젝트의 모든 보고 가능 데이터는 단일 관계형 데이터 웨어하우스에 기록됩니다. 그런 다음 해당 웨어하우스의 데이터가 처리되어 Analysis Services 큐브에 기록됩니다. 데이터를 단일 데이터 웨어하우스에 수집하면 그룹 간 보고가 지원됩니다. 다음 그림에서는 팀 프로젝트 및 프로젝트 컬렉션 간에 보고서를 생성할 때 사용할 수 있는 몇 가지 필터를 보여 줍니다.

피벗 테이블의 팀 프로젝트 필드

참고

작업 항목 필드는 각 프로젝트 컬렉션에 대해 개별적으로 관리되기 때문에 필드의 보고 특성 하나 이상에 다른 정의를 할당하면 충돌이 발생할 수 있습니다. 자세한 내용은 데이터 웨어하우스에서 발생하는 스키마 충돌 해결을 참조하십시오.

데이터 웨어하우스에 대한 변경 내용

Team Foundation Server의 배포에 대해 모든 프로젝트 컬렉션에서 정의되는 모든 팀 프로젝트의 모든 보고 가능 데이터는 단일 관계형 데이터 웨어하우스에 기록됩니다. 그런 다음 해당 웨어하우스의 데이터가 처리되어 Analysis Services 큐브에 기록됩니다. 데이터를 단일 데이터 웨어하우스에 수집하면 팀 프로젝트 컬렉션 간의 보고가 지원됩니다.

중요

이전 버전의 Team Foundation Server에서 업그레이드한 경우 볼 수 있는 보고서를 업그레이드했을 수 있습니다. 자세한 내용은 Team Foundation Server 2010으로 업그레이드 후 보고서 찾기를 참조하십시오.

ID 값의 고유성

현재 릴리스에는 팀 프로젝트 컬렉션이 도입되었으므로 팀 프로젝트의 이름은 컬렉션에서만 고유하면 됩니다. 작업 항목 ID는 컬렉션에서만 고유하지만 컬렉션 배포 간에는 고유하지 않습니다. 데이터웨어하우스에는 모든 팀 프로젝트 컬렉션의 데이터가 포함되기 때문에 웨어하우스에 대해 작업 항목 쿼리를 생성할 때는 해당 작업 항목에 대한 팀 프로젝트의 GUID도 포함해야 합니다.

스키마에 대한 변경 및 추가 내용

현재 릴리스에서는 Analysis Services 큐브의 스키마가 많이 변경되었습니다. 이는 큐브를 더 유용하게 만들고 성능을 향상하며 전환을 개선하기 위한 것입니다. 또한 현재 Team Foundation Server에서 지원되는 확장 인프라를 지원하고 링크 형식, 범주 및 테스트 사례와 같은 작업 항목을 추적하는 개체 추가를 지원하기 위해 많은 변경 작업이 이루어졌습니다. 스키마에 대한 몇 가지 변경 내용은 다음과 같습니다.

  • 차원의 수가 60여 개에서 25개 미만으로 축소되었습니다.

  • 이전 스키마 버전의 많은 차원이 이제는 테스트 사례 및 작업 항목 차원의 특성입니다.

  • 영역 및 반복 차원이 진정한 계층 구조인 테스트 사례 및 작업 항목 차원의 특성으로 다시 디자인되었으며 작업 항목 추적 작업 저장소에서 제공하는 것과 비슷한 14수준 깊이입니다.

  • 여러 측정값 그룹, 측정값, 차원 및 특성의 이름이 바뀌었습니다.

  • 작업 항목 추적을 위한 새로운 기능을 지원하기 위해 새 차원이 추가되었습니다.

  • 유용성을 지원하기 위해 표시 폴더가 테스트 사례 및 작업 항목 차원에 추가되었습니다. 필드는 각 필드에 할당된 참조 이름을 기준으로 폴더 아래에 그룹화됩니다. 차원 특성은 작업 항목 형식 정의에서 할당된 보고 참조 이름을 기반으로 하는 폴더로 구성됩니다.

큐브의 모든 변경 및 추가 내용에 대한 포괄적인 설명은 Analysis Services 큐브의 스키마에 대한 변경 내용 및 추가 항목을 참조하십시오.

데이터 웨어하우스 처리

Warehouse Control 웹 서비스를 사용하여 데이터 웨어하우스를 관리할 수 있습니다. 이 웹 서비스는 현재 릴리스에서 이름이 바뀌고 다시 디자인되었습니다. 또한 큐브의 기본 새로 고침 빈도는 이전 릴리스에서 변경되어 두 시간으로 설정됩니다. ChangeSetting 서비스를 사용하여 이 값을 수정할 수 있습니다. 자세한 내용은 데이터 웨어하우스 및 Analysis Services 큐브 관리를 참조하십시오.

관계형 데이터베이스에 대한 보고서 생성

관계형 데이터베이스에 대한 보고서 생성이 이제 공식적으로 지원됩니다. 일반적으로 기록 보고서 또는 집계 데이터의 여러 매개 변수를 분할해야 하는 보고서에 Analysis Services 큐브를 사용합니다. 큐브는 이러한 유형의 보고서를 처리하는 데 가장 좋은 선택입니다. 하지만 관계형 데이터베이스를 사용하면 큐브를 사용할 때는 수행할 수 없는 방법으로 느슨한 관계의 데이터를 함께 끌어오는 보고서를 생성할 수 있습니다.

이제 웨어하우스 작업에 도움이 되는 수많은 공용 뷰가 있습니다. 이러한 모든 뷰는 WorkItemHistoryView와 같이 "View"로 끝나는 이름을 사용합니다. 다음 그림에서는 보고서를 생성할 수 있는 공용 뷰를 보여 줍니다.

관계형 데이터베이스의 뷰

참고

"v"로 시작하고 "Overlay"로 끝나는 뷰는 큐브를 처리하는 데 사용됩니다. 관계형 데이터베이스를 기반으로 하는 보고서를 생성할 때는 이 뷰를 사용해야 합니다.

테이블 이름

관계형 데이터베이스의 현재 버전에서는 대부분의 테이블 이름이 변경되었습니다. 이전 버전에서는 많은 테이블 이름에 공백이 포함되어 일부 보고 도구에 문제를 일으켰습니다. 이름이 바뀐 테이블을 사용하면 데이터웨어하우스에서 테이블 간의 연결과 큐브에서 해당 항목을 쉽게 확인할 수 있습니다.

참고

밑줄(_)로 시작하는 테이블은 향후 변경됩니다. 관계형 데이터베이스를 기반으로 하는 보고서를 생성할 때는 이 테이블을 사용해야 합니다.

다음 표에서 설명하는 것과 같이, 새 데이터 웨어하우스에서는 이름에 공백이 없으며 용도를 표시하는 접두사도 없습니다.

접두사

설명

dbo.Dim

테이블에 차원 데이터가 포함되므로 큐브의 차원 부분에 데이터가 표시됩니다. 차원의 각 특성 또는 계층 구조에 대해 하나의 열이 일반적으로 제공됩니다. 다음 그림에서는 Team Foundation의 차원 테이블을 보여 줍니다.

관계형 데이터베이스의 차원 테이블

큐브에서 DimWorkItem 테이블은 Work Item 아래 차원 계층 구조에 표시됩니다.

dbo.Fact

팩트 테이블에는 큐브에서 측정값으로 표시되는 셀의 값이 포함됩니다. 다음 그림에서는 Team Foundation의 팩트 테이블을 보여 줍니다.

관계형 데이터베이스의 팩트 테이블

팩트 테이블에는 다양한 차원 테이블에 대한 외래 키가 있습니다. 예를 들어, FactWorkItemHistory 테이블에는 Work Item 측정값 폴더에서 측정값 아래 큐브에 표시되는 StateChangeCount라는 열이 포함됩니다.

보정 레코드

웨어하우스에서 기록 데이터를 작업할 때는 보정 레코드에 대해 알아야 합니다. 보정 레코드는 WorkItemHistoryView와 같이 기록 정보가 포함된 테이블과 뷰에서 정의됩니다. 보정 레코드를 사용하여 데이터 집계를 생성합니다.

팀 멤버가 작업 항목을 업데이트할 때마다 수정 버전이 만들어지고 레코드 쌍이 웨어하우스에 추가됩니다. 한 레코드는 가장 최근의 이전 데이터를 실행 취소하고 다음 레코드는 작업 항목에 대해 수정된 값을 추가합니다. 각 레코드는 해당 작업 항목의 이전 수정 버전을 효과적으로 부정하거나 보정합니다.

또한 System_ChangedDate와 System_RevisedDate라는 두 열이 보정 레코드와 연결됩니다. 첫 번째 열인 System_ChangedDate는 작업 항목이 변경된 시간을 표시합니다. 다른 날짜는 작업 항목이 다음에 변경된 시간을 알려 줍니다. 예를 들어, 5/15/2009 10:53에 작업을 만들고 다음날 11:23에 해당 작업 항목을 수정한 경우 다음 표에 나열된 것과 비슷한 데이터를 볼 수 있습니다.

System_ChangedDate

System_RevisedDate

남은 작업

RecordCount

10:53 5/15/2009

11:23 5/16/2009

20

1

10:53 5/15/2009

11:23 5/16/2009

-20

-1

11:23 5/16/2009

0:00 1/1/9999

10

1

11:23에 수정된 첫 번째 레코드는 원래의 레코드입니다. 다음 레코드는 첫 번째 레코드를 취소하고 세 번째 레코드와 동일한 시간에 추가됩니다. 마지막으로, 세 번째 레코드는 System_RevisedDate에 표시되는 현재 레코드이며 DATETIME 열의 최대값으로 설정됩니다.

SUM 기반 쿼리

다음 SUM 기반 쿼리에 표시되는 특정 날짜 현재의 현재 남은 작업을 확인할 수 있습니다.

SELECT SUM(Microsoft_VSTS_Scheduling_RemainingWork)
  FROM WorkItemHistoryView WHERE System_Id = 108
   AND ProjectNodeGUID = 'A8657108-E085-4DE5-B14C-97DAA378D46E'

이 SUM 기반 쿼리를 생성할 수 있지만 "As Of" 쿼리를 사용하면 향상된 성능을 얻을 수 있습니다.

As Of 쿼리

특정 날짜 이전에 수정된 각 작업 항목에 대해 마지막 레코드만 반환하는 "as of" 쿼리를 생성할 수 있습니다. 예를 들어, 다음 "as of" 쿼리는 5/16/2009 종료 시 현재의 남은 작업을 반환합니다.

SELECT System_Id, Microsoft_VSTS_Scheduling_RemainingWork
  FROM WorkItemHistoryView WHERE System_ChangedDate < '5/16/2009'
   AND System_RevisedDate >= '5/16/2009'
   AND RecordCount > 0
   AND ProjectNodeGUID = 'A8657108-E085-4DE5-B14C-97DAA378D46E'

이 결과는 큐브를 쿼리할 때 얻는 결과와 동일합니다. 이 쿼리는 5/16/2009 이전에 수정된 각 작업 항목에 대해 마지막 레코드만 반환합니다. 쿼리는 해당 날짜 이전 및 이후에 수정된 레코드 하나를 찾기 때문에 System_RevisedDate 절은 5/16/2009 이전에 수정된 마지막 레코드만 가져옵니다. 레코드를 전혀 수정하지 않은 경우 기록된 날짜는 9999년도입니다. 이 쿼리는 양의 RecordCount도 테스트합니다. 이전 레코드를 취소하는 보정 레코드는 항상 RecordCount가 -1입니다.

참고 항목

개념

Visual Studio ALM 보고서 만들기, 사용자 지정 및 관리

기타 리소스

보고를 지원하도록 작업 항목 필드 추가 및 수정

데이터 웨어하우스 및 Analysis Services 큐브 관리

Team Foundation Server 2010으로 업그레이드 후 보고서 찾기

Analysis Services 큐브의 스키마에 대한 변경 내용 및 추가 항목