Scrum 팀은 계획 회의에서 인프라 작업을 어떻게 설명합니까?


33

Scrum 팀은 계획 회의에서 개발 / 인프라 작업을 어떻게 설명합니까?

언뜻보기에는 최종 사용자 가치를 제공하지 않기 때문에 사용자 이야기처럼 보이지 않습니다.

그러나 특정 사용자 스토리에 작업으로 첨부하는 것도 때로는 의미가 없습니다. 예를 들어, 작업이 "Setup Bamboo"라고 가정하십시오. 팀이 수동으로 구축 및 배포 할 수 있으므로이 작업은 사용자 스토리를 완료 할 필요가 없습니다. 따라서이 작업이 사용자 스토리를 완료하는 데 필요하지 않으므로 사용자 스토리에 첨부하는 것은 의미가 없습니다.

따라서 이러한 작업이 사용자 스토리가됨을 나타냅니다. 그러나 팀 스토리가이를 지적하면 제품 소유자가 수많은 기술 사용자 스토리가 첨부 된 백 로그가 아닌 백 로그에 대한 속도를 알고 싶어하기 때문에 속도가 이상하게 변경됩니다.

답변:


25

그들은 실제로 사용자 이야기가 아닙니다. 그들은 이해 관계자의 이야기입니다. 소프트웨어가 실제로 사용자가 직접 비용을 지불하지 않는 한, 스토리가 완전히 이익을 위해 만들어지는 경우는 거의 없습니다.

몇 가지 예를 들어 보겠습니다.

  • 광고주가보다 효과적인 광고를 할 수있는 키워드로 작성된 기사
  • 중재자는 스팸을 수동으로 처리하지 않아도되는 보안 문자입니다.

대부분의 기술 사례는 실제로 비즈니스 이점을 제공하지만 사용자에게는 거의 해당되지 않습니다. 다른 방식으로 표현하면 도움이 될 수 있습니다. 나는 보통 Chris Matts의 Feature Injection 템플릿을 사용합니다.

In order to <achieve my goal>
As <the stakeholder who wants the goal>
I want (<some users to do>) <some stuff>.

이는 개발 팀을 포함한 모든 종류의 이해 관계자를 명시 적으로 인식합니다. 이제 비즈니스 이점을 불러 와서 기술 스토리를 표현할 수 있습니다.

In order to minimize the risk of deploying something broken
As the team deploying the code
We want to spend a few days on an automated deployment system.

나는 이것에 관한 몇 가지 블로그 게시물을 썼습니다 : 그것들은 사용자 이야기가 아니며 , 기능 주입 및 기술 기사 다루기 . 그들이 도움을 바랍니다.


3
의미론 ... IMHO 이것은 애자일 철학에 위배됩니다. 따뜻한 퍼지 느낌 이외의 실제 가치를 제공하지 않는 곳에 필요한 분리를 추가합니다.
Aaron McIver

5
경험이나 이론으로 말하고 있습니까? 저는이 템플릿을 여러 팀과 함께 사용해 왔기 때문에 질문을했는데 목표를 먼저 두는 것이 프로젝트 비전 달성에 필요한 것을 확립하는 데 실제로 도움이 된다는 것을 알게되었습니다 . Mike Cohn은 "그래서"를 선택적으로 사용합니다. 나는 그것을 믿지 않습니다.
Lunivore

1
이 템플릿은 비 기술적 PO에 수행 할 기술 작업의 가치를 전달하는 데 도움이됩니다. "품질 관리 전문가로서 지속적인 통합 서버를 원하므로 매일 자동으로 응용 프로그램을 테스트해야합니다"와 "프로젝트 종료시 필요한 수동 테스트의 양을 줄이려면 QA 팀으로서 지속적인 통합 서버를 테스트하려고합니다. " 숨겨진 비즈니스를 표시하면 OP에 포함 여부를 결정할 수있는 충분한 정보가 제공됩니다.
Soronthar

1
@Soronthar 그렇다면 어디에서 끝나는가? "프로그래밍 팀으로서 좌절 수준을 줄이기 위해 우리는 우리 자신의 규칙을 만들고 싶습니다."그것은 본질적으로 순환 적입니다. 그것이 사용자에게 계속 집중 한 이유 중 하나입니다. PO에서 작업을 숨겨야합니다. PO는 이러한 세부 사항에 관심을 가질 필요가 없기 때문입니다.
Aaron McIver

9
아, 그리고 명확하지 않은 경우-나는 스크럼에 대한 것보다 유용한 작업을 수행하는 데 더 관심이 있습니다. 아니면 마른. 또는 BDD. 또한 소프트웨어에서 가장 유용한 작업은 위험을 배우고 관리하는 것과 관련이 있다고 생각합니다. 방법론이 유용한 작업을 수행 할 때 유용한 작업을하는 경향이 있습니다.
Lunivore

