문제

대답하는 동안“끔찍한 추정을 다루고 있습니다"게시자 금연 건강 증진 협회 나는 배운 몇 가지 팁을 공유하고 약한 추정치를 발견하기 위해 개인적으로 사용했습니다. 그러나 나는 더 많은 것이 있어야한다고 확신한다!

제 3 자 (동료, 비즈니스 파트너 또는 외부 회사)가 편집 한 소프트웨어 프로젝트 추정치를 빠르게 평가해야 할 때 시나리오에서 사용할 수있는 휴리스틱은 무엇입니까?

당면한 작업에 대한 자세한 지식없이 발견 될 수있는 약한 소프트웨어 추정의 명백하고 명백한 징후는 무엇입니까?

도움이 되었습니까?

해결책

  • 다음과 같은 다음과 같은 다음과 같은 다음 광대역 델파이.
    • 추정을하는 사람이 구현을하는 사람이 아니라면 특히 사실입니다 !! - 한 번 요구 사항이 주어지기 전에 60 일 전에 다른 사람이 추정 한 프로젝트를 수행했습니다. 내가 행복한 토끼가 아니라고 말합시다
  • 문서화 시간이 없습니다.
  • 램프 업 시간이 없습니다 (학습 및 팀 규모 측면에서).
  • 위험 목록이없고 타임 스케일에 미치는 영향.
  • 늦은 파괴 요구 사항 및 위험 측면에서 예기치 않은 버퍼가 없습니다.

다른 팁

아무도 그것을 말하지 않았으므로 나는 할 것입니다. 명백한 대답은 소프트웨어 일정 추정치가 있다면 비현실적인 인물의 확실한 징후라는 것입니다. 예, 소프트웨어를 추정하는 방법에는 여러 가지가 있지만 어떤 식 으로든 모양이나 형태로 정확하지 않습니다. 일반적으로 발생하는 것은 마감일이 설정되어 있다는 것입니다. 작업이 과대 평가되면 추가 시간이 소비됩니다. 작업이 과소 평가되면 (테스트 및 기능과 같은) 배송을 충족시키기 위해 무언가가 희생됩니다.

나는이 대답이 사람들이 믿고 싶어하는 것이 아니라는 것을 알고 있지만 추정은 항상 추측입니다. 종종 개발자는 하루가 끝날 때까지 얼마나 많은 성과를 거둘 수 있는지 예측할 수 없습니다. 당신은 그들이 아직 실제로 관여하는 것이 확실하지 않은 것에 대해 몇 달/몇 년 동안 물건을 추측하기를 기대하고 있습니다.

비현실적인 결과를 제공하기 쉬운 귀하의 질문에 대한 유일한 실질적인 답변은 회사의 이전 역사를 기반으로 한 추측을 제시하는 워크 시트를 사용하는 것입니다. 불행히도, 그것은 추정기가 놓친 작업을 설명하지 않습니다. 적어도 이것은 야구장 수를 줄 수 있습니다.

당신이 같은 정확한 시스템의 녹음을 반복해서 개발하지 않는 한, 그들이 이것을 알아 차렸다고 생각하는 사람은 스스로를 속이고 있다고 생각합니다. 너무 많은 변수가 관련되어 있습니다.

두 가지 유형의 추정치가 있습니다. 작업 추정 그리고 프로젝트 추정. 이것을 크고 작은 그림으로 볼 수 있습니다.

프로젝트 추정치는 반드시 높은 수준 (일반적으로 며칠보다 세분화되지 않음)이며 다음과 같은 것을 포함해야합니다.

  • 높은 수준의 아키텍처;
  • 테스트 시간;
  • 램프 업 시간;
  • 결함 프로세스;
  • 문서화 시간;
  • 관련 교육;
  • 가정;
  • 의존성 (예 : 팀은 팀 B가 1 단계를 제공 할 때까지 필요한 것을 할 수 없습니다);
  • 임계 경로 (어떤 조각이 프로젝트가 미끄러 져서 얼마나 많은지 판단 할 가능성이 높습니다); 그리고
  • 위험.

빠진 것들이 많을수록 비현실적 (또는 위험한) 추정치.

