Share via


Team Foundation 팀 프로젝트

업데이트: 2007년 11월

Team Foundation에서 팀 프로젝트는 작업 항목, 코드, 테스트, 작업 산출물, 메트릭 등으로 구성된 집합이며, 한정된 팀에서 이를 사용하여 관련된 작업의 공통 집합을 추적합니다. 팀 프로젝트라는 논리적 개념을 통해 소프트웨어 응용 프로그램 개발에 포함하거나 개발에서 제외할 요소를 쉽게 결정할 수 있습니다. 팀 프로젝트의 개념은 실제 도구, 그룹화, 워크플로, 팀 탐색기 및 Team Foundation Server 등을 통해 구현됩니다. 팀 프로젝트에 설정하는 개념적 경계는 팀 프로젝트의 구성 방식 및 팀 프로젝트 간의 전환 시기에 있어서 중요한 의미를 갖습니다.

팀 프로젝트의 논리적 정의

논리적 또는 개념적으로 팀 프로젝트는 소프트웨어 응용 프로그램 개발 수명 주기 동안 사용되는 모든 개별 도구 및 요소를 포함하는 단일 인프라입니다. 개발 과정에서 각 소프트웨어 응용 프로그램 또는 "팀 프로젝트"는 해당 팀 프로젝트만을 위한 고유한 네임스페이스로 가상적으로 그룹화됩니다. 즉 간단히 말하자면 팀 프로젝트는 개발 과정에서 특정 소프트웨어 응용 프로그램에 관련된 모든 도구 및 아티팩트(예: 소스 코드, 작업 항목 및 문서)를 다른 팀 프로젝트에서 액세스할 수 없도록 격리하는 컨테이너입니다.

팀 프로젝트는 특정 소프트웨어 기술 또는 제품을 개발하는 팀의 노력을 결집하는 중앙 개념이며 팀에서 작업하는 소프트웨어 응용 프로그램에 관련된 아티팩트의 가상적인 집합입니다. 팀 멤버는 팀 프로젝트라는 개념을 통해 팀 프로젝트와 관련이 없는 여러 아티팩트에 액세스하는 문제를 피할 수 있습니다. 이러한 잉여 아티팩트가 있으면 혼동이 초래되어 소프트웨어 개발 과정이 지연될 수 있습니다. 팀 프로젝트는 최소한 도구 집합과 아티팩트로 구성됩니다. 팀 프로젝트에는 소스 제어 정책, 팀 프로젝트 보고 사이트 및 팀 프로젝트 포털도 포함될 수 있습니다. Team Foundation 팀 프로젝트에서는 팀 프로젝트를 만드는 도중 프로세스 템플릿에서 팀 프로젝트 컨테이너에 추가할 관련 도구를 선택할 수 있습니다.

팀 프로젝트 개념에서는 팀에서 사용하는 모든 도구 간의 보고 기능이 향상됩니다. 이전에는 여러 도구의 데이터에 상호 연관성이 없었으므로 도구 간 보고 기능을 구현하기가 어려웠습니다. 예를 들어 오류에 대한 도구 간 보고서를 얻으려는 소프트웨어 개발자는 모든 오류가 공통 위치에 저장되므로 여러 프로젝트의 오류를 직접 구별해야 했습니다. 팀 프로젝트는 소프트웨어 프로젝트에 관련된 도구 및 아티팩트만 포함하는 네임스페이스에 만들어지므로 여러 도구의 서로 다른 아티팩트를 관련짓는 공통 필터를 만들 수 있습니다.

단일 Team Foundation Server 서버에는 여러 팀 프로젝트가 포함될 수 있으며 각 프로젝트는 별도의 네임스페이스에 만들어집니다. 따라서 네임스페이스 A의 X라는 문서는 네임스페이스 B의 X라는 문서와는 다릅니다. 각 팀 프로젝트가 별도의 네임스페이스에 만들어져 아티팩트나 도구가 자신이 속하는 팀 프로젝트에 고유하게 되므로 팀 프로젝트 B에서 작업하는 소프트웨어 개발자는 팀 프로젝트 A에 포함된 도구나 아티팩트에 액세스할 수 없습니다.

팀 프로젝트의 실제 정의

팀 프로젝트에 관련된 논리적 정의 및 개념적 경계는 팀 탐색기를 통해 현실화됩니다. 팀 탐색기는 Visual Studio 내의 확장 가능한 도구 창으로서 도구 및 아티팩트를 팀 프로젝트별로 그룹화합니다. 팀 프로젝트는 최소한 프로세스 템플릿에 따라 팀 프로젝트를 만들었을 때 지정된 도구와 아티팩트의 집합으로 구성됩니다. 팀 프로젝트에는 팀 프로젝트를 만드는 데 사용된 프로세스 템플릿에 따라 소스 제어 정책, 팀 프로젝트 보고 사이트 및 팀 프로젝트 포털이 포함될 수도 있습니다.

