프로젝트 관리의 작업 지시는 프로젝트에서 수행되는 모든 작업에 자극이 됩니다. 작업 지시가 주어지면 일반적으로 팀 구성원은 예정일이 포함된 "수행할 작업" 목록을 작성하여 작업 계획을 세웁니다. 예정일은 작업
지시에 요약된 "계약" 조건에 맞아야 합니다.
다음 단계는 책임 역할에 따라, 소스 제어에 추가되거나 작업해야 하는 필요한 중간 산출물을 구하거나 작성하는 것입니다.
프로젝트 진행 시, 제어된 중간 산출물 버전은 일반적으로 액세스가 제한된 중앙 저장소에서 유지보수합니다. 개발자들은 특정 버전의 중간 산출물을 가져오고, 변경하고, 다시 제출하여 제어된 최신 버전을 만들 때 체크인
및 체크아웃 오퍼레이션을 수행합니다. 이렇게 하는 이유는 버전 제어된 중간 산출물을 변경할 때 개발자들이 반드시 '체크인 및 체크아웃' 프로시저를 따르도록 하기 위해서입니다.
모든 개발자가 수행하는 기본 CM 오퍼레이션은 다음과 같습니다.
-
체크인 - 변경된 요소의 새 버전을 저장하여
다른 팀 구성원이 체크아웃할 때 변경된 내용을 제공합니다. 체크인할 때마다 변경사항을 설명하는 짤막한 주석을 달도록 하는 것이 좋습니다.
-
소스 제어에 추가 - 최초 버전을 작성하면서 새 파일이나 디렉토리를 버전 제어 하에 둡니다.
-
전달 - 통합자에게 변경사항을 제출합니다.
-
리베이스 - 다른 개발자가 변경한 내용을 보여줍니다.
일반적으로 구현자는 다음과 같은 방식으로 작업합니다.
-
변경해야 하는 파일을 체크아웃합니다.
-
파일을 변경합니다.
-
변경사항을 확인하기 위해 유닛 테스트를 수행합니다.
-
변경사항을 승인받습니다.
-
변경사항을 체크인합니다.
-
변경사항을 승격합니다.
다른 유형의 체크아웃
기본적으로, 요소를 체크아웃하면 새 버전을 작성할 수 있는 독점적인 권한이 부여됩니다. 이를 예약된 체크아웃이라고 합니다. 해당 요소에 대해 예약된 체크아웃을 시도하는 다른 사용자는 이 작업을 수행할
수 없습니다.
병렬적인 개발 상황에서는 다른 사람이 이미 파일을 이미 체크아웃한 경우에도 예약되지 않은 체크아웃 메커니즘을 사용하여 파일을 체크아웃합니다.
일부 조직에서는 선 도착/선 서비스 개발 방식을 사용합니다. 이 경우 여러 사용자가 동일한 요소에 대해 예약되지 않은 체크아웃을 수행합니다. 이들 중 한 명이 뒤이어 체크인을 수행하여 해당 파일의 다음 버전을
작성할 수 있습니다. 나머지 다른 사람들은 후속 버전을 작성하기 전에 이 변경사항을 이미 체크인한 변경사항에 병합해야 합니다.
|