요소의 배송 날짜가 "민첩한"작업 방식으로 고정되어 있습니까?


47

우리는 고위 경영진에 의해 새로운 프로젝트에 대해 민첩한 방식으로 작업 할 것이라고 계속 들었습니다. 그들은 스탠드 업, 스프린트 계획, 회고 등을 설정했습니다. 그러나 이제는 각 요소에 대해 날짜를 제공하고 각 요소에 대해 데모 할 날짜를 다시 보여주기 위해 원하는 모든 작업을 자세히 설명하는 계획을 세웠습니다. 하나. 이 계획은 2017 년 2 분기로 진행됩니다.

나에게 이것은 최악의 의미에서 폭포처럼 보입니다. 기술 팀의 의견이없는 계획은 계획의 특정 이야기가 매우 불분명하고 개발자 팀에 의해 평가되지 않은 곳에서 작성되었습니다.

그러나 그들의 주장은 "고등 이해 관계자들은 반드시 날짜를 가져야하고 계획이 있어야한다는 것입니다. 우리는 백 로그에서 작업 할 수 없습니다." 나에게 이것은 고위 이해 당사자들이 애자일에 인수하지 않은 것으로 보이므로 우리는 그것을 낮은 수준에서 이행하지 못할 운명에 처하게된다.

이것은 공정한 판단입니까, 아니면이 계획을 과도하게 반응합니까?!


28
경영진이 애자일과는 전혀 관련이 없습니다.
Euphoric

13
"이것은 최악의 의미에서 폭포처럼 보인다"-반드시 폭포를 싫어하지만, 당신이 싫어하는 모든 것이 폭포라는 것을 따르는 것은 아닙니다. 예를 들어 프로세스에서 초기 "스파이크"가 발생하는 경우, 즉 다른 부품을 설계하기 전에 시스템의 일부를 실제로 구현하는 경우 Agile을 수행하지 않더라도 Waterfall을 사용하지 않는 것입니다 (적절하게 ) 중 하나입니다. 많은 요구 사항 문서에 대한 응답으로 많은 디자인 문서를 작성하지 않으면 애자일을 수행하지 않더라도 Waterfall을 사용하지 않는 것입니다.
Steve Jessop

3
거대한 계획이 비현실적이며 일어날 가능성이있는 일이 발생하자마자 모든 것을 버리십시오. 경영진이 불만을 제기 할 때 애자일 선언문은 "계획에 따라 변화에 대응하는"가치를 중요하게 생각합니다. 그들은 당신에게 계획을 고수하라고 말하고 당신이 민첩하게 일하고 있지 않다는 확신을 가지고 말할 수있을 것입니다. 당신이 자신있게 예측할 수있는 것보다 앞서서, 다음에, 그들은 상세한 (그리고 운명이있는) 스케줄에 시간을 낭비하지 않을 것입니다.
anaximander

3
@Kyralessa 적어도 내 경험으로는 Scrum은 거의 항상 민첩한 방법론으로 판매됩니다.
T. Sar-복원 모니카

3
내가 할 수있는 빠른 연구에서 @kyralessa는 당신이 스크럼이 민첩하지 않다고 말하는 유일한 사람 인 것 같습니다. 당신이 이것을 백업하는 것에 대한 참조가 있다면 나는 그것들을 읽고 싶습니다.
Newtopian

답변:


60

마감일을 맞추는 것과 모든 요구 사항을 충족시키는 것에는 차이가 있습니다. 그것은 "빠르고, 좋거나 싸다, 2 개를 고르세요"라는 옛 속담과 같습니다.

따라서 여기에는 배송 날짜가 정해져 있습니다. 즉, 마지막 스프린트가 끝날 때 배송하는 제품이 최종 제품이된다는 시간을 알 수 있습니다. 당신은 항상 당신이 항상 모든 스프린트가 끝날 때마다 작동하는 소프트웨어를 출시해야한다는 것을 기억하십시오.

최종 소프트웨어에는 일부 기능이 없을 수 있습니다. 글쎄, 이것은 폭포를 포함한 모든 개발 방법론에서 발생합니다. 앞으로 일어날 일은 패치 패치 나 버전 2를 생산해야한다는 것입니다. 최종 배송은 물론 충분하다고 가정합니다!