12

속도는 (드래그와 달리) 유용한 작업을 수행 할 수있는 팀의 능력을 측정 한 것입니다. 인프라 작업은 팀을 장기적으로보다 효율적으로 만들어서 간접적이지만 최종 사용자 가치를 제공합니다. 나는 사용자 스토리 (이 경우 사용자는 개발자 팀)로 이러한 것들을 추적하고 적절하게 우선 순위를 지정하는 데 아무런 문제가 없습니다. 고객과 의사 소통이 잘되는 제품 소유자는 결과물을 방해하지 않고 그러한 작업이 적합한 위치를 파악할 수 있어야합니다.


3
팀이 사용자에게 직접 가치있는 것들과 희망적으로 간접적 인 가치를 제공하는 것들 사이의 구분을 흐리게하는 것은 위험하다고 생각합니다. 특히, "우리가 좋아하는 모든 것은 가치가 있습니다"접근 방식은 개발자를위한 인프라 스트럭처를위한 금도금 및 인프라를 장려합니다. 사람들이 현금으로 돈을 지불하는 유일한 방법이기 때문에 사람들은 속도에 대한 직접적인 비즈니스 가치를 가진 이야기 만 세울 것을 강력히 권장합니다.
William Pietri

3
베어스와 왈츠. 당신이하는 모든 일이 그 전에는 아무도하지 않았기 때문에 가장 가치있는 일입니다 (그렇지 않으면 더 저렴하고 다른 일을하는 방법이 없습니다). 우리가하는 일의 대부분은 새로운 일을하는 법을 배우는 것입니다. 인프라 작업은 새로운 것에 대한 피드백을 얻고 더 빨리 배울 수 있도록 도와줍니다. 더 빨리 배우는 데 도움이된다면 @Kristo와 함께 있습니다.
Lunivore

@Lunivore-차이점은 아무도 당신에게 학습 비용을 지불하지 않는다는 것입니다. 그들은 당신이 학습으로 무엇을하는지 지불합니다. 팀은 도구와 지식을 향상시키기 위해 항상 시간이 걸립니다. 그러나 속도로 계산하면 팀이해야 할 일과 혼동됩니다.
William Pietri

도구와 지식에 관한 것이 아닙니다. Ashley Johnson의 실험 실험 : 마지막으로 수행 한 프로젝트에 대해 생각해보십시오. 동일한 사람, 동일한 요구 사항, 동일한 기술을 통해 학습 한 모든 내용을 학습 한 후 다시 수행하는 데 걸리는 시간을 생각하십시오. PM의 인용은 약 25 %에서 33 %로 실행됩니다. 나머지는 소프트웨어 프로젝트에서 얼마나 많은 학습을하는지입니다. 고의적 발견에 대한 Dan North의 게시물을 읽어보십시오. dannorth.net/2010/08/30/introducing-deliberate-discovery
Lunivore

11

점차적으로하십시오.

이해 관계자가 원하지 않으면 이야기하지 마십시오. 한 번에 조금만 돌봐주세요. 예를 들어, 수동으로 처음 배포 할 때 두 번째로, 당신은 약간 자동화합니다. 세 번째로, 당신은 조금 더 자동화합니다. 결국, 빌드가 가장 큰 문제는 아니므로 다른 것에 집중하십시오.

처음에는 이러한 개발자 중심의 작업이 더 많을 것입니다. 당신의 속도 (스토리로 측정)는 더 낮아질 것입니다. 상황을 올바르게 표현한 것입니다. 그러나 당신은 항상 일부를 가질 것이므로 팀이 프로세스를 개선하는 데 필요한 일을하는 습관을들이는 것이 중요합니다.


+1 : 스파이크 솔루션을 처음으로 사용한 다음 두 번째로 더 좋고 안정적으로 리팩터링합니다.
S.Lott

그렇다면 특히 좋은 속도 메트릭을 설정하지 않은 경우 개발자 중심의 작업이 스프린트를 차지하지 않도록하려면 어떻게해야합니까? 우리는 장기적으로 도움이 될만한 것들에 너무 많은 시간을 보냈기 때문에 초기 결과물을 그리워하고 싶지 않습니다.
Kristo

어쨌든 정기적으로 반영하고 프로세스를 개선 할 시간을 가져야합니다.
Michael

@ 크리스토, 나는 당신의 고객 / 제품 관리자가 당신을 멀리 할 수 ​​있다고 생각하지 않습니다. 정해진 속도가 없어도 첫 번째 스프린트에 전달할 가치를 잘 추측하고 협상 할 수 있습니다. 또한 @ S.Lott와 같이 급등하면 어쨌든 배달하지 않을 것이라고 제안합니다.
Michael

