추정에서 변경되거나 잊어 버린 작업을 어떻게 설명합니까?


10

작업 수준 추정 및 시간보고를 처리하기 위해 Steve McConnell이 소프트웨어 추정의 10 장에서 설명하는 기술을 사용했습니다.. 특히, 프로젝트에서 코딩을 시작하기 직전에 작업 수준 추정치를 만들 때가되면 가능한 한 단일 지점을 가진 작업이 없도록 작업을 상당히 세밀한 수준으로 결정합니다. 신뢰도는 4 시간 이상으로 추정됩니다. 이런 식으로 작업 평가 프로세스는 소프트웨어를 구성하는 데 도움이되는 동시에 평가하는 동안 작업을 잊지 않도록 도와줍니다. 각 작업에 대해 가능한 시간 범위를 제시했으며 McConnell이 내 기록 정확도 데이터와 함께 설명하는 통계 계산을 사용하여 원하는 경우 다른 신뢰 수준에서 추정치를 생성 할 수 있습니다. 나는이 방법이 상당히 잘 작동하고 있다고 생각합니다. 우리는 추적을 위해 작업과 그 추정치를 TFS에 넣어야하므로, 나는 사용하라는 신뢰의 백분율로 추정치를 사용합니다.

그러나 과제를 잊어 버렸을 때 어떻게해야할지, 또는 내가 예상 한 과제 중 하나에 해당되지 않는 업무를 수행해야하는 경우가 확실하지 않습니다. 물론이 상황을 피하는 것이 가장 좋지만 잊혀진 / 변경된 작업을 어떻게 처리합니까? 미래의 추정치에 도움이 될 수있는 최고의 과거 데이터를 원하지만 지금은 기본적으로 50 % 신뢰도 추정치와 범위 추정치 내에서 추정했는지 여부를 계산하고 있습니다.

필요한 경우 무엇이 필요한지 명확하게 알려 드리겠습니다. 불분명 한 사항을 알려주세요.



나는이 계산을 수행하는 방법과 해결하려는 문제에 대한 예를 제시해야한다고 생각합니다. 지금은 시간이 없지만 최대한 빨리 연락 드리겠습니다.
앤드류

스크럼에서는 시간 견적을 제공하지 않습니다. 다른 사람들에게 아이디어를 제공하는 스토리 포인트를 제공합니다. 또한 상향식 크기는 아닙니다. 속도가 모호한 것입니다.
직업

@Job 지금은 스크럼 전문점이 아닙니다. 또한 다른 응답자가 제안한 것과 달리 지금까지 상향식 추정치가 작업 수준 추정 동안 잊혀진 작업 수를 크게 줄임으로써 추정 정확도가 향상되었음을 알았습니다.
앤드류

@blueberryfields-최소한 계층 구조 수준이 많은 회사에서 각각 50 % 만 곱하면 충분합니다. 여기서 각각 고유 한 과대 평가 요소를 추가합니다.
mouviciel

답변:


6

Waltzing With Bears : 소프트웨어 프로젝트에 대한 리스크 관리 (DeMarco 및 Lister, Peopleware 제작자) 라는 책 에는 이에 대한 훌륭한 접근 방식이 있습니다. 내 해석은 다음과 같습니다.

"모든 것이 완벽하게 진행됩니다"견적을 작성하십시오. 물론 모든 것이 완벽하게 진행되는 경우는 거의 없으므로 0.1 %라고 할 가능성이 낮습니다. 다시 말해, 천에서 하나의 프로젝트 만 계획대로 진행할 수 있습니다. 이것은 대부분의 사람들이 그들의 "추정"으로 사용하는 것입니다.

대신 추정값을 확률 분포로 생각해야합니다. 이 "완벽한 세계"추정치는 추정 확률 분포에서 가장 왼쪽에 있습니다.