따라서 고정 날짜는 민첩하지 않은 작업 방식이 아닙니다. 애자일은 새로운 계획 도구를 사용할 수있는 예산이 무제한이라는 것을 의미하지는 않습니다. 그것은 당신이 배달에 집중해야한다는 것을 의미합니다. 그것은 결코 나쁜 일이 아닙니다.


5
이것은 사실이지만, 만약 경영진이 배달 날짜에 기능이 완성되기를 원한다면 개발자는 가방을 들고 있습니다. OP가 설명하는 내용이 본질적으로 Agile 작업에 반대되는 것이 아니기 때문에 내 의견을 밝힙니다 .
Cronax

3
@Cronax 이름을 가진 모든 관리자는 시간과 기능이 서로 반대되는 힘을 이해합니다. 가장 중요한 것을 선택하십시오. 그들이 기능을 완성하고 타임 박스로 만들어야한다고 결정하면 팀을 적절하게 관리하지 않는 것이 잘못입니다. (알아요 ...)
gbjbaanb

3
@Cronax는 가난한 관리자, 너무 자주 판매를 떨어 뜨리는 관리자에게 너무 열심히하지 않습니다.
gbjbaanb

5
언급 한대로 "각 요소에 대해 날짜를 전달하고 각 요소에서 데모 할 내용으로 날짜를 다시 보여주기를 원하는 모든 작업"을 읽은 결과, 계획이 주어진 날짜에 제공되는 항목에 대해 융통성이있는 것 같지는 않습니다.
JimmyJames

14
이 답변은 좋은 지적이지만 다른 상황에만 적용되는 것 같습니다. 질문에서, 무엇이 전달 될 것인지 그리고 언제 전달 될지는 경영진에 의해 지시되는 것 같습니다.
벤 Aaronson

37

아닙니다. 이것은 비 소프트웨어 회사가하는 경향이있는 정확한 종류입니다. 계획, 마감일 및 예산이 있습니다. 인간은 미래를 예측하는 데 어려움을 겪기 때문에 필연적으로 실패 할 것입니다.

여기에서 다양한 요점을 살펴 보겠습니다.

우리는 고위 경영진에 의해 새로운 프로젝트에 대해 민첩한 방식으로 작업 할 것이라고 계속 들었습니다.

애자일이라면 경영진의 작업 방법에 대한 설명을들을 수없는 자체 조직화 된 팀이있을 것입니다.

그러나 이제는 각 요소에 대해 날짜를 제공하고 각 요소에서 시연 할 내용으로 날짜를 다시 표시하려는 모든 작업을 자세히 설명하는 계획을 세웠습니다.

아니. 그것은 반복적 인 개발의 대립입니다. 어떤 일 이 발생하고 (누군가 아프거나, 누군가가 떠나고, 일부 요구 사항을 잊어 버렸거나, 서버가 죽는 등), 이러한 목표 중 하나를 놓치게됩니다. 이제 경영진은 전체 계획 을 다시 계산 하거나 개발에 대한 채찍을 깨뜨립니다.

개발자 팀에 의해 추정 된 것은 없습니다.

어떻게 관리는이 계획이 실행 가능한 것을 알고 않습니다 전혀 ? 애자일에서는 작업이 협상입니다. 사업은 말합니다 : 우리는 이것을 원합니다. 엔지니어링은 다음과 같이 말합니다. XYZ를 가정하면 3 주가 소요됩니다. 설명하고있는 고객과의 협업은 없습니다. 개인과 상호 작용이 없습니다.

나에게 이것은 고위 이해 당사자들이 애자일에 인수하지 않은 것으로 보이므로 우리는 그것을 낮은 수준에서 이행하지 못할 운명에 처하게된다.

당신은 반드시 운명 일 필요는 없지만, 그렇지 않다면 우연의 일치 일뿐입니다. 경영진이 미래를 볼 수 없기 때문에 모든 작업이 나타나면 날짜를 놓치게됩니다. 그것은 당신의 잘못이 될 입니다. 그런 다음 경영진은 날짜를 맞추기 위해 더 많은 시간을 일하거나 사람들을 문제에 처하게 할 수 있습니다.