@ 크리스토 : 점진적으로 수행하고 정기적으로 반영하여 확인하십시오. 당신이 시작하면, 당신은 확실히 잘못된 금액을하고있을 것입니다 알 수 있습니다. 매주, 더 많거나 적은 인프라 스트럭처를 수행해야하는지, 그리고 가장 가치있는 것에 집중하고 있는지에 대해 이야기하십시오. 항상 균형을 잡는 행동입니다.
William Pietri

6

이상적인 접근 방법 IMHO는 인프라 스트럭처 노력을 사용자 스토리의 첫 번째 가치가되는 작업으로 배치하는 것입니다. 당신이 언급했듯이.

당신의 모범을 보임; 수동으로 구축하고 배포한다는 것은 지속적인 노력이며 완성 된 형태가 없음을 의미합니다. 무한정 존재합니다.

이전에 수동으로 수행 한 일반적인 응용 프로그램에서 모든 노력을 자동화하는 코드에 대해서도 마찬가지입니다. 사용자 스토리에서 작업으로이 노력을 정의하는 것은 완전 함을 정의합니다. 본질적으로 최종 사용자에게 가치가 있습니다.

각 스프린트마다 확실히 애플리케이션을 빌드하고 배포 할 수 있지만 백 로그를 통해 공식적으로 추적되지 않는 일상적인 작업의 일부가되고이 모든 것이 무례하게됩니다.


이 답변에 감사드립니다. 마지막으로, "가장 이상적인 방법은 인프라 스트럭처 노력을 사용자 스토리 아래에 가치를 부여하는 작업으로 배치하는 것"입니다.
Igor Popov

실제로이 인프라 작업은 완료 정의에 포함되어야합니다.
Igor Popov

4

사용자 스토리는 사용자 관점에서 비즈니스 가치를 정의합니다. 이러한 인프라 작업으로 인해 일반적으로 "폐기물"로 간주됩니다. 반드시 필요하지 않다는 의미는 아닙니다. 더 많은 인프라 작업을 수행하면 비즈니스 가치가 낮아집니다. 이러한 인프라 작업으로 인해 사용자가 사용자로 간주해서는 안되며 사용자 스토리에 첨부해서는 안됩니다.

계획 회의 팀에서는 다음 스프린트 동안 어떤 인프라 작업이 절대적으로 필요한지 고려해야합니다. 이러한 인프라 작업을 염두에두고 약속합니다. 속도는 팀이 제공 할 수있는 비즈니스 가치를 측정하기 때문에 올바른 결과 인 팀 속도에 영향을 미칩니다.


2

나는 사용자 스토리를 최종 사용자 가치를 제공해야한다고 생각하지 않았습니다. 일반적이지만 사용자 스토리를 처리하는 방식은 아닙니다. 때로는 이러한 유형의 작업이 급격한 것으로 간주되지만 다른 사용자 사례와 마찬가지로 일반적인 사용자 사례가 있습니다.


일부 팀은 그러한 방식으로 작동하지만 전달 된 가치를 측정하기가 더 어렵습니다. 개인적으로 팀은 비즈니스 가치가있는 스토리 만 만들 것을 제안합니다. (스파이크는 사람들이 미래의 옵션과 비용에 대한 정보를 구매하기 때문에 비즈니스 가치가 있습니다.)
William Pietri

그러나 비즈니스 가치는 무엇입니까? 광범위한 용어이며, 비즈니스가 소프트웨어를 더 빨리 출시하거나 더 잘 출시 할 수있게하는 모든 것이 그 비즈니스에 가치가 있습니다.
앤디 Wiesendanger

내가 그리는 차이점은 주로 팀에게 직접적인 가치가있는 것들과 당신이 실제로 봉사하는 사람들에게 직접적인 가치가있는 것들 사이에 있습니다. 나는 그것이 궁극적으로 중요한 유일한 값이기 때문에 속도에 대해서만 후자를 계산해야한다고 생각합니다. 가치 창출을 개선하기 위해 수행되는 일은 개선 된 장기 속도를 통해 속도를 설명합니다. 바로 계산하면 인센티브가 왜곡되고 이익이 두 배로 계산됩니다.
William Pietri

2

내가 본 많은 인프라에서 주어진 것으로 간주됩니다. 여기에는 다음과 같은 것들이 포함됩니다 :

  • 개정 관리 시스템;
  • 자동화 된 빌드 시스템;
  • IDE 및 기타 개발자 도구;
  • 개발 서버;
  • 배포 프로세스 과
  • 프로젝트 프로세스 및 표준.

내가 작업 한 대부분의 방법론은 그들에게 많은 관심을 기울이지 않습니다. 이것들은 제가 Release 0이라고 부르는 형태입니다. 개발을 시작하기 전에 준비해야합니다. 스토리에 대한 작업을 시작하면 이러한 변경 사항이 프로세스 개선으로 추적 될 수 있습니다.

