소프트웨어 개발에있어 일상적인 작업의 양은 무시할 수 없을 정도로 상대적으로 적어야하며, 이는 소프트웨어 추정의 근본적인 문제라고 확신합니다.
이 결론에 도달하는 방법을 설명하고 논증에 심각한 결함이 있는지 알려주십시오.
높은 정확도로 추정 할 수있는 모든 것은 일상적인 작업이므로 이전에 수행 된 작업을 의미합니다. 연구와 창의력과 관련된 다른 모든 종류의 작업은 적어도 +/- 20 %의 정확도로 추정 할 수는 없습니다.
소프트웨어 개발은 반복적 인 작업을 피하는 것입니다. 기본 원칙 중 하나는 DRY입니다 (반복하지 마십시오). 프로그래머가 스스로 반복적 인 일을 할 때마다이 반복을 피하는 추상화를 찾아야 할 때입니다. 이러한 추상화는 반복 된 코드를 함수로 추출하거나 루프에 넣는 것과 같은 간단한 작업 일 수 있습니다. 또한 도메인 별 언어를 만드는 것처럼 더 복잡 할 수도 있습니다. 어쨌든 그것들을 구현하려면 연구 (이전에 해본 적이 있습니까?) 또는 창의성이 필요합니다.
이 두 가지 점에서 위의 결론을 도출합니다.
실제로 나는이 관계가 다른 모든 토론, 블로그 게시물 또는 소프트웨어 추정에 관한 기사에서 언급되지 않은 이유에 대해 꽤 오랫동안 궁금해하고 있습니다. 너무 이론적입니까? 내 가정이 잘못 되었습니까? 아니면 너무 사소한 일입니까?하지만 왜 내가 아는 대부분의 개발자가 +/- 20 % 이상의 정확도로 견적을 수행 할 수 있다고 생각합니까?