가장 좋은 예 는 관리가 실제로 민첩하며 범위를 줄일만큼 똑똑하다는 것입니다. 그들은 단지이 모든 시간을 쓸모없는 큰 세부 계획을 세우는 데 보냈다는 것을 의미합니다.


6
비관적 @ 와일드 카드? 아니면 현실주의 입니까?
RubberDuck

7
@Wildcard 그리고 아이러니하게 매우 자기 참조, 미래에 대한 예측 ;-)
Cort Ammon

1
와일드 카드가 맞습니다. 태양이 폭발 할 때나 기후 변화로 인해 자연 재해가 얼마나 더 많이 일어날 지, 세계 평화는 가까운 미래에 대한 농담으로 남아있을 것입니다. Telastyn, 우리는 미래를 예측하는 데 능숙하므로 지나치게 비관적 인 진술을 줄이십시오!
null

8
@ 와일드 카드- No plan survives contact with the enemy. 그리고 2020 년 1 월 NYSE에 누가 가장 큰 승자가 될지 알 수 없습니다. 사실입니다. 우리는 그것이 사실임을 보여주는 수많은 천년의 데이터를 가지고 있습니다. 그리고 당신이 모르거나 알 수없는 것을 아는 것은 소프트웨어 구축을 계획 할 때 매우 도움이됩니다. OP의 상황을 살펴보십시오. 계획의 압도적 다수는 우연보다 더 나은 추측에 기반을두고 있습니다. 나는 이것이 끔찍한 계획이라고 생각합니다. 당신이 그것이 순진하고 치명적이라고 생각 하더라도 , 그것은 여전히 ​​민첩하지 않습니다.
Telastyn

2
Agile이 아니라는 점에 완전히 동의했습니다. 질문에 설명되어 있습니다. 그럼에도 불구하고 목표는 매일 달성 될 수 있습니다. 전술적 목표가 더 넓은 전략적 목표 를 달성하기 위해 조정을 요구 하는 것은 사실 이지만, 예산 내에서 마감일을 맞추거나 그렇게하는 것이 불가능하지는 않습니다. 그건 그렇고, 나는 우리가 실제로 보이는 것보다 더 밀접하게 일치한다고 생각합니다. 나는 사람들이 미래를 예측하는 데 능숙하지 않다는 데 동의합니다. 의도 한 목표 달성 이 불가능 하다는 데 동의하지 않습니다 .
와일드 카드

18

특정 날짜에 특정 기능 세트가 제공 될 것으로 예상되는 경우, 그렇지 않습니다. 이는 민첩한 프로젝트 관리가 아닙니다. 애자일 프로젝트 관리는 본질적으로 경험적입니다. 경영진의 희망에 기반한 것이 아니라 이전 성과에 대한 분석을 통해 예측됩니다.

귀하의 설명은 내가화물 숭배 민첩하다고 생각하는 것과 일치합니다. 초점은 증거 기반 프로젝트 관리의 핵심 개념이 아닌 특정 프로세스와 식에 중점을 둡니다. 이것을 Lean 또는 TPS 와 관련 시키면 비즈니스 사람들이 이해하도록하는 행운이있을 수 있습니다 . 여기서 해결해야 할 실제 문제는 미지의 것에 대한 두려움을 넘어 경영진을 얻는 것입니다. 경영진에 대한 정답은 "현재 상황을 알려줄 수는 없지만 일단 가치를 제공하기 시작하면 경험을 바탕으로 전망을 세울 수 있습니다." 개발자는 "완료되면 완료"및 "완료 시점을 모르겠습니다"와 같은 말을하는 경향이 있습니다. 관리자는 임원들에게 그런 말을하지 않을 것이며, 마치 마치 마치 콤팩트처럼 들리게합니다.