다음으로 "이와 비슷한 프로젝트가 진행된 경우"추정치를 작성하십시오. 이 추정치 는 계획 오류 ( http://wiki.lesswrong.com/wiki/Planning_fallacy ) 에서 벗어나 "외부보기"( http://wiki.lesswrong.com/wiki/Outside_view ) 를 얻는 데 도움이됩니다 .

다음으로 "X에 의해 수행 될 것이라고 90 % 확신합니다"추정값을 작성하십시오. 90 % 확신한다는 것을 확신하십시오. 다시 말해, 10 개의 프로젝트마다 한 번만이 예상보다 오래 걸릴 것으로 예상됩니다.

이제 첫 번째 추정값을 0.1 % 확률 추정값으로 사용하고 두 번째 추정값을 50 % 확률 추정값 (미각 계절)으로 사용하고 세 번째 추정값을 90 % 추정값으로 사용하면 멋진 곡선을 얻을 수 있습니다.

0 %, 50 % 및 90 % 추정값이 5 월 1 일, 6 월 1 일 및 8 월 1 일이라고 가정하면 추정 곡선은 다음과 같습니다.

     100 |                                  ......
         |                        ..........
% chance |                ........
of being |          ......
  done   |      ....
         |   ...
         |...
       0 +-----------------------------------------
          \           \           \           \
           May 1st     June 1st    July 1st    August 1st

확률의 성장이 시간이 지남에 따라 어떻게 느려지는지 유의하십시오. 이 시나리오에서 누군가 99.9 %의 견적을 요청한 경우 내년 1 월 1 일일 수 있습니다.


답변 해주셔서 감사합니다. 내가 사용한 방법은 이미 제안한 것처럼 할 수 있지만 퍼센트를 생성하기 위해 추정치와 함께 과거의 성공을 간접적으로 고려합니다. 자신감있는 견적이 필요합니다. 그래도 내가 요구하는 것은 정확도가 기본적으로 원래 추정에 사용 된 범위 내에서 작업을 완료했는지 여부에 따라 기본적으로 계산 될 때 누락 된 작업을 과거의 정확도에 통합하는 방법입니다.
Andrew

@Andrew, 내가 당신을 올바르게 이해하고 있다면, "missed tasks"는 주어진 시간에 100 % 미만의 확률로 설명됩니다. 현재 프로젝트와 같이 많은 프로젝트를 수행 한 경우 곡선이 0 %에서 90 %로 빠르게 기울어집니다. 누락 된 작업이 거의 없다는 확신이 있기 때문입니다. 신뢰도가 낮 으면 기울기가 훨씬 점진적입니다. 잊어 버린 작업뿐만 아니라 다른 위험 요소도 마찬가지입니다.
Benji York

그렇습니다. 누락 된 작업은 작업 수준 범위에 의해 집계되며, 이는 내가 제공 한 신뢰 수준으로 계산됩니다. 앞서 언급했듯이 McConnell이 Software Estimation 10 장에서 제안한 방법을 사용하여 이러한 수준을 계산합니다. 나는 주로 TFS 시간 보고서에서 누락되거나 변경된 작업을 설명하는 방법과 역사적 정확도를 계산할 때 이러한 시간을 포함시키는 방법을 궁금합니다.
앤드류

5

한마디로-우발.

우발 사고는 "다른 것"에 추가하는 금액입니다. 추정치의 다른 곳에서는 설명 할 수없는 것입니다. SMc가 Software Estimating에서이를 다루고 있습니까? 기억이 나지 않고 사본이 작동 중입니다 (휴일로 답합니다-얼마나 슬프습니까) ...

어쨌든, 일반적으로 말하면 세 가지 종류의 우발성이 있습니다.

1) 위험 특정 우발성 -특정 위험을 식별하고 위험과 관련된 잠재적 오버런을 처리하기 위해 일정 시간을 추가하는 지점입니다. 여기서 가장 분명한 것은 위험이 무엇인지에 대한 것입니다. 위험에 빠질 수 있습니다 . 통제 할 수없는 프로젝트에 부정적인 영향을 줄 수 있습니다 .

이 마지막 부분은 매우 중요합니다. "생각했던 것보다 시간이 오래 걸리는 것"이 ​​아니라 "회사 표준에 맞지 않기 때문에 사용해야하는 타사 스케줄링 모듈"입니다. 추가 할 위험 우발 량을 계산하는 방법은 위험이 10 % (50 % = 0.5)로 표현 될 확률이 위험의 영향을 곱한 비율입니다 (이 예에서는 CRON을 수동으로 작성해야한다고 말합니다) 스케줄러를 사용하는 대신 작업을 수행하는 데 10 일이 소요되며이 수는 10 일입니다.

따라서 50 %의 확률로 위험이 사라질 경우 위험을 극복하는 데 10 일이 걸리며 5 일이 추가됩니다. 프로젝트에서 식별 된 모든 위험에 대한 모든 값을 더하고 총계에 추가하십시오.

2) Shit Happens Contingency- 우아하지 않더라도 내가 들어 본 최고의 설명. 그것은 IT 프로젝트입니다. 그것은 당신이 어떻게 생각하는지, 일이 오래 걸리고, 그리워하는 등의 일을 결코하지 않습니다. 일반적으로 SH 우발 사태는 10 % (절대 최소)와 25 % (더 높을 수 있음) 사이이며, 15 %는 일반적인 수준이며, 정확한 수준은 불확실성 및 일반적인 위험 수준 (이동 목표 포스트, 불확실한 요구 사항 등)에 따라 다릅니다. ).

PM이 SH 우발 사태를 받아들이지 않으면 (가능하다면 IT 프로젝트 경험이 없거나 맹목적인 낙관론자 일 수 있음) 모든 개별 금액에 추가하십시오. 그가하고있는 일을 알면 자신의 위험 로그를 가지고이 물건에 대해 생각하는 것을 좋아합니다. 확실히 그가 어떤 종류의 PM 자격 (PRINCE2와 같은)을 가지고 있다면 그것에 대해 알게 될 것입니다.