두 번째 종류의 작업 추정치는 일반적으로 훨씬 낮습니다. 이러한 종류의 추정치의 경우 단순히 작업 고장이어야합니다 (5 일보다 큰 작업이 없음).

이것들은 위의 항목을 다루는 경향이 없지만 아직 이루어지지 않은 결정 (예 : 생산 하드웨어)에 관한 가정과 같이 관련이있을 수 있습니다. 또한 관련 경험, 배경 지식 또는 기술로 인해 과제를 수행 할 수 있고 할 수없는 사람을 식별 할 가치가있을 수 있습니다 (그 사람이나 그 사람이 과도하게 커미셔닝 할 수 있음).

다른 게시물에서는 테스트 시간이 DEV 시간과 같거나 초과해야한다고 언급했습니다. 나는 이것에 강력하게 동의하지 않는다. 8 시간의 DEV 작업이 100 시간 이상 테스트 시간을 초래하고 80 시간의 DEV 작업이 2 시간 미만의 테스트를 수행하는 것을 보았습니다. 두 경우 모두 테스트 시간은 완전히 합리적이었습니다. 둘 사이의 절대적인 상관 관계는 아닙니다. 기껏해야 연결이 느슨합니다.

  • 경영진이 말하고 싶은 것이 추정 되는가?
  • 추정치는 다음 릴리스의 계획된 배송 날짜와 잘 맞습니까?
  • 경영진은 사람들에게 좋은 소식을주는 사람들에게 나쁜 소식을 전하는가?
  • 누가 프로젝트를 진행할 것인지 알기 전에 견적이 준비 되었습니까?
  • 기능적으로 구현 된 비트를 원하는 사람이 추정치를 준비 했습니까?
  • 소프트웨어의 역사가 늦었습니까?
  • 개발자가 프로젝트를 통해 다른 작업으로 이동하는 것이 정상입니까?
  • 시간 낭비로 나쁜 추정치에 대해 언급 할 때 포기한 개발자가 있습니까?

"예"또는 "아마도"답변을 얻는 질문의 수를 계산하십시오.…

위의 질문에 대해 대부분 "아니오"답변을 받으면이 스레드에 나열된 다른 사람들이 포함 된 작업이 포함되어 있는지 자세히 살펴볼 가치가 있습니다.

와우 ... 나는 툴킷의 대답을 정말 좋아한다.

그리고 나는 추정기가 프로젝트가 추정 될 때 실제로 어떤 추정기보다 문제를 해결하는 방법에 대한 단서가 있다고 가정하기 때문에 모든 추정치가 결함이 있음에 동의합니다. 그러나 시작하기 전에 여전히 산의 크기를 추정해야한다고 생각합니다. 그것이 할 가치가 있는지 여부에 대한 생각은 어떤 노력에 앞서야하며 그것이 추정의 본질이되어야하는 것입니다.