계획이 실패하고 수정해야 할 가능성이 높습니다. 이 팀의 가장 큰 위험은 마감일을 맞추기 위해 큰 푸시가있을 것이며 품질이 저하 될 것입니다. 어떤 시점에서 당신은 목표에 도달하지 않을 것입니다 (대부분 첫 마감일이 될 것입니다). 초과 근무가 예상되고 모서리를 자르는 압력이 있습니다 (건너 뛰기 단위 테스트, 코드 검토 등). 이것은 미끄러운 경사 이며이 경로를 일단 시작하면 약간 아래로 향하는 나선형이어서 추한 것입니다. 프로젝트가 이런 식으로 계속되면 생산성이 나빠질 것입니다.

개발자 팀이 통합 된 전선을 제시 할 수있게하려면 실제로 품질을 유지해야합니다. 내 경험은 프로젝트 관리자가 소프트웨어 출력이 선형이라고 생각하는 경향이 있다는 것입니다. 즉, 각 기간 X는 Y '완료 완료'를 생성합니다. 즉, 허용 된 시간의 중간에 "50 % 완료"가 아니면 klaxons가 울리기 시작합니다. 실제로, 제대로 수행한다면 첫 번째 기능은 비슷한 크기의 50 번째 기능보다 훨씬 오래 걸리는 경향이 있습니다. 초기 위험 위기 기간 ( "무슨 일이 일어나고 있습니까?")을 통과 할 수 있다면 t 완료된 것을 보지 마십시오! ") 아마 괜찮을 것입니다.


9

실제 사업에 오신 것을 환영합니다.

구식 비즈니스 스타일이 있는데, 나는 "전통적인 개발"이라고 비난하는 경향이 있으며 새로운 스타일 인 "민첩한 개발"이 있습니다. 이를 반대되는 이상으로 취급하려고한다면, 계획과 요구 사항이 전통적인 칼럼으로, 발견과 진화가 민첩한 칼럼으로 진행되는 가운데 중간에 간단한 구분이 있습니다. 깔끔하고 깔끔하며 잘못되었습니다.

실제로 비즈니스는 둘 사이의 행복한 매체를 찾는 것입니다. 극단이 실제로 얼굴에 평평하게 떨어지는 것을 쉽게 알 수 있습니다. 애자일을 사랑하는 우리는 전통적인 발전의 순수한 이상에 대한 모든 문제를 간절히 보여 주며, 순수한 애자일의 여러 가지 방법을 보여줄 수있는 사람들이 많이 있습니다. 성공적인 민첩한 회사는이 둘 사이의 특정 균형을 찾는 회사입니다. 성공적인 전통 회사는이 두 회사 간의 특별한 균형을 찾는 회사입니다. 다른 것 없이는 가질 수 없습니다.

우리의 축복받은 스크럼 과정조차도이 둘 사이의 균형을 보여줍니다. 민첩성을 극대화하려는 명확한 시도가 있지만 몇 가지 중요한 트레이드 오프가 있습니다. 예를 들어, 제품 소유자는 모든 고객을 옹호하는 강력한 일을합니다. SCRUM은 의도적으로 해당 상호 작용의 작동 방식을 지정하지 않습니다. 하루가 끝날 때 모든 사람이 돈을 지불해야한다는 사실을 의도적으로 전달합니다. 중요한 환상을 만드는 것은 제품 소유자의 일입니다.

(흥미로운 애자일은 제품을 생산할 때까지 돈을 지불하지 않고 투자 할 때까지 독점 정보에 액세스 할 수없는 한 훌륭하게 작동한다는 점에 주목하는 것이 흥미 롭습니다. 이 거래와 함께 기업가입니다)

따라서 경영진은 어떤 기능이 언제 어디에 있어야하는지 결정했습니다. 괜찮아. 내가 들었던 문구는 "고객이 무엇을 언제 무엇을 선택하고 생산자가 누구를 어떻게 선택하는지"입니다. "무엇"과 "언제"에 가입했습니다. 그들은 "애자일 (Agile)"을 당신의 방법으로 사용할 수있는 기회를 제공하는 것 외에, 누가 또는 방법에 대해 언급하지 않았습니다. 남은 것은 경영진이 요구를 충족시키기 위해 얼마나 많은 사람들이 고용해야하는지 이해하도록 돕는 것입니다.

