추정 기법-개요
Estimation 입력 데이터가 불완전하거나 불확실하거나 불안정 할 수 있더라도 어떤 목적으로 사용할 수있는 값인 추정 또는 근사를 찾는 프로세스입니다.
추정은 특정 시스템이나 제품을 구축하는 데 소요되는 비용, 노력, 자원 및 시간을 결정합니다. 추정은-
- 과거 데이터 / 과거 경험
- 사용 가능한 문서 / 지식
- Assumptions
- 확인 된 위험
소프트웨어 프로젝트 추정의 네 가지 기본 단계는 다음과 같습니다.
- 개발 제품의 크기를 추정하십시오.
- 사람-월 또는 사람-시간으로 노력을 추정하십시오.
- 달력 달의 일정을 추정하십시오.
- 합의 된 통화로 프로젝트 비용을 추정합니다.
추정에 대한 관찰
추정은 프로젝트에서 일회성 작업 일 필요는 없습니다. 그것은 동안 일어날 수 있습니다-
- 프로젝트 획득.
- 프로젝트 계획.
- 필요에 따라 프로젝트 실행.
추정 프로세스가 시작되기 전에 프로젝트 범위를 이해해야합니다. 과거 프로젝트 데이터가 있으면 도움이 될 것입니다.
프로젝트 메트릭은 양적 추정을 생성하기위한 역사적 관점과 귀중한 입력을 제공 할 수 있습니다.
계획을 수립하려면 기술 관리자와 소프트웨어 팀이 책임과 책임으로 이어지기 때문에 초기 약속을해야합니다.
과거의 경험이 큰 도움이 될 수 있습니다.
최소 두 가지 추정 기법을 사용하여 추정값에 도달하고 결과 값을 조정하십시오. 추정 조정에 대해 알아 보려면 다음 섹션의 분해 기법을 참조하십시오.
계획은 반복적이어야하며 시간이 지남에 따라 조정이 가능하고 자세한 내용이 알려 져야합니다.
일반적인 프로젝트 추정 접근법
널리 사용되는 프로젝트 추정 접근법은 다음과 같습니다. Decomposition Technique. 분해 기술은 분할 및 정복 접근 방식을 취합니다. 크기, 노력 및 비용 추정은 프로젝트를 주요 기능 또는 관련 소프트웨어 엔지니어링 활동으로 분할하여 단계적으로 수행됩니다.
Step 1 − 구축 할 소프트웨어의 범위를 이해합니다.
Step 2 − 소프트웨어 크기 추정치를 생성합니다.
범위 설명으로 시작하십시오.
소프트웨어를 각각 개별적으로 추정 할 수있는 함수로 분해합니다.
각 함수의 크기를 계산하십시오.
기본 생산성 메트릭에 크기 값을 적용하여 노력과 비용 추정치를 도출하십시오.
함수 추정치를 결합하여 전체 프로젝트에 대한 전체 추정치를 생성합니다.
Step 3− 노력과 비용의 추정치를 생성합니다. 프로젝트를 관련 소프트웨어 엔지니어링 활동으로 나누면 노력과 비용 추정치를 얻을 수 있습니다.
프로젝트를 완료하기 위해 수행해야하는 일련의 활동을 식별합니다.
활동을 측정 가능한 작업으로 나눕니다.
각 작업을 완료하는 데 필요한 노력 (직접 시간 / 일)을 추정합니다.
활동에 대한 추정치를 생성하기 위해 활동 작업의 노력 추정치를 결합합니다.
데이터베이스에서 각 활동에 대한 비용 단위 (예 : 비용 / 단위 작업량)를 얻습니다.
각 활동에 대한 총 노력과 비용을 계산합니다.
각 활동에 대한 노력과 비용 견적을 결합하여 전체 프로젝트에 대한 전체 노력과 비용 견적을 산출합니다.
Step 4− 추정치 조정 : 3 단계의 결과 값을 2 단계에서 얻은 값과 비교합니다. 두 추정치 세트가 모두 일치하면 수치의 신뢰성이 높은 것입니다. 그렇지 않고 광범위하게 다른 추정이 발생하면 다음 여부에 대한 추가 조사를 수행하십시오.
프로젝트의 범위가 적절하게 이해되지 않았거나 잘못 해석되었습니다.
기능 및 / 또는 활동 분석이 정확하지 않습니다.
추정 기술에 사용 된 과거 데이터는 응용 프로그램에 부적절하거나 오래되었거나 잘못 적용되었습니다.
Step 5 − 차이의 원인을 파악한 다음 추정치를 조정합니다.
추정 정확도
정확성은 무언가가 현실에 얼마나 가까운지를 나타냅니다. 추정치를 생성 할 때마다 모든 사람들은 수치가 현실에 얼마나 가까운 지 알고 싶어합니다. 생성 당시의 데이터를 고려할 때 모든 추정치는 최대한 정확해야합니다. 물론 숫자에 대한 잘못된 확신을 불러 일으키는 방식으로 추정치를 제시하고 싶지는 않습니다.
추정의 정확성에 영향을 미치는 중요한 요소는 다음과 같습니다.
모든 추정치 입력 데이터의 정확성입니다.
추정 계산의 정확성.
모델을 보정하는 데 사용 된 과거 데이터 또는 산업 데이터가 추정하는 프로젝트와 얼마나 일치하는지.
조직의 소프트웨어 개발 프로세스에 대한 예측 가능성.
제품 요구 사항과 소프트웨어 엔지니어링 노력을 지원하는 환경의 안정성.
실제 프로젝트가 신중하게 계획, 모니터링 및 제어되었는지 여부와 예상치 못한 지연을 초래 한 큰 놀라움이 발생하지 않았습니다.
다음은 신뢰할 수있는 추정치를 얻기위한 몇 가지 지침입니다.
- 이미 완료된 유사한 프로젝트를 기준으로 추정합니다.
- 비교적 간단한 분해 기술을 사용하여 프로젝트 비용 및 노력 추정치를 생성합니다.
- 소프트웨어 비용 및 노력 추정을 위해 하나 이상의 경험적 추정 모델을 사용합니다.
이 장의 추정 지침 섹션을 참조하십시오.
정확성을 보장하려면 항상 최소 두 가지 기술을 사용하여 추정하고 결과를 비교하는 것이 좋습니다.
추정 문제
종종 프로젝트 관리자는 크기를 예측하기 위해 일정을 건너 뛰는 예측에 의존합니다. 이는 최고 경영진이나 마케팅 팀이 정한 일정 때문일 수 있습니다. 그러나 이유가 무엇이든 이것이 수행되면 이후 단계에서 범위 변경을 수용 할 일정을 추정하기가 어려울 것입니다.
추정하는 동안 특정 가정을 할 수 있습니다. 일부는 여전히 추정 시트에 가정을 문서화하지 않기 때문에 이러한 모든 가정을 추정 시트에 기록하는 것이 중요합니다.
좋은 추정치조차도 내재 된 가정, 위험 및 불확실성을 가지고 있지만 종종 정확한 것처럼 취급됩니다.
추정치를 표현하는 가장 좋은 방법은 가능한 결과의 범위를 지정하는 것입니다. 예를 들어 프로젝트가 특정 날짜에 완료되거나 고정 된 번호로 완료 될 것이라고 말하는 대신 5 ~ 7 개월이 소요될 것입니다. 개월. 확정 된 날짜를 지정하는 것과 동일하므로 너무 좁은 범위를 지정하지 않도록주의하십시오.
수반되는 확률 값으로 불확실성을 포함 할 수도 있습니다. 예를 들어, 프로젝트가 정해진 날짜 또는 그 이전에 완료 될 확률이 90 %입니다.
조직은 정확한 프로젝트 데이터를 수집하지 않습니다. 추정의 정확성은 과거 데이터에 따라 다르므로 문제가 될 수 있습니다.
모든 프로젝트에 대해 필요한 기능을 포함하고 품질 출력을 생성 할 수있는 가능한 가장 짧은 일정이 있습니다. 관리 및 / 또는 클라이언트의 일정 제약이있는 경우 제공 할 범위 및 기능에 대해 협상 할 수 있습니다.
일정 초과를 방지하기 위해 범위 크립 처리에 대해 클라이언트와 동의합니다.
최종 추정치에서 우발성을 수용하지 못하면 문제가 발생합니다. 예 : 회의, 조직 행사.
리소스 사용률은 80 % 미만으로 간주해야합니다. 이는 자원이 시간의 80 % 동안 만 생산적이기 때문입니다. 80 % 이상의 사용률로 자원을 할당하면 미끄러짐이 발생할 수 있습니다.
추정 지침
프로젝트를 평가하는 동안 다음 지침을 염두에 두어야합니다.
평가하는 동안 다른 사람들의 경험을 물어보십시오. 또한 자신의 경험을 작업에 넣으십시오.
리소스가 시간의 80 % 만 생산적이라고 가정합니다. 따라서 추정하는 동안 리소스 사용률을 80 % 미만으로 취하십시오.
여러 프로젝트에서 작업하는 리소스는 작업을 전환하는 데 시간이 걸리기 때문에 작업을 완료하는 데 더 오래 걸립니다.
예상치에 관리 시간을 포함하십시오.
문제 해결, 회의 및 기타 예기치 않은 이벤트에 대비하여 항상 우발적 인 상황에 대비하십시오.
적절한 프로젝트 추정을 할 수 있도록 충분한 시간을 허용하십시오. 급한 추정치는 부정확하고 위험성이 높은 추정치입니다. 대규모 개발 프로젝트의 경우 추정 단계는 실제로 미니 프로젝트로 간주되어야합니다.
가능하면 조직의 유사한 과거 프로젝트에서 문서화 된 데이터를 사용하십시오. 가장 정확한 추정치를 얻을 수 있습니다. 조직에서 기록 데이터를 보관하지 않은 경우 지금 수집을 시작하는 것이 좋습니다.
작업을 수행 할 사람이 아닌 다른 사람들이 준비한 추정치가 덜 정확하므로 개발자 기반 추정치를 사용하십시오.
여러 사람을 사용하여 여러 가지 추정 기법을 추정하고 사용합니다.
추정치를 조정하십시오. 추정치 간의 수렴 또는 산포를 관찰하십시오. Convergence는 좋은 추정치를 얻었다는 것을 의미합니다. Wideband-Delphi 기술은 정확하고 편향되지 않은 추정치를 생성하기위한 목적으로 사람들 그룹을 사용하여 추정치를 수집하고 논의하는 데 사용할 수 있습니다.
수명주기 동안 프로젝트를 여러 번 재평가합니다.