문제

두 개의 웹 애플리케이션 (DAL/DAO/BO 어셈블리 및 일부 OSS 라이브러리를 공유하는 두 개의 웹 응용 프로그램이 포함 된 프로젝트가 있다고 가정 해 봅시다.

  • 인증을 위해 Windows Live ID를 사용하고 다양한 알림 서비스 (이메일, SMS, Twitter 등)와 함께 기능의 약 10% 인 Targeted Notifiers와 통신 할 수있는 Semi Complex Management Application
  • 기능이 적지 만 인증을 위해 Windows Live ID를 사용하는 견고성을 가진 낮거나 반 복잡한 사용자 응용 프로그램

중간 추정 기능이있는 두 사람이 있으며 우리가 원하거나 원하더라도 이틀 안에는 할 수 없습니다. 적어도 그것은 그럴 것입니다 멀리 떨어져 추정.

질문

  1. 신뢰할 수 있고 귀중한 추정치를 만들기 위해 일반적으로 얼마나 오래 걸립니까?
  2. 정확도를 희생하지 않고 속도를 높이기 위해 무엇을 제안 하시겠습니까?
  3. 추정 속도에 따라 추가 (비용/시간)의 여유 시간 (말할 때 : 조금 더 추정 할 수 있습니다. 여전히 꽤 꺼져 있다고 생각하기 때문입니다.)
도움이 되었습니까?

해결책

흥미로운 질문. 대답이 "정말 의존합니다!"라는 것이 두렵습니다. 나는 그것이 크게 유용하지 않다는 것을 알고 있습니다 (사실이지만) 여기에 몇 가지 요인이 있습니다.

1) 요구 사항의 품질과 완전성 및 사양. 이것은 나에게 가장 자주 프로젝트 추정 살인자입니다. 품질 요구 사항이없는 경우 견적에 대한 합리적인 근거가 없습니다. 우리는 여기에서 "rup-lite"스타일의 제품 개발 스타일을 사용합니다. 엔지니어링 관리자로서 우리는 "정교화"단계를 완료하고 제품 관리로부터 사인 오프를 얻을 때까지 가장 거친 곡물 추정치 외에는 아무것도주지 않을 것입니다. 제품 기능의 핵심 80%는 실제로 정확하게 다루고 있습니다.

2) 제품의 범위 및 특성. 더 크고 더 비싸거나 복잡한 = 추정에 실질적으로 더 길다. 나는 정상적인 강력한 캐리어 요구 사항을 갖는 통신 캐리어 토지 제공 솔루션 (SLA가 요구하는 Uptime의 "5 9 '는 솔루션 설계 및 고장 복구를 잘 수행해야한다는 것을 의미하는 통신 캐리어 토지에서 몇 년을 보냈습니다.). 비즈니스의 기능적 영역에 걸쳐 모든 움직이는 부분이있는 이러한 종류의 환경에서, 작업 추정은 전체 그림을 얻는 데 달려 있습니다. 구체적으로, 교차 기능 의존성과 외부 의존성은 여기에서 실제 킬러가 될 수 있습니다. 즉, 나는 또한 많은 수축 포장 및 엔터프라이즈 소프트웨어를 구축했습니다. 이러한 환경에서는 범위가 일반적으로 실질적으로 작기 때문에 훨씬 쉽기 때문에 추정하기가 훨씬 쉽습니다.

3)이 프로젝트는 어떻게 "새로운"입니까? 이 제품이나 기술 세트의 팀은 어떻게 "새로운"입니까? 제품이나 팀이 최신 일수록 더 길고 더 많은 버퍼를 할당해야합니다.

4) 우리는 얼마나 구체적이어야합니까? 이것이 "거친 추측"이라면 엔지니어링 리드에 기대어 보수적 인 견적을 제공 할 것입니다. "실제"추정치가 필요하다면 (예 : 상사가 사용하고 타격을받을 책임이있는 것), 여러 다른 관리자와 팀원의 의견이 필요합니다. 요구 사항을 분석하고 자체적으로 부여합니다.