나는 위험한 추정치에 대한 몇 가지 지표를 생각해 냈습니다.

  • 교차 참조가 없습니다 - 견적을 적어도 두 가지 다른 방식으로 검증 할 수 없다면 신뢰할 수 없을 것입니다. 예를 들어, 내가 한 마지막 추정치는 작품을 작은 기능 청크로 분류 할 수 있었고 팀이 비슷한 범위를 가진 기능을 수행하는 데 걸리는 시간을 고려했습니다. 그런 다음 이러한 비용의 합을 살펴보고 내가 작업 한 다른 프로젝트와 비교하여 범위가 얼마나 큰지 볼 수있었습니다. 그것은 검증하는 두 가지 방법입니다.
  • 추정기의 배경 - 이것이 코드를 작성한 적이없는 하드웨어 담당자가 수행 한 소프트웨어 추정치라면 매우 두려워하십시오. 더 미묘합니다 - 추정기의 배경이 프로젝트의 기술과 문제 영역에 가까울수록 좋습니다.
  • 세부 사항 - 몇 가지 다른 게시물에서 몇 가지 다른 방법으로 말했듯이 각 기능을 완성하는 데 필요한 작업뿐만 아니라 개별 기능에 대한 세부 사항을보고 싶습니다. 내가 보는 대부분의 추정치는 공식 프레젠테이션에 세부 사항을 표시하지 않지만 견적을 한 사람에게 물어 보면 어딘가에 파일이 있어야합니다. 바라건대 그것은 맥주와 케첩으로 얼룩진 종이 냅킨의 뒷면이 아닙니다. :)
  • 문서화 된 가정 - 모든 추정기는 작업에 대한 몇 가지 가정을 만들어야했습니다. 이것들은 공식 서류에서 어딘가에 문서화해야합니다. 문서화 된 가정이 많지 않은 짧은 제안을 볼 때 항상 조금 걱정됩니다. 그들은 고객에게 생각하고 의사 소통을하지 않았거나, 생각하지 않았다. 나는 어느 것이 어느 쪽이 더 나쁘다는지 정직하게 확신하지 못한다. 가정이 합리적이어야한다는 것은 말할 필요도 없습니다.
  • 균형 잡힌 수명주기 - 그러나 작업이 분류되면 설계, 코드 및 테스트의 비율은 얼마입니까? 문서화, 외부 시스템과의 통합 및 릴리스 포스트 릴리스 지원은 어떻습니까? 그렇게 중요한 추가 사항 (시스템 관리자, CM 전문가, 관리 노력)은 어떻습니까?
  • 느슨하게 - 저렴한 기업 데몬이 와서 날아갈 것이라고 확신하지만 일정과 비용은 약간의 여유가 있어야합니다. 추정치가 경험이 풍부한 눈에 야심 찬 것처럼 보이면 너무 낮을 것입니다. 추정치는 거의 너무 높지 않습니다.

좋은 휴리스틱 중 하나는 테스트 시간이 개발 시간과 거의 동일한 지 확인하는 것입니다. 그것은 추정에 좋은 징조입니다.

그들이 당신에게 추정치의 고장을 줄 수 없다면, 그것은 나쁜 것입니다. 일반적으로 잊혀진 많은 작은 것들의 표시. 그들은 완전한 독창적 인 분류를 제공 할 필요가 없으며 다음과 같은 분류 만 제공합니다.

  • 요구 사항
  • 개발
  • 테스트
  • 포장 및 배포
  • 등.

표준 템플릿을 사용하여 추정치를 계산해야합니다. 모든 열에 숫자가 필요하지는 않지만 가능한 모든 작업을 나열하기 위해 템플릿을 수행합니다. 이렇게하면 템플릿을 사용하여 추정을 수행 할 때 사람들의 마음을 조깅 할 수 있습니다.

예를 들어 0.25 시간 단위의 추정치가 지나치게 정확하다면, 그것은 나에게 나쁜 냄새입니다.

요구 사항 캡처, 테스트, 배포 및 OPS 그룹에 대한 핸드 오버와 같은 것과 같은 것이 있습니까? 그 중 누구라도 빠진다면, 그것은 돌아와서 당신을 물게 될 것입니다.

편집하다: 지켜봐야 할 또 다른 것은 오래된 "영구적으로 90% 완전한"작업입니다. 작업 업데이트 후 작업을 "90% 완료"로 나열한 후 진행 업데이트를받습니다. 그 좋지 않다!

HTH

건배

  • 추정치의 컴파일러가 이용 가능하고 다른 선임 프로젝트 회원과 기꺼이 논의 할 의향이 있습니까? 그렇지 않다면, 그것은 종종 관심사입니다.

  • 견적은 고객에게 전송되었습니다 ~ 전에 개발 직원의 경험과 기술은 알려져 있습니다. 두 지점 추정치는 어느 정도만 도움이 될 수 있습니다.

  • 추정치를 살펴볼 기회를 얻기 전에 특정 날짜로 설명 된 모든 기능을 제공하기 위해 최선을 다하고 있다고 들었습니다.

(내 질문에 응답 해 주셔서 감사합니다.)

