2012-02-12 3 views
0

우리는 스크럼을 검토하고 제품에서 어떻게 구현할 수 있는지보고 있습니다. 그것은 우리에게 상당히 새로운 것이기 때문에 대부분의 예제는 우리의 상황에 어떻게 적용될 것인지에 대한 몇 가지 질문이있는 매우 간단한 사이클을 따른다.병렬 제품으로 단일 팀을 처리하는 방법은 무엇입니까?

우리는 소수의 개발자로 구성된 단일 팀입니다. 우리는 여러 개의 병렬 제품 버전을 가진 1 개의 제품을 보유하고 있습니다. 예 :

Foo/ 
    /version_1 
    /version_2 
    /fork_a 
    /fork_b 

버전 1은 주로 버그 수정을받는 우리의 기존 버전이지만, 우리는 우리의 주요 개발에서 포트 가끔 기능을 백업해야 : 버전 2 모두 fork_a 및 우리의 제품의 특별 버전 fork_b 있습니다, Foo는 대체 UI에서 작은 추가 기능으로 이동할 수 있습니다. 현재 포크가 만들어지고 완료되면 닫힌 상태로 취급되며 다시 해당 지점으로 포팅되지 않습니다.

우리의 문제는 이러한 모든 제품 버전이 병렬로 개발된다는 점입니다. 문제를 해결하는 방법을 시각화 할 수 없습니다. (우리는 TFS 2010을 우리의 도구로 사용할 계획이므로 어떤 직접적인 예도 유용합니다.)

우리는 모든 것을 다른 제품으로 취급하지만 각 제품은 자체 릴리스 및 스프린트가 있습니다. 그러나 version_1의 feature A와 version_2의 feature B에서 작업해야하는 개발자는 병렬 스프린트로 예약 할 수 있습니다. 기본적으로 수동으로 관리해야합니다. 이는 우리가 제대로 시각화 할 수있는 보고서를 생성 할 수 없다는 것을 의미합니다.

대체 아이디어는 모든 것을 하나의 제품으로 취급하고 릴리스 용어를 삭제하는 것이 었습니다. 또는 분기 별 릴리스를 사용하고 그 아래 모든 제품의 전력 질주를하십시오. 그러나 그것은 우리가 1 개월 스프린트의 첫 주에 제품 릴리즈를 가질 수 있음을 의미합니다. 어떻게 우리가 그것과 함께할까요? 아니면 단일 제품 출시로 수행 된 작업을 올바르게 파악하는 방법은 무엇입니까? 작업 개발자 X가 스프린트 1과 2에서 한 것은 우리가 목표로하는 제품 출시에 아무런 소용이 없을 수 있기 때문입니다.

모든 실제 사례와이를 관리하는 방법에 대한 아이디어는 높이 평가됩니다.

답변

0

특정 릴리스에서 수행 된 작업을 확인하려면 체크인 할 때 작업 항목 연결을 사용하면 어떤 항목이 어떤 분기에 들어 갔는지 간단히 질의 할 수 있습니다.

자동 빌드를 사용하여 변경 세트 (및 작업 항목)를 제품의 빌드 된 버전에 자동으로 연관시킵니다. 그렇게하면 어떤 변경 사항이 어떤 바이너리로 들어 갔는지 쉽게 파악할 수 있습니다.

마침내 마케팅 담당자가 각 릴리스의 이름을 지정하는 방법과 기술 버전 번호가 마케팅 버전과 일치하지 않아도되도록 결정할 때 대부분의 Microsoft 제품은 Windows 7이 아니지만 버전 번호가 7이고, 내부적으로 6.1이고, 빌드는 7600.16385.090713-1255입니다.

1

우리는 스크럼 팀과 비슷한 상황을 처리합니다. 우리는 한 팀 (내부 데스크톱 응용 프로그램, 웹 응용 프로그램, 웹 서비스)으로 개발할 수있는 더 많은 제품을 보유하고 있습니다. 이 모든 제품에는 공통 기술 기반 (C# .NET)이 있지만 다양한 클라이언트 및 프레젠테이션 기술이 있습니다. 우리는 실제로 별도의 팀으로 나누기에 충분한 소프트웨어 개발자를 보유하고 있지만 그렇게 할 수있는 충분한 지원 캐스트 (QA, DBA, BA)가 없습니다. 따라서 우리는 모든 이야기가 전체 팀에서 처리 될 수있는 것은 아니라는 점에서 고전적인 스크럼 접근법을 조금 수정하는 결과를 낳았습니다. 일부는 더 많은 웹 개발자와 더 많은 데스크탑이었습니다. 우리는 2 주에 한 번씩 모든 제품에 대한 피드백을 이해 관계자에게 전달하는 데 많은 성공을 거두고 있습니다. 우리는 모든 제품을 동기화하여 출시합니다.

나는 최선의 일은 귀하의 소급 결정에 따라 어떤 과정이든 시작되고 조정되는 것처럼 시작하는 것입니다. 모든 민첩한 프로세스가 특정 상황에 맞춰지기 때문에 교과서에 너무 매달리지 마십시오. 마음을 가꾸는 동안 아무것도하지 않는 것보다 "옳은"일을하는 것이 낫습니다.

0

트렁크와 지점을 운영하는 팀에서 일했습니다. 당시에 우리는 애자일을 연습하지는 않았지만 그것이 우리의 상식을 사용하여 당겨서 멈추지 않았습니다. 내가 지금 다시해야한다면, 스프린트에서 일어날 필요가있는 모든 작업을위한 메인 보드가있을 것이지만 각기 다른 포크/브랜치에 대한 서브 보드도 가질 것입니다. 메인 보드와 서브 보드는 매일 같은 시간에 업데이트됩니다. 서브 보드는 단지 각 포크/지점에 특정한 스토리와 진행 상황을 시각화합니다. 메인 보드의 모든 것은 여전히 ​​모든 스프린트 기준에 따라 완료됩니다. 릴리즈는 동일한 스프린트 간격 (시간은 다를 수 있음)으로 동기화되어 팀을 함께 유지해야합니다 (병렬 스프린트 없음).

관련 문제