며칠 또는 몇 주 정도 걸릴 수 있습니다. 모두 크기에 달려 있습니다. "2 ~ 3 일"은 솔직히 말해서 가장 사소한 프로젝트를 크기를 조정하기에는 충분하지 않습니다.

요구 사항의 품질을 향상시키기 위해 견적의 품질을 향상시키고 숨겨진 의존성을 식별하는 데 무자비한 일입니다.

마지막으로 : FWIW, 나는 81 년 이후 로이 일을 해왔고 프로젝트의 지속 시간/비용을 엔지니어링 관리의 위험과 가장 어렵고 단 하나의 단일으로 정확하게 추정하는 것을 고려합니다.

다른 팁

우리는 민첩한 방법 (스크럼, 특히)을 사용하기 때문에 사용자가 우선 순위를 정하는 것보다 약 1 시간 더 걸립니다.

더 많은 시간이 더 정확성으로 이어지지 않습니다.

그러므로 어려운 부분은 사용자가 우선 순위를 정하는 것입니다. 우리는이 토론을 항상 들었습니다. "모든 것이 제 시간에 완료되지 않으면 모두 무가치합니다." "xyzzy 구성 요소를 제외하고는 가치가 있습니다." 그 주장은 Xyzzy가 먼저해야한다는 해결 될 때까지 몇 시간 동안 계속 될 수 있습니다.

일반적으로 우리는 4 주간의 스프린트를 만들려고 노력합니다. 처음 몇 명은 항상 새로운 것이 있기 때문에 복잡합니다. 처음 두 (또는 3 개) 이후 우리는 꾸준한 속도를 설정하는 것 같습니다.

각 유스 케이스는이를 마무리하는 데 필요한 노력에 대한 비교적 간단하고 주관적인 평가를 가지고 있습니다. 지속 시간에 하나의 전체 스프린트 이상이 분해되어야합니다. 대부분의 경우 몇 가지 사용 사례는 단일 스프린트에 묶여 있습니다.

비용과 일정 문제를 더 잘 처리하기 위해 각 유스 케이스를 채점하는 공식적인 방법입니다. 추가 노력이 도움이되지 않기 때문에 우리는 그것들을 사용하지 않습니다.

처음 두 스프린트 후

  1. 새롭고 다른 기능이 있습니다.

  2. 우선 순위가 모두 바뀌었고

  3. 각 유스 케이스의 세부 사항은 극적으로 수정되었습니다.

"정확도"는 각 스프린트의 끝에서 변경 사항을 추정하려고 할 때 무엇을 의미합니까?


한 교훈을 배웠습니다. 회사의 일부는 a 시간을 완전히 정의합니다 바로 그거죠 무엇을 배달하고, 그들이 원하는 것을 정확하게 전달하고 있음을 측정합니다.

고객은 이것을 알아 차리고, 한 사람은 "계약의 말을 전달하는 데 많은 시간을 소비하지만 우리가 필요로하는 것은 아닙니다."

확고한 선형 추정의 문제는 그들이 자신의 삶을 취한다는 것입니다. 추정에 "투자"할수록 추정치가 더 유용한 것으로 보입니다. 그들은 일반적으로 완전히 잘못 되었기 때문에 유용하지 않습니다. 그것들은 완전히 잘못된 선형 가정을 기반으로합니다.

투자하는 것은 나쁜 정책입니다 추정 시간. "정확한"답변은 더 정확하지는 않지만 모든 관리 계층에 의해 더 소중히 여겨집니다. 귀하와 고객이 배우는 것처럼, 당신은 수많은 가정을 무효화하고 당신은 끊임없이 끊임없이 재구성해야합니다.

앞에하지 마십시오. 계약에 따라 계약이 필요하다면 변경 제어 조항이 있는지 확인하고 고객에게 앞으로 나아갈 때 절대적으로 변경할 것이라고 말하십시오. 처럼 둘 다 당신과 고객은 당신을 배웁니다 ~ 해야 하다 변화시키다.