이 중 하나 이상이 보이면 추정이 잘못 될 수 있습니다.

  • 단일 포인트 추정치 : 추정치는 가능한 날짜 범위 또는 신뢰 가치와 연관되어야합니다.
  • 과제의 불충분 한 과립성 : 대규모 작업 버킷은 일반적으로 기능이 잘 이해되지 않았 음을 나타냅니다 (특히 이해가 잘되지 않은 문제가 일반적으로 과소 평가되지 않기 때문에 특히 문제입니다)
  • 가정 및/또는 위험의 표현이 없습니다
  • 일반적으로 건너 뛰거나 과소 평가 된 항목에 할당 된 부적절한 노력 (예 : 빌드 스크립트, 문서화, 배포 등)

나는 Sateesh에 동의합니다. 저는 소프트웨어 추정을 정말로 좋아합니다. Steve McConnell의 흑인 예술을 탈취합니다. 그는 견적을 검토 및/또는 준비 할 때 유용한 몇 가지 점검 목록이 있습니다.

나는 덩크에 전적으로 동의합니다. 나쁜 추정의 첫 징후 대규모 상세한 선행 일정이 존재하는 것입니다. 추정치는 정확히 근사치입니다. 그렇지 않으면 우리는 그것들을 부를 것입니다. 정확한imates. 따라서 프로젝트 관리에서 혼자 사용해서는 안됩니다.

고려해야 할 가장 중요한 점은 아닙니다 정확성 추정치이지만 일관성. 제 3자가 귀하를 위해 견적을하고 있다면, 성공 또는 실패의 역사를보고 과거 고객과 이야기하고 신뢰성을 결정하도록 요청하십시오.

민첩한 관점에서 볼 때 프로젝트 중에보다 일관된 추정치를 얻으려고 시도하는 몇 가지 방법은 다음과 같습니다.

  • 시간 기반 (이상적인 날)보다는 상대 사이징 표준 (S, M, L, XL)을 사용하십시오.
  • 시간이 아닌 복잡성에 집중하십시오
  • 항상 한 사람의 추정치가 아닌 그룹 추정치를 사용하십시오
  • 프로젝트 전반에 걸쳐, 일반적으로 각 스프린트가 시작될 때 자주 추정치 수집
  • 스토리 복잡성을 결정할 때 이전 스프린트의 피드백 사용
  • 상대 크기에 의미를 부여하기 위해 속도를 추적하십시오
  • 스 래시를 조사/이해하기위한 빈번하고 초기 이야기 회고

이러한 추정 방법을 사용하는 회사를 다루고 있다면 일관되고 더 나은 결과를받을 가능성이 있습니다.

양식 3, 6 또는 12 개월의 추정치 (기본적으로 둥근 숫자) 추측의 reek. 일반적으로 당신이 당신이 생각하는 것보다 더 큰 숫자를 선택한다고 생각할 때 - 분기, 반년 등은 일반적인 용의자입니다. 실제 개발 반복 (크기에 관계없이) 측면에서 추정치를 선호합니다.

당면한 작업에 대한 자세한 지식없이 발견 될 수있는 약한 소프트웨어 추정의 명백하고 명백한 징후는 무엇입니까?

당면한 과제에 대한 자세한 지식없이 제공되는 추정치는 일반적으로 좋지 않습니다.

아마도 당신이 취할 수있는 일반적인 접근법은 요구 사항의 항목이 추정치의 항목에 해당하는지 확인하는 것입니다. 상대 크기를 매우 빠르게 점검하고 싶다면 100,000 단어 브리프에 100 단어 추정치가 있으면 옳을 가능성이 없습니다.

또한 (다른 사람들이 말했듯이) 분석, 코딩, 디버깅, 테스트, 통합, 우발 사태 등이 언급되어 있는지 확인하십시오. 그것은 약간의 생각이 들어 갔음을 보여줍니다.

다양한 단계에서 기준을 성공하고 사인 오프하는 것은 큰 신호입니다. 그들이 정의 된 지점이있는 경우 적어도 10%가 수행되는 경우 적어도 추정치가 잘못되면 일찍 알고 적응할 기회가 있습니다. "마무리"까지 체크 포인트가 없으면 해당 날짜가 닥칠 때까지 뒤에 있다는 것을 알지 못할 수도 있습니다.

사람들이 일을하는 사람들과 추정을하는 사람은 얼마나 끔찍한가?