팀 탐색기를 처음으로 열면 비어 있는 상태이므로 Team Foundation Server에 연결해야 합니다. 그런 다음 Team Foundation Server에 있는 팀 프로젝트 중 표시할 팀 프로젝트를 선택할 수 있습니다. 팀 탐색기는 하나의 Team Foundation Server에만 연결되므로 하나의 Team Foundation Server에 있는 팀 프로젝트만 표시할 수 있습니다. 팀 멤버는 팀 프로젝트를 만드는 데 사용된 프로세스 템플릿에 따라 팀 탐색기를 사용하여 제품 빌드에 대한 정보를 표시하고, 소스 작업을 시작하고, 할당된 작업에 대해 쿼리하고, 문서를 찾고, 보고서를 살펴 보고, 팀 프로젝트와 관련된 작업 산출물을 만들 수 있습니다. 예를 들어 MSF for Agile Software Development 또는 MSF for CMMI Process Improvement 프로세스 템플릿으로 만든 팀 프로젝트에서는 다음과 같은 노드가 표시됩니다.

  • 작업 항목   이 노드에서는 작업 항목 데이터베이스에 대한 쿼리를 만들고 살펴 보거나 새 작업 항목을 만들 수 있습니다. 프로젝트 쿼리는 팀 프로젝트가 만들어질 때 프로세스 템플릿이나 프로젝트 관리자에 의해 구현됩니다. 사용자 정의 쿼리는 팀 프로젝트를 만드는 동안에는 구현되지 않지만 이후에 사용자 지정 콘텐츠로 추가할 수 있습니다.

  • 문서   이 노드에서는 문서, 스프레드시트, 프로젝트 계획, 프로세스 지침 등의 작업 산출물 및 개발 작업의 기타 무형 출력물에 액세스할 수 있습니다. 이러한 문서는 팀 프로젝트 포털에서 단일 중앙 위치에 저장됩니다.

  • 보고서   이 노드에서는 팀 프로젝트 관련 메트릭이 포함된 보고서에 액세스할 수 있고 팀 프로젝트 네임스페이스에 포함된 다양한 도구로부터 정보를 수집할 수 있습니다. SQL Reporting Services 보고서 사이트는 팀 프로젝트 내의 여러 도구에서 다양한 정보를 수집하여 도구 간 보고를 수행하도록 디자인되었으며, 각 도구에서 내보내는 정보에 맞는 의미와 구문을 채택하여 보고서를 구성합니다.

  • 팀 빌드   이 노드에서는 팀 프로젝트의 빌드에 액세스할 수 있습니다.

  • 소스 제어   이 노드에서는 소스 코드와 텍스트 등의 아티팩트에 액세스할 수 있습니다. 프로그램 개발자는 소스 탐색기를 사용하여 소스 코드를 체크 인하거나 체크 아웃합니다. 소스 제어 탐색기는 팀 프로젝트 소스 파일을 탐색하는 브라우저입니다. 사용자는 여러 가지 사용자 지정 도구를 구현할 수 있습니다.

팀 프로젝트 설정 및 속성은 팀 프로젝트마다 다릅니다. 팀 프로젝트 속성은 Visual Studio의 팀 메뉴에서 설정되며, 이 속성은 팀 프로젝트의 멤버와 해당 액세스 권한을 식별하는 그룹 및 권한 설정을 정의합니다. 예를 들어 소프트웨어 개발자 중 한 명은 팀 프로젝트에서 문서 X를 변경할 수 있는 권한이 있지만 문서 Y는 변경할 수 없고 같은 팀 프로젝트에 속한 다른 소프트웨어 개발자는 문서 X와 Y를 모두 변경할 수 있는 권한을 가질 수 있습니다. 이러한 경우 그룹을 할당하면 팀 프로젝트 내에 여러 하위 팀을 설정하여 필수 작업을 관리하는 데 도움이 됩니다. 팀 프로젝트 설정에는 팀 프로젝트 내의 아티팩트에 대한 계층적 가상 그룹화도 포함됩니다. 이러한 분류 구조에는 팀 프로젝트를 구성하는 수명 주기 반복 및 팀 프로젝트의 구성 요소나 기능이 포함될 수 있습니다. 테스트 사례 등의 작업 항목 및 기타 아티팩트도 계층 구조에 따라 분류하여 보다 쉽게 추적하고 보고할 수 있습니다.

소스 제어 정책을 통해 소스 제어 설정을 쉽게 정의할 수 있습니다. 소스 제어 설정에서는 체크 아웃 설정, 체크 인 정책 및 체크 인 메모를 지정합니다. 소스 제어 설정에서는 체크 아웃할 수 있는 아티팩트와 체크 아웃할 수 있는 작업자를 정의할 수 있으며 사용자는 이렇게 정의된 설정을 통해 과거로 돌아가서 프로젝트의 수명 주기 동안 산출된 여러 버전의 아티팩트를 체크 아웃할 수 있습니다.

참고 항목

개념

Team Foundation 프로세스 지침

프로세스 템플릿 선택

Team Foundation 작업 항목

Team Foundation 버전 제어

Team Foundation 보안 그룹

Team Foundation Server

기타 리소스

팀 탐색기 사용

Team Foundation 개념