3) 변경 우발성 -고객이 변경을 제기 할 것이지만 경쟁 지점이되기를 원하지 않는 곳입니다. X 일 또는 X %를 추가하면 고객이 제기 한 변경 사항을 반영합니다. 그것을 다루는 두 가지 방법이 있습니다 : 당신이 그들에 대해 이야기하고 그들이 소비하는 것이거나 그것에 대해 이야기하지 않는 것입니다.

첫 번째 방법은 최선이지만 교육을 받고 공정하게 생각하는 고객이 필요합니다. 물건은 변화로 분류되며 자신이 적합하다고 생각하는대로 냄비를 쓸 수 있습니다 (일이 다가올 때 물건을 추정하는 것에 따라).

두 번째 방법은 변경 사항이지만 추가 비용을 청구하지는 않습니다. 당신은 당신이 그것에 소비하는 모든 것들을 메모해야하므로 그것이 끝나는 시점에 도달하면 고객에게 다시 가서 더 많은 시간이나 돈을 요구해야합니다. m blah blah blah "를 지불하면"이미 변경하지 않은 모든 사항을 청구 할 수 없습니다. 귀하가 완전히 불합리하지 않다는 표시로 표시 할 수 있습니다. 항상 작동하는 것은 아니지만 토론에서 거의 항상 손을 강화시킵니다.

이 세 가지 중 어느 것도 당신이 잊어 버린 것들을 구체적으로 다루지는 않지만 그들 사이에 많은 격차를 메울 것이라고 생각합니다.


답변 주셔서 감사합니다. 당신은 흥미로운 포인트를 올립니다. 나는 이미이 세 항목을 다양한 방식으로 추정에 통합했습니다. 내가 찾은 첫 번째 유형은 일반적으로 하나 이상의 작업과 관련되고 설명 될 수 있습니다. 두 번째 유형은 내 작업 수준 범위 추정치에 통합되었습니다. 추가 항목을 가질 수 없습니다 (토론되었으며 현재 팀의 정책입니다). 셋째, 내부 고객은 변경으로 인해 예상치가 증가하고 외부 고객은 서면으로 변경하므로 변경 사항을 고려하지 않아야합니다.
앤드류

McConnell이 긴급 상황을 다루는 지 여부에 관해서는, 제 사본도 작동 중이므로 확인해야합니다. 나는 내가 요구하는 것은 일반적으로 그룹에서 비상 사태 작업이 허용되지 않기 때문에 TFS에서 시간을 할당 할 위치뿐만 아니라 다음 추정치 를 알리기 위해 기록 데이터를 계산할 때 누락되거나 변경된 작업을 설명하는 방법이라고 생각 합니다.
앤드류

0

과제에 대한 견적을 요청하면 팀에 최고급 견적을 제공하고 자신에 대한 최저 견적을 받으십시오. 처음에 언급하지 않은 무언가에 대해 과제를 수행하기 위해 항상 업무 후 시간을 갖도록하십시오.


답변 해주셔서 감사합니다. 내가 생각해 낸 범위는 전체 프로젝트에 대한 추정치를 잃지 않고 잊혀진 작업을 추가 할 수있는 충분한 시간을주는 경향이 있습니다. 내 질문은 McConnell 책에서 사용하는 계산 절차 에서이 정보를 사용하는 것에 대해 더 많이 이야기합니다.
앤드류

0

추가 작업을 추가하면 과거의 정확도가 왜곡 될까 걱정 되십니까? 아니면 추가 작업을 포함하지 않으면 정확도가 왜곡 될 것이라고 생각하십니까?

프로젝트를 최대한 활용하기 위해서는 작업을 추적 시스템에 입력해야합니다. 프로젝트 책임자가 불일치에 대해 경영진에게 적절한 설명을 제공 할 수있을 것이라고 확신합니다 ...


내일까지 기다렸다가 직접 말해 줄 수 있습니다. :) 추가 작업이 어떻게 든 포함되지 않으면 역사의 부정확성이 더 걱정됩니다. 분명히, 작업 추정 중에 작업이 누락 된 것은 정확성에 관한 "미스"입니다. 그러나 어떤 정확도 수치입니까? 내가 실제로 양적 의미로 사용하는 것은 각 작업에 대한 실제 작업 성능이 예측 된 범위 내에 있는지 여부입니다. 더 정성적인 또 다른 척도는 내가 50 % 확신하는 단일 포인트 추정치를 얼마나 자주 충족 시키는가입니다. 너무 50 % 초과 또는 미만으로, 향후 50 % 추정치에 대해 "전문가 판단"을 조정해야합니다.
Andrew
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.