태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

VS 2013 ALM/TFS 20132014.11.21 17:10

[프로페셔널 TFS 간단정리] 2장. 배포 계획(2) - 프로젝트 컬렉션 및 팀 프로젝트를 나누는 방식

이 장에서는 팀 프로젝트 컬렉션 또는 팀 프로젝트를 어떤 기준으로 나누어야 하는지에 대해 설명한다.

 

1. 팀 프로젝트 컬렉션을 나누는 방식

팀 프로젝트 컬렉션은 밀접하게 관련된 팀 프로젝트들을 하나로 묶는 그룹이다. 팀 프로젝트 컬렉션을 나눌 때는 기본적으로 제품 또는 관련 응용프로그램 군을 고려한다. 예를 들어, 제품 간에 코드 공유를 전혀하지 않는 제품들에 대해서는 서로 다른 팀 프로젝트 컬렉션을 만들고, 코드 재사용성이 높거나 프레임워크를 서로 공유하는 제품들에 대해서는 단일 팀 프로젝트 컬렉션을 사용한다.

 

2. 팀 프로젝트를 나누는 기준

일반적으로 팀 프로젝트는 "여러분이 생각하는 것보다 크다". 다음은 팀 프로젝트의 범위를 설정하는데 사용되는 일반적인 세 가지 방식이다.

A. 응용프로그램 별 팀 프로젝트

응용프로그램 별로 팀 프로젝트를 각각 만든다. 이는 가장 일반적인 방식이며, 가장 먼저 고려해봐야 할 방식이다.

B. 릴리즈 별 팀 프로젝트

아주 큰 규모의 팀이 프로젝트를 오랜 기간 동안 진행할 경우에 효과적이다. 특히 독립 소프트웨어 벤더(ISVs)에 적합하다. 사실 Microsoft에서도 많은 제품에 이 방식을 적용하고 있다.

C. 팀 별 팀 프로젝트

팀원이 50명 이하인 적은 규모의 팀으로써 팀원 수에 거의 변화가 없지만, 그들이 관리하는 응용프로그램이 계혹해서 변화하는 경우에 적합하다.

 

감사합니다.

webmars.

신고
Posted by webmars
VS 2013 ALM/TFS 20132014.11.20 17:47

[프로페셔널 TFS 간단정리] 2장. 배포 계획(1) - TFS 제한사항

이 장에서는 Team Foundation Server와 관련된 제한사항에 대해 알아본다.

 

1. 팀 프로젝트 이름 변경

팀 프로젝트를 생성한 이후에는 이름을 변경할 수 없다. 그러나 팀 프로젝트 컬렉션은 이름을 변경할 수 있다.

 

2. 작업 항목 이동

다른 팀 프로젝트로 작업 항목을 이동시킬 수 없다. 대신 작업 항목을 복사해야만 한다. 작업 항목을 복사하면 동일한 필드의 값들은 그대로 복사가 된다. 단, 상황(state)는 복사가 되지 않는다.

 

3. Office Excel, Project, Project Server에서 여러 팀 프로젝트의 작업 항목 관리

Microsoft Office Excel과 Project에서는 여러 팀 프로젝트의 작업 항목을 조회, 편집, 추가할 수 없다.

TFS와 Project Server는 양방향 동기화를 할 수 있는데, Project Server의 엔터프라이즈 프로젝트 계획은 오직 하나의 팀 프로젝트에만 매핑되지만, 하나의 팀 프로젝트에는 여러 개의 엔터프라이즈 프로젝트 계획이 매핑될 수 있다.

 

4. 팀 및 용량 계획 관리

Team Web Access의 용량 계획 도구는 오직 같은 팀 프로젝트 내의 작업에 대해서만 계획을 세울 수 있다.

 

5. 여러 팀 프로젝트의 분기에 걸쳐있는 병합된 변경 내용 추적

팀 프로젝트 경계에 걸쳐있는 분기에 대해서는 분기 시각화 및 병합된 변경 내용 추적 시각화 기능을 사용할 수 없다.

 

6. 팀 프로젝트 컬렉션 간 팀 프로젝트 이동

팀 프로젝트를 다른 팀 프로젝트 컬렉션으로 이동시킬 수 없다. 이를 해결할 수 있는 한 가지 방법은 팀 프로젝트 컬렉션을 분할하는 것이다. 즉, 팀 프로젝트 컬렉션 복사본을 만든 다음, 각 팀 프로젝트 컬렉션에서 필요하지 않은 팀 프로젝트 제거하는 방식이다.

 

7. 팀 프로젝트 컬렉션으로 범위가 제한된 아티팩트

하나의 팀 프로젝트 컬렉션 안에 포함된 모든 아티펙트는 다른 팀 프로젝트 컬랙션과 격리된다. 따라서 다른 팀 프로젝트 컬렉션에 있는 파일, 변경 집합, 작업 항목, 빌드 등과 연결할 수 없다.

팀 프로젝트 컬렉션에 걸친 분기 및 병합은 불가능하다.

테스트 컨트롤러와 에이전트 뿐만 아니라 빌드 컨트롤러와 에이전트는 오직 하나의 팀 프로젝트 컬렉션으로 범위가 제한된다.

여러 팀 프로젝트 컬렉션의 팀 프로젝트들에서 작업 항목을 가져오기 위한 작업 항목 쿼리를 만들 수 없다. 단, 보고서 웨어하우스는 모든 팀 프로젝트 컬렉션과 팀 프로젝트에 저장된 아티팩트의 정보를 포함하고 있기 때문에 이 모든 정보를 보여주는 사용자 지정 보고서를 만들 수 있다.

 