완벽한 세상에서 회사는 외부에서 민첩합니다. 개발자와 민첩하게 상호 작용하여 개발자가 민첩하게 개발할 수 있습니다. 그러나, 종종 회사는 민첩한 내부를 개발하면서 외부와 상호 작용해야합니다. 그 사이에는 항상 각 회사마다 고유 한 복잡한 장단점이 있습니다.

개인적으로, 저는이 상황을 민첩한 개발을 이해한다고 생각하는 사람을위한 테스트 사례로 취급합니다. 나중에 언젠가는 마감일을위한 제품을 개발해야하며 해당 제품 / 마감일 쌍은 상대적으로 고정 될 것입니다. 고정 된 제품 / 마감일로 인해 프로세스가 산산조각 나면 처음에 애자일이라고 말할 수 있습니까?

내 충고 : 이것을 폭포라고 생각하지 마십시오. 여전히 "방법"을 제어합니다. 애자일이 유명했던 빠른 스 프린팅과 유연한 프로토 타이핑을 모두 수행 할 수 있습니다. 당신은 단지 고무가 길을 만나고 배달해야한다는 것을 알아야합니다. 이것이 이상적인 세상이 아니라 실제 세상입니다. 그들이 처음에 물어 보는 것이 더 좋았을까요? 확실한. 당신의 전화가 아닐 수도 있습니다. 당신이 단순히 완전히 이해하지 못하는 방식으로 사업을 수행해야하는 수천 가지 이유가있을 수 있습니다. 그들에게 부담을주지 말고, 그들이 한 일에 대한 충분한 이유가있을 수 있음을 이해하십시오.


4

애자일은 이정표를 계획하지 못하게하지는 않지만 (예 : 3 개월 후에 V 1.0을 출시 할 예정 임) 각 이정표에 적용되는 사항을 수정할 수는 없습니다.

나는 당신이 어떻게 반응해야하는지 프로젝트의 본질에 달려 있다고 생각합니다. 프로젝트가 2017 년 2 분기까지 달에 사람을 보내려는 경우, 모두 실패 할 운명에 동의 할 것입니다. 2017 년 2 분기 말까지 MVP를 제공 할 수 있다고 생각되면 스프린트 별 스프린트로 작업해야합니다.

경영진이 팀이 최선을 다하고 있다고 생각하고 각 스프린트에서 진행 상황을 보여줄 수 있다면 더 많은 시간을 협상 할 수 있어야합니다.


4

모든 비즈니스 관련 프로젝트에는 다음과 같은 제약이 있습니다.

  • 시각
  • 자원
  • 예상되는 최소 기능 세트

이것은 다른 것이 아닙니다. 민첩성을 개발한다고해서 "사람들이 우리에게 돈을 지불하므로 준비가 될 때마다 원하는 것을 개발할 수 있습니다"라는 의미는 아닙니다. 항상 일정이 있습니다. 최소 요구 사항이있는 날짜가 항상 있으며 요구 사항이 충족되지 않으면 프로젝트가 취소되고 실패라고합니다. 때로는 암시적일 수 있으므로 관리자는 "4 주 후에 이러한 기능을 갖춘 UI가 작동하지 않으면이 프로젝트가 실패 할 것"이라고 알고 있거나 목표를 설정 한 주주가있을 수 있습니다.

법률로 인해 많은 프로젝트가 있습니다. -정부가 새로운 법을 존중하기 위해 2017 년까지 기능 X를 이행해야한다고 결정하면 협상 불가능한 마감 기한과 일련의 기능이 준비됩니다. 유일한 변수는 관리가 작업에 할당 할 수있는 리소스의 양입니다. -마감일이 외부 결정 인 프로젝트에서는 진행 상황을보고, 예견을 듣고 팀을 구성하거나, 목표를 달성하기 위해 작업의 일부를 아웃소싱해야합니다.

이 모든 것이 민첩한 개발에 반대하지 않습니다. 당신은 여전히 ​​당신의 자신의 시간 프레임에 당신의 기능을 개발, 단거리를 가질 것입니다. 고객은 항상 기능 우선 순위를 클라이언트에서 가져 오며 마감일까지 최대한 많은 기능을 제공하기 위해 노력할 것입니다.