나는 팀이 매우 다른 배경을 가진 개인으로 구성되어 있지만, 일을하는 일반적인 사람이있는 곳을 자주 보았습니다. 아마도 과제와 전문 분야는 완벽하게 정렬되지 않으며 GUI 나 데이터베이스를 수행하는 C ++ 서버 사이드 프로그래머를 얻을 수 있습니다 ... 때로는 팀 관리자가 팀원의 강점에 정말로 감사하지 않습니다. 그의 팀이 이전 프로젝트에 바쁘기 때문에 자신의 견적을 내놓으라고 요청받은 경우 문제의 작업이 실제로 팀의 일부에만 적합하다는 것을 알게 될 것입니다 (동기 부여, 기술 부족 등).

추정치를 평가하는 또 다른 유용한 방법 중 하나는 비슷한 종류의 이전 프로젝트에서 소비 된 실제 노력과 비교하는 것입니다. 비교를위한 최상의 데이터는 조직이 수행 한 이전 프로젝트의 노력 데이터입니다. 조직의 역사적 데이터가 없다면 업계 와이드 벤치 마크에 대한 견적을 벤치마킹하려고 시도 할 수 있습니다.

또한 추정치가 단일 절대 숫자 (예 : 180 일)로 제시되면 좋은 신호가 아닙니다. 단일 절대 숫자는 주어진 데이터에서 작업이 100% 확률로 완료 될 것임을 나타냅니다. 범위 (예 : 130 ~ 180 일)에 제시된 추정치는 작업이 완료 될 수있는 범위를 나타냅니다.

내가 위에 쓴 많은 것들의 대부분은 그것을 책에 귀속합니다.

소프트웨어 추정 : Steve McConnell의 Black Art Demystify

인력에 대한 추정치를 확인합니다. 매우 정확한 휴리스틱은 아니지만 일부 대규모 작업이 하나 또는 두 개의 개발자가 할당되어 있는지는 분명합니다.

좋은 추정치는 프로젝트의 모든 단계를 포함하여 좋은 고장을 가질 것입니다.

비즈니스의 편리한 날짜에 거의 확실하게 끝나지 않을 것입니다.

다양한 종류의 위험이 포함됩니다.

그것은 암시 적으로 (10-12 개월) 또는 대형 단위 (약 4/4)를 사용하여 신뢰 구간으로 제시 될 것입니다.

그것은 프로젝트를 완료 할 책임이있는 누군가가, 바람직하게는 그러한 사람 이상을 완성 할 것입니다.

처음에 지연이있는 경우, 끝에서 10-12 개월 또는 프로젝트가 아직 시작되지 않은 2010 년 1 월과 같은 것이 아니라 지금 시작한 경우 약 1Q2010에 지연 될 것입니다.

가정과 종속성은 명확하고 눈에 띄게 나열됩니다.

편집 :이 중 일부는 프로젝트가있는 단계에 따라 다릅니다. 초기에 정확한 추정치는 경고 신호입니다. 특히 신뢰 구간이 할당되지 않은 경우. 그것은 Procrustean 추정치의 reeks입니다.

또한 다른 개발 방법론을주의하십시오. TimeBoxed 프로젝트는 엄격하고 임의의 일정을 가질 수 있지만 기능 세트는 유연합니다.

다음 중 하나 :

  • 하나의 큰 프로젝트이고 설명 된 짧은 수준의 전략은 없습니다.
  • 프로젝트에서 달성하고자하는 것에 대한 명확하고 짧고 간결한 비전은 없습니다.
  • 프로젝트는 점차적으로 전달되는 비즈니스 가치를 중심으로 구성되지 않습니다.
  • 팀은 큰 프로젝트에 대한 "정확한"추정치를 제공하고 긴 분석 단계에 들어가거나 수행 되었습니까? (변경 사항은 올 것이며 일반적으로 더 큰 노력없이 쉽게 정량화 할 수없는 방식으로 이러한 추정치에 영향을 미칩니다).
  • 전체 프로젝트에 대한 "상세한"추정치가 있습니다 (이전 관련)
  • 첫 번째 단계에 대한 자세한 추정치는 없거나 그에 뭔가 잘못된 추정치가 없습니다.

"4-6 주", 더 짧은 작업으로의 고장이 동반되지 않을 때 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top