Computer >> 컴퓨터 >  >> 프로그램 작성 >> Ruby

견적은 목표가 아니라 커뮤니케이션 도구입니다

"이 작업을 수행하는 데 얼마나 걸립니까?"

"이렇게 변경하는 것이 얼마나 어려울까요?"

화가 나고 좌절하기 시작했다면 아마도 소프트웨어 개발자일 것입니다. 평가는 고통 , 특히 작업 견적을 요청하는 사람('Bob'이라고 부르자)이 요청하는 내용에 대한 대략적인 아이디어만 가지고 있을 때. 이 고통의 대부분은 Bob이 원하는 것과 Bob이 원하는 것으로 생각하는 것의 차이로 인해 발생합니다.

추정치는 목표가 아닙니다.

개발자로서 저는 추정치를 "평균적으로 작업을 완료하는 데 얼마나 걸립니까?"라고 생각합니다. 나는 보통 그 질문에 대답할 충분한 정보가 없기 때문에 좌절하고, 내가 한 말을 지켜야 한다는 것을 알고 있습니다. 이 추정치를 맞추는 능력이 전반적인 성과를 나타내는 지표가 될 것이라고 생각하기 때문에 스트레스를 받고 짜증이 납니다.

커뮤니케이션 도구입니다

배송되는 모든 제품에는 그에 따라 달라지는 것들이 있습니다. 회사의 규모에 따라 마케팅, 홍보, 비즈니스 분석, 향후 제품 계획 또는 기타 여러 가지가 될 수 있습니다. 이것은 Bob이 찾고 있는 대답이 "이 일이 완료될 것이라고 가정하기 시작하여 이에 의존하는 일을 계획할 수 있도록 언제 시작할 수 있습니까?"라는 것을 의미합니다.

나는 "이것은 해야 에 의해 완료됩니다." 그러나 Bob은 "이 ...에 의해 완료됩니다.

David Bryant Copeland에는 첫 번째 장에서 이에 대해 설명하는 The Senior Software Engineer라는 훌륭한 책이 있습니다.

<블록 인용>

선임 소프트웨어 엔지니어는 가장 중요한 작업을 수행하고 안정적으로 수행할 수 있는 신뢰할 수 있고 기대됩니다. 이를 달성하는 방법은 결과 제공에 모든 것을 집중하는 것입니다.

그것을 염두에두고 Bob을 그의 조건으로 만나는 것이 가장 좋습니다. 이는 다음을 의미합니다.

  • 추정은 50%가 아닌 90% 신뢰도에서 이루어져야 합니다.

    Bob은 수행 중인 작업에 따라 계획을 시작할 수 있는 시점을 알고 싶어합니다. 이것이 추정치를 패딩해야 한다는 것을 의미한다면(아마도 그럴 것입니다) 괜찮습니다. 한 두 시간 안에 그 사람을 다시 찾아야 하는 경우에도 괜찮습니다.

  • 추정은 배송 시간, 테스트 전달 시간 또는 배포 대기열 시간 또는 기타 사항이 아닌 다른 항목을 기반으로 해야 합니다.

    이것은 결과 전달에 중점을 둡니다. Bob이 프로젝트가 배송되기를 기다리고 있다면 QA에 갇혀 있으면 아무 소용이 없습니다. 이는 일반적으로 추정치를 다시 채워야 함을 의미하며 이는 괜찮습니다.

  • 최상의 견적은 종종 "지금은 대답할 수 없지만 다시 연락드리겠습니다."입니다.

    추정치를 더 작은 부분으로 나누면 90% 신뢰도의 예상 배송 시간에 도달하는 것이 훨씬 쉬워집니다. 각 부분은 더 이해하기 쉽습니다. 많은 책에서 정확한 추정을 위한 전술에 대해 설명하지만 이 게시물의 범위를 벗어납니다.

내가 충분히 빨리 움직이지 않는다는 말을 들으면 어떻게 합니까?

내가 일한 모든 곳에서 경영진은 우리가 더 빨리 움직일 수 있기를 원한다고 들었습니다. 아무리 제품이 빨리 배송되어도 품질이 완전히 희생되고 견적이 절대적으로 미쳤다 해도 하루에 20시간을 일해도 경영진은 여전히 ​​당신이 더 빨리 움직이기를 바랄 것입니다. 개발자의 임무는 그것이 단지 소망일 뿐이며 빠르지만 유지 가능한 속도를 유지하고, 예측 가능하고, 결과를 제공하고, 높은 품질 기준을 유지하는 일을 수행하는 것입니다.

내가 언제 내 추정치를 웃긴 금액으로 초과했는데 내 추정치가 믿을 수 없을 정도로 채워진 것 같습니까?

나는 정기적으로 과대평가하는 사람이 벌을 받는 것을 본 적이 없으며, 당신이 예상했던 것보다 훨씬 더 오래 지속되는 프로젝트가 있을 때 보상을 받을 것입니다. 주어진 양만큼 과대평가하는 것이 같은 양만큼 과소평가하는 것보다 훨씬 낫습니다. 대부분의 경우 백로그가 있으며 더 일찍 다음 작업을 시작할 수 있습니다. 훌륭합니다!

50%의 경우를 목표로 한다면 예상치 못한 합병증으로 전체 제품 일정이 무너질 수 있습니다. 당신은 그것을 절반 시간 동안 할 것입니다! 90%의 경우를 목표로 한다면 상황이 안 좋아도 나머지 일정은 의도한 대로 작동할 수 있습니다. 제품이 정시에 배송되고 모두가 만족합니다. 인상과 프로모션이 제공되며 무엇보다도 최고의 보상을 받을 수 있습니다. 더 많은 견적을 낼 수 있습니다!