신뢰할 수있는 추정을하려면 실제로 수행 할 작업 목록을 작성해야합니다. 이야기/과제로 나누고 (민첩한 사용하지 않더라도) 평가하십시오. 이는 이미 많은 시간이 걸릴 수 있습니다. 특히 연구의 양 (도서관이 비용을 줄이기 위해이 알림 작업을 수행하기 위해 도서관을 찾는 것). 나는 적어도 3 일이 걸리지 만 1-2 주가 더 합리적으로 들린다. 이것은 작은 프로젝트가 아닌 것 같습니다.

다소 합리적인 결과를 얻지 못하면 추정 프로세스의 속도를 높이 지 않을 것입니다. 추정은 결코 정확하지 않으며 상황을 악화시킬 것입니다.

옵션은 몇 시간 안에 완전히 거친 추측을 한 다음 이미 일주일 정도 일하기 시작하는 것입니다. 주가 끝나면 현재 진행 상황에 따라 더 나은 추정을 할 수 있습니다. 그러나 좋은 프로토 타입을 만드는 것이 중요합니다 (쓰레기처럼 보이지만 모든 지역에서 약간의 코드가 있습니다).

일반적인 인용문은 "가격은 초기 추정치의 50%에서 400% 사이"입니다. 이 인용문이 커진 이유는 그것이 사실이기 때문입니다. 추정 정확도는 주로 도메인 지식에 따라 다릅니다. 이번이 100 번째 인 경우 주어진 유형의 블로그 엔진을 판매 한 것보다 추정치에 대해 확신합니다. 그러나 종종 그렇지 않은 경우도 도메인에 대한 독창적 인 지식이 없습니다 (앱이 이미 존재하는 경우 새 제품을 만드는 이유는 무엇입니까?).

사람들이 전통적인 "폭포"사고 유형이 대부분의 실제 프로젝트에서 효과가 없다는 것을 인식하기 때문에 민첩한 발전이 인기를 얻었습니다. 당신은 당신의 견적에 동일한 사고 방식을 적용해야합니다. 분명히, 당신은 어떤 종류의 판매 포인트가 필요하지만, 고객 에게이 정보는이 정보가 매우 모호하다고 말해야합니다 (그리고 어떤 경쟁 업체가 그들에게 무엇을 말하든 그들의 견적도 모호합니다).

반복을 판매해야하므로 반복을 추정해야합니다. 나는 모든 회사의 마케팅 guy가 서류와 법적 물건을 처리하는 방법을 알고있을 것이라고 확신합니다. 그래서 그렇게 큰 거래는 아니어야합니다.

5 개의 반복 프로젝트를 고려하십시오.

  • 이정표를 세우면서 시작하십시오. 이들은 변경 될 수 있지만 최종 제품에 대한 Vargue의 첫 번째 추정치를 제공합니다.
  • 계획 반복 #1.
  • 반복 #1을 추정하고 그에 따라 총 추정치를 조정하십시오.
  • 반복 #1을하십시오
  • 반복 #5까지 헹굼 / 반복
  • 당신은 끝났습니다 :)
  • 프로젝트를 반영하십시오. 당신의 추정은 어떻게 발전 했습니까? 원인? 수행하여 배우십시오 :)

대부분의 고객은 오히려 일부 소송이 판매 한 비현실적인 목표보다 부분적으로 인식 및 부분 분류를 가질 것입니다. :)

원래 질문에서 약간 길을 잃지 만, 과거에 생산 한 추정치에서 실제로 추정 한 일을하는 데 걸리는 시간에 대한 정보를 유지함으로써 배우는 것이 중요합니다.

우리는이 페이지를 제작하는 데 5 일을 추정했으며 실제로 10 일이 걸렸습니다.

이와 같은 장기 정보에서는 (희망적으로!)보다 정확한 추정치를 생성 할 수 있습니다.

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