개발 팀에 의견이있을 수 있지만 대부분의 항목은 프로젝트 지원 팀이 처리해야합니다. 여러 프로젝트에서 이러한 항목을 표준화하면 조직에 상당한 투자 회수가 이루어져야합니다.


1
+1 : 이것이 적절하지 않으면 애자일은 정말 어렵습니다. 안정적이고 검증 된 인프라 및 플랫폼은 민첩성을위한 전제 조건입니다.
S.Lott

1

다음을 고려하세요:

  • 기존 제품군에 주요 기능을 추가하는 Scrum 팀.

  • 엔지니어링 모범 사례를 기반으로 최신 상태를 유지하려면 개발 기술 / 도구 / 유틸리티를 업그레이드해야합니다.

  • 이 작업을 통해 릴리스를 전면로드하면 릴리스 과정에서 Sprints 문제를 해결할 수 있습니다.

  • 사업체가이 품목들로부터 간접적 인 가치를 얻었 기 때문에 투명성을 위해 PBI ( Product Backlog Items ) 라고 제안합니다 .

  • 팀은 이러한 항목의 크기를 조정하고 PBI처럼 취급합니다.

이 문제는 다른 비즈니스 중심의 PBI 아래에서 작업 으로이 작업을 숨기는 방법을 찾는 데 시간을 낭비하고 싶지 않다는 사실로 귀결됩니다.

이런 종류의 인프라 작업으로 인해 PBI 크기 조정이 왜곡되는 것을 원하지 않습니다. 무엇을하고 있는지, 내가 무엇을 지불하고 있는지 이해하고 싶습니다.

또한 양질의 솔루션을 제공하는 데 필요한 인프라에 투자하여 팀이 비즈니스의 약속을 이해하도록하는 데 가치가 있다고 생각합니다.


0

XP 는 모든 도구와 인프라가 설정되어있는 "반복 제로"를 권장 합니다. 이것에 대한 이야기를 쓰는 것은 선택 사항이지만 아마도 좋은 생각 일 것입니다. 인프라 (증분 빌드, 자동 테스트 및 배포, 알림 등)를 테스트 할 수 있으면 유리합니다.


2
XP는 권장하지 않습니다. 어떤 사람들은 그렇게하지만 Beck, et al. 개인적으로, Iteration Zero는 나쁜 생각이라고 생각합니다.
William Pietri

또 다른 문제는 항상 0에서 시작하지는 않습니다. 지금 또는 다음 스프린트에서 무언가가 필요하다는 것을 알 수 있습니다.
앤디 Wiesendanger

@ 윌리엄 : Kent Beck의 "극단 프로그래밍 계획"(66 페이지 15 장)
Steven A. Lowe

권장 사항이 아닙니다. 그들은 아이디어라고 생각하며 "이전에 기술을 사용해 본 적이 없다면 프로그래밍을 시작하기 직전에 기술을 얻는 데 2 ​​주를 소비하는 것이 좋습니다."라고 말합니다. 또한 "모든 인프라"를 제안하지 않고 기본 자동화 테스트, 빌드 및 배포 스크립트 만 제공합니다.
William Pietri

@ 윌리엄 : 아하, 당신이 뭘 얻었는지 봅니다. 나는 모든 소프트웨어 인프라, 당신이 언급 한 것만 의미하는 것은 아닙니다
Steven A. Lowe

0

우리 팀에서는 다음을 수행합니다.

  1. 더 낮은 초점 계수를 가정하십시오 .
  2. 실제로 구현해야하는 사용자 스토리에 이러한 작업포함 시키십시오.
  3. 일부 작업이 완전히 필요하지만 직접적인 비즈니스 가치를 제공하지 않는 경우 (예 : 한 프레임 워크에서 다른 프레임 워크로 단위 테스트 마이그레이션) 스프린트 시작시 "연속 작업"목록이 작성 됩니다. 이들은 이야기가 아닌 개발 관련 작업이지만 개발 팀에서는 원하는 작업을 수행합니다. 우리는 이러한 과제를 칠판에 나열하고 스토리와는 별도로 유지합니다. 스프린트 동안, 매일 회의에서 우리는 그것을 달성하기 위해 수행 된 작업을 검토합니다.

2 단계가 가장 중요합니다. 민첩한 연습과 마찬가지로 Scrum에서는 작업을 수행하기 위해 가능한 한 적은 노력을 기울입니다. 불필요한 작업을하면서 인생을 낭비하지 않는 방법으로 활용하십시오. 저의 경험에 따르면 "차가워 질 것"의 50 % 정도가 장기적으로 포기되고 유지되지 않는 것으로 나타났습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.