문제

주어진 작업이 얼마나 오래 걸리는지 추정하는 것은 소프트웨어 개발에서 가장 어려운 부분 중 하나 인 것 같습니다. 현재 상점에서 우리는 반복을 시작할 때 몇 시간 안에 작업을 추정하지만, 일단 작업이 완료되면 향후 추정에서 우리를 보조하는 데 사용하지 않습니다.

과거 추정에서 수집 한 정보를 어떻게 사용하여 미래의 정보를 개선합니까?

도움이 되었습니까?

해결책

내가 현실적으로 예약하기 위해 본 것 중 가장 흥미로운 접근법 중 하나는 증거 기반 스케줄링 Fogcreek Fogbugz 6.0 릴리스의 일부입니다. 시놉시스 및 몇 가지 예는 위의 Joel의 블로그 게시물을 참조하십시오.

다른 팁

추정치가 폭발하면, 그것이 무작위인지 확인하려고 시도하거나 (환경이 부러 졌는지, 일부는 까다로운 버그 등) 또는 식별하지 않은 것이 있는지 확인하십시오.

esimate가 너무 커지면, 당신이 너무 오래 걸릴 것이라고 생각한 것이 무엇인지 확인하고 왜 그렇지 않은지 알아 봅니다.

충분히 그렇게하면 개발자가 추정치에 도움이 될 것입니다.

예를 들어, 개발자가 컨트롤러에 대한 테스트 작성이 오래 걸릴 것이라고 생각한 다음 상상했던 것보다 시간이 줄어든 다음 다음 추정치가 비슷한 범위의 컨트롤러를 염두에 두어야한다고 생각합니다.

우리가 합의에 도달 할 때까지 팀원들과 반복적으로 추정합니다. 물론, 우리는 실수를 저지르지 만 "속도"요소를 설명 적으로 계산하지는 않지만 오히려 새로운 추정 토론에서 수집 된 경험을 사용합니다.

나는 추정 시간이 지금까지 당신을 얻을 것임을 알았습니다. 다른 작업, 예기치 못한 상황 또는 프로젝트 영향과의 상호 작용은 필연적으로 시간 프레임을 바꿀 것이며 지속적으로 다시 평가되면 개발할 수있을 때 관리하는 데 많은 시간을 낭비하게됩니다.

따라서 여기서 우리는 시간 동안 솔루션에 대한 경험을 바탕으로 초기 추정을 제공합니다 (우리는 모델을 사용하지 않으며 환경에서 충분히 잘 작동하지 않는 모델을 찾지 못했지만 KPI에 대해 판단하지도 않습니다. 우리는이 마감일이 사업에 부딪 칠 것으로 보장합니까? 여기서 우리의 개발 접근법은 크게 반응이 있으며, 우리의 비즈니스 요구 사항을 매우 잘 채우는 것 같습니다.

추정치가 꺼지면 거의 항상 뻔뻔스러운 원인이있어 학습으로 이어집니다. 메모리에서 최근 :

  • 사용자 인터페이스는 존재하지 않는 .NET 기능을 가정했습니다 (새 행을 삽입하고 gridView에 인라인을 편집하는 기능); 배운 교훈은 추정을 약속하기 전에 선택한 클래스의 기능을 확인하는 것입니다. 이 실수는 일주일이 소요되었습니다.

  • FTP 프로세스는 FTPWebRequest가 은행의 안전한 FTP 서버와 대화 할 수 있다고 가정했습니다. FTP 서버가 현재 디렉토리의 백 슬래시 이외의 다른 것을 반환하는 경우이 클래스에 알려진 버그가 있음이 밝혀졌습니다. 학습 한 교훈은 '튜토리얼'과 '예'뿐만 아니라 'gotchas'가 숨겨져 있는지 확인하기 위해 '튜토리얼'및 '예'가 아니라 '버그'및 '문제'를 구글에 넣는 것입니다. 이 실수는 3 일입니다.

이 수업은 프로젝트 추정 및 개발 "체크리스트"문서로 들어가므로 다음 프로젝트에 대해서는 잊혀지지 않습니다.

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