8. 팀 프로젝트 컬렉션 및 팀 프로젝트 개수

TFS가 설치된 서버의 하드웨어 사양에 따라 수천 개의 팀 프로젝트 컬렉션을 지원할 수도 있다. 이 제한사항은 SQL Server가 설치된 서버의 하드웨어와 더 많은 관계가 있다. 일반적으로 하나의 SQL Server 인스턴스는 30~100개 사이의 활성화된(팀에서 매일 접근하는) 팀 프로젝트 컬렉션을 지원할 수 있다. 이 범위는 SQL에서 사용할 수 있는 물리적인 메모리와 관계가 있다.

팀 프로젝트 컬렉션에 포함할 수 있는 팀 프로젝트는 프로세스 템플릿에 정의된 작업 항목 형식의 복잡도에 따라 제한된다. TFS의 표준 프로세스 템플릿(예, MSF for Agile Software Development v6.0)을 기준으로 했을 때 500개 이상의 팀 프로젝트를 지원한다.

 

감사합니다.

webmars.

 

신고
Posted by webmars
VS 2013 ALM/TFS 20132014.11.20 17:17

[프로페셔널 TFS 간단정리] 2장. 배포 계획(1) - TFS 특징 및 도입 시 고려사항

이 장에서는 TFS를 도입할 때 고려해야 할 TFS의 특장점과 도입 단계에 대해 설명한다.

 

Team Foundation Server(이하 TFS)는 소프트웨어 개발팀을 위해 통합된 형태로 협업 기능을 제공하는 제품이다. TFS에서 제공하는 협업 기능은 다음과 같다.

  • 프로젝트 관리
  • 작업 항목 추적
  • 버전 제어
  • 테스트 사례 관리
  • 빌드 자동화
  • 보고서
  • 가상 환경 및 랩(Lab) 관리
  • 피드백 관리

 

1. TFS 특장점

1.1. 릴리즈 및 프로젝트 투명성

소프트웨어 개발 수명 주기의 시작부터 끝까지의 다양한 결과물(소스 코드, 요구사항, 빌드, 테스트, 문서 등)을 모두 저장하며, 결과물 간의 관계를 처음부터 마지막까지 보여준다.

 

1.2. 여러 팀 및 역할 간의 협업

TFS에 저장된 소프트웨어 프로세스의 다양한 결과물에 대한 정보와 변경 이력을 손쉽게 확인할 수 있기 때문에 원활한 협업이 가능하다.

 

1.3. 컴파일, 테스트, 패키지, 배포 자동화

빌드 자동화 기능을 통해 빌드 프로세스의 복잡도를 낮출 수 있으며, 빌드 절차를 주기적으로 또는 개발자가 적용한 변경사항에 의해 반복적으로 수행되도록 전환할 수 있다.

 

1.4. 테스트 계획 관리

테스트 사례를 관리할 수 있으며, 릴리즈 주기 동안 테스트 수행 과정을 관리할 수도 있다.

 

1.5. 병렬 개발

이전 릴리즈 버전, 현재 릴리즈 버전, 차기 릴리즈 버전 등 여러 개의 버전을 관리하고, 각각의 버전에 수정된 코드를 통합하는데 필요한 시간과 오류를 줄일 수 있는 분기 및 병합 도구를 제공한다. 이 도구를 통해 언제 어떻게 코드가 변경되었는지 알 수 있으며, 어떤 분기에 변경사항이 통합되었는지도 쉽게 알 수 있다.

 

2. 도입 시 고려사항

2.1. 단계적 도입

팀의 역량 및 내부 상황을 고려하여 여러 단계에 걸쳐서 TFS의 각 부분별로 도입하는 것이 가장 효과적이다. TFS 부분별 도입 단계는 일반적으로 다음과 같다. 그러나 반드시 이 단계를 따라야 하는 것은 아니며, 팀의 핵심 문제를 해결하는데 가장 필요한 기능부터 도입하는 것이 중요하다.

  • 1단계: 버전 제어
  • 2단계: 작업 항목 추적
  • 3단계: 빌드 자동화
  • 4단계: 테스트 사례 관리
  • 5단계: 보고서
  • 6단계: 가상 환경 및 랩(Lab) 관리

 

2.2. TFS 설치 서버

소프트웨어 개발을 위주로 하는 조직에서는 버전 제어 저장소가 작업을 완료하는데 아주 중요하다. 따라서 TFS는 조직의 다른 중요 업부 응용프로그램과 같은 수준으로 취급되어야 한다.

TFS는 한 대의 서버 또는 다중 서버에 호스트될 수 있다. 각 서버는 물리적 메모리, 디스크, CPU 등 충분한 자원을 가져야 한다.

만약 업그레이드, 구성 변경, 교육 등을 진행할 경우에는 테스트 용 TFS를 사용해야 한다.

 

2.3. TFS 관리자

TFS 환경을 구성하고 상태를 책임질 인원을 식별해야 한다. 일반적으로 TFS 관리 업무는 회사 내의 타 업무와 병행하여 수행하도록 하며, 여의치 않을 경우 외부 전문 회사에 TFS 관리 서비스를 의뢰하기도 한다.

 

2.4. 파일럿 프로젝트

TFS를 새로 도입하거나 커스터마이징을 해야 할 부분을 찾아내고자 할 때는 미리 테스트하는 것이 좋으며 이를 위한 소규모 팀 프로젝트를 식별해야 한다. 이와 같이 파일럿 프로젝트를 수행함으로써 도움이 될 수 있는 많은 정보를 얻을 수 있다.

 

감사합니다.

webmars.

신고
Posted by webmars

티스토리 툴바