마감일이 실제로 사용 가능한 리소스를 충족시키는 경우 관리 문제입니다. 예후와 주별 / 일별 상태 업데이트를 제공하고 더 많은 리소스가 필요한지 결정할 수 있습니다. 그렇지 않으면 다른 프로젝트와 마찬가지로 스프린트에서 계속 작업하고 실행 파일을 제공합니다.


3

선언문이 나오기 전에 누군가 이미 지적했듯이 :

프로세스에 대한 개인 및 상호 작용

나는 당신이 제시 한 계획을 살펴보고 그에 대한 변경을 제안 할 것을 제안합니다. 선언문은 백 로그가 결코 최종적이지 않으며 계속 발전하고 있음을 기억하십시오.

그래서 당신은 팀에 당신의 제안을 취할 수 있습니다. 당신이 타당한 추론을 가지고 있고 팀이 그것에 동의한다면, 그 / 그녀의 소금 가치가있는 제품 소유자는 그것들을 고려하고 전체 팀의 의견을 반영하기 위해 백 로그를 좋아할 것입니다.

이것이 두 가지 방법으로 갈 수있는 지점입니다.

  1. 제품 소유자와 비즈니스는 귀하의 추론에 동의하며 옵션 인 경우 마감일을 맞추기 위해 자원을 늘릴 수 있습니다. 또는 마감일을 맞추기 위해 일부 기능을 삭제하도록 선택할 수도 있습니다.

  2. 그들은 여전히 ​​팀의 집단적 의견에 반하여 자신의 버전을 고수하고 싶을 수도 있습니다.

결과가 # 2이면 민첩하지 않습니다.

애자일은 Devs의 "변화에 응답하는 것"뿐만 아니라 변화에 대응할 수있는 비즈니스에 관한 것이기 때문에 팀이 올바른 길을 가고 있다고 말할 것입니다.


2

누군가에게 벽, 집, 그리고 거리를 페인트 칠하도록 요청한다고 상상해보십시오.

당신의 대답이 무엇이든, 당신은 틀릴 것입니다. 그게 다야.

그들이 일을해야하는 사람들에게 그들이 생각하는 것을 요구하지 않았다면 날짜에 대해 옳을 수있는 방법은 없습니다.

그건 그렇고, 당신이 (팀으로서) 이 날짜를 받아들이면 , 당신은 잘못되었습니다.

이해 관계자와 함께이 계획에 대해 작업 할 시간을 요청하여 작업을 얼마나 쉽고 빠르게 수행 할 수 있는지에 따라 우선 순위를 정할 수 있습니다.

예를 들어, 최종 작업은 생각보다 2 배 더 오래 걸리지 만 예상보다 훨씬 빨리 베타 버전을 사용할 수 있습니다.

결국, 사람들이 당신이 할 수 없거나 더 빠를 수 있다면 Y in X 시간을 할 수 있다고 생각하게 할 수는 없습니다. 세부 사항과 시간 측면에서 필요한 것을 분명히하는 것은 당신의 책임입니다.


1
이것은 실제로 마감일을 받아들이 는 것이 아닙니다 . 정부가 2017 년까지 특정 법률을 준수해야한다고 결정하면 어떻게해야합니까? "동의하지 않습니다"라고 말할 수 없습니다. 스프린트에서 작업하고 우선 순위를 정한 후 필요한 기능을 구현해야합니다. 각 스프린트에서 진행 상황을보고하면, 제시 한 기능 수가 기대에 미치지 못하는 경우 경영진이 추가 리소스를 확보하기로 결정할 수 있습니다.
팔코

-2

민첩한 계획이 아닙니다.

그러나 당신이 척하는 경우 계획을 알지 못하고 스프린트로 스프린트를 작동시킵니다. 민첩하게 작동 할 수 있습니다.

항상 날짜와 예산이 있습니다. 그들이 놓치거나 오버런 될 위험이 항상 있으며, 그럴 경우 항상 계획 B로 돌아 가야합니다.

민첩하게 작업 한 경우 계획 B는 마지막 스프린트의 데모입니다.

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