oDesk에서 프리랜서로 일했습니다. 나는 주어진 시간에 몇 가지 일을 일찍했지만 마감일을 놓친 것은 처음이었습니다. 그것은 매우 긴 직업이었고 최선을 다했지만 여전히 마감일을 놓쳤습니다. 지금, 나는 매우 무서워. 마감일을 놓친 것은 내 잘못이기 때문이다.
내 질문은 : 이것은 큰 관심사이거나 프로그래밍 작업에서 흔히 볼 수있는 마감일을 놓친 것이므로 이것에 대해 너무 걱정하지 않아야합니까?
oDesk에서 프리랜서로 일했습니다. 나는 주어진 시간에 몇 가지 일을 일찍했지만 마감일을 놓친 것은 처음이었습니다. 그것은 매우 긴 직업이었고 최선을 다했지만 여전히 마감일을 놓쳤습니다. 지금, 나는 매우 무서워. 마감일을 놓친 것은 내 잘못이기 때문이다.
내 질문은 : 이것은 큰 관심사이거나 프로그래밍 작업에서 흔히 볼 수있는 마감일을 놓친 것이므로 이것에 대해 너무 걱정하지 않아야합니까?
답변:
예. 누락 된 마감일은 소프트웨어 개발에서 일반적입니다.
많은 프리랜서들이 기술 부채가 발생하거나 깔개 밑에 먼지를 숨겨 마감 시한을 맞 춥니 다.
의역 프레드릭 브룩스 ' 신화 남자의 달 :
프로젝트 리더가 토목 공학 작업과 동일한 방식으로 소프트웨어 작업을 계속 평가하기 때문에 마감일이 종종 누락됩니다. 소프트웨어는 명확한 표준이없는 새로운 수공예 산업이기 때문에 결함이 있습니다. 이것은 당신이 실수로 코드를 작성하기 위해 프로그래머의 "허가" 를 취소 할 수 없으며 제목없이 프로그래밍을 위해 누군가를 고소 할 수 없다는 것입니다.
소프트웨어 개발에는 다른 분야에는없는 고유 한 복잡성이 있습니다. 큰 프로그램은 자동차보다 더 많은 구성 요소를 가질 수 있으며 이러한 구성 요소는 더 다양한 방식으로 상호 작용할 수 있습니다.
소프트웨어는 시각화하기 어렵 기 때문에 프로젝트의 다른 측면을보기 위해 다른 종류의 다이어그램이 사용되며 이러한 측면은 직교하지 않을 수 있습니다. 반면에 토목 공학에는 청사진, 배선 등을 모두 동일한 차트 (또는 레이어)에서 직교 방식으로 볼 수있는 청사진이 있습니다.
교량 또는 건물이 반으로 건축 된 후 클라이언트가 프로젝트 범위를 완전히 변경하는 것은 일반적이지 않습니다. 이것은 종종 소프트웨어 프로젝트의 경우입니다.
소프트웨어 개발 분야의 최신 기술은 소프트웨어 프로젝트가 반복 가능하고 거의 위험이없는 시점에 도달하지 못했습니다. Microsoft와 같은 최대 규모의 소프트웨어 회사도 마감일을 몇 달 또는 몇 년 전에 놓칠 수 있습니다.
대부분의 스팀웨어 는 이러한 종류의 문제로 인해 절단 된 소프트웨어 프로젝트 일뿐 입니다.
결론적으로:
소프트웨어 개발 프로세스의 수공예 특성으로 인해 잘못된 추정 및 복잡도의 과소 평가는 미숙 한 분야로 남아 있습니다.
make
갖추면 (입력 하거나 무엇이든) 컴퓨터 과학에서 '계획'이란 무엇입니까? 계획의 혁신. 차이점은 make
컴퓨터 공학에서 테스트와 통합을 포함한 소스 코드 작성에 몇 달이 걸리고 엔지니어링에서는 계획에 몇 개월 (구조 계산 포함)이 걸리고 건축에는 몇 년이 걸리므로 계획의 차이는 영향이 적다는 것입니다 후자에.
일자리를 계속 얻으려면 누락 된 마감일이 일반적인 관행이되지 않아야합니다.
그렇게 말하면, 일반적으로 상황이 발생하는 경우를 대비하여 추정치에 추가 "흔들리는"방을 남겨두고 싶습니다. 추가 시간에 추가했다는 사실을 밝힐 필요는 없습니다. 부당하게 만들지 마십시오. 아마도 총 시간의 5-10 % 사이입니까? 당신이 알게 될 유일한 방법은 몇 번하는 것입니다.
추정치를 제대로 활용하려면 특정 유형의 위젯을 코딩하는 데 걸리는 시간을 알아야합니다. 예를 들어 클라이언트 X에 대해 무한 스크롤 위젯을 작성해야한다고 가정합니다. 1 주일이 소요되는 경우 버그없이 프로덕션에 배포하기 위해 무한 스크롤 추정치의 기준으로 사용할 수 있습니다.
상당히 흔하지 만 더 잘할 수 있습니다. 스토리 포인트 와 같은 추상적 인 것을 사용하여 추정을보고 실제 추정치를 계산하기 위해 속도 를 추적 할 수 있습니다. 이러한 개념은 가장 일반적으로 스크럼과 관련이 있지만 스크럼을 수행하지 않더라도 사용할 수 있습니다.
속도에 대한 놀라운 점은 개발자가 추정에 어려움을 겪는 중단 및 예기치 않은 복잡성과 같은 모든 무형의 것들을 포함한다는 것입니다. 모든 확률은 시간이 지남에 따라 평균화됩니다. 평균 10 주에 걸쳐 속도 추정치는 약 5 % 내에서 정확했습니다. 그러나 동일한 작업을 몇 시간 만에 예상 할 때 동일한 팀이 지속적으로 30-50 % 정도 과소 평가합니다.
저의 이론 (증명되지 않은)은 인간이 복잡한 일을 2-3 개씩 과소 평가하기 위해 진화했다는 것입니다. 의회는 NASA에 다음과 같은 질문을 할 때마다 : 셔틀을 만들거나 달로 이동하는 데 드는 비용은 일주일 안에 몇 주 안에 돌아옵니다. 예상 비용이 모두 소진 된 후 3 배의 비용이 발생한다는 사실을 알게되었습니다.
우리는 1970 년대에 농담을했습니다. 프로그래머 추정값을 두 배로 늘리고 다음 시간 단위로 옮깁니다. 따라서 프로그래머가 2 주 안에 완료 할 수 있다고 말하면 4 개월 후에 완료됩니다.
부엌을 리모델링 한 사람은 일반적으로 '2 주 후에 할게요'라고 생각합니다. 그들은 약 6 주 후에 끝냅니다.