문제

나는 개발자에 내 직원 만 overshoots 마감 시간,그리고 추정합니다.여러 프로젝트에서 마지막 일주일에 두 매일 내가 듣고"그것에 의해 수행되어야 하루의 끝".이는 개발자가 좋은 작품이다.

내가 이미 그를 이야기에 대한 자신의 문제입니다.그는 것이 진정으로 좌절,그리고 분개에 대해 무엇을 해결할 수 있습니다.

나의 질문은:

  1. 어떤 종류의 처벌을 전달 마감일이 효과적 입니까?
  2. 무슨 방법이 있으로 강제 이 직원이 경찰서 자신의 행동(시간 견적 등) 자신은 무엇입니까?

업데이트:응답에 따라;여기에 내가 무엇을 알아 냈다.

  1. 처벌은 나쁜 생각이 아니다.
  2. 그것은 자연적인 직원을 위해야 해결할 수 없을 추정하지 않고 문제입니다.
  3. 하지 않는 경계선이 없는 한의사 결과(손실 계약)에 이루어지지 않고 있습니다.
  4. 을 활용할 수 있는 방법(Agile,Joel 의 체크리스트)도 개발 견적을 더합니다.

감사에 대한 링크와 정보를 제공합니다.또한 감사한 업데이트 내 생각입니다.

도움이 되었습니까?

해결책

문제는 그가이 마감일을 놓치고 있다는 것입니다.

나는 그가 작업을 완료하는 데 걸리는 시간을 추정하는 데 실제 문제가 있다고 생각합니다.

그분은 자신이 말한 내용에 대한 일기를 유지하고 실제로 작업을 완료하는 데 실제로 얼마나 오래 걸렸는지. 결국,이 저널은 더 나은 추정치를 만들기위한 일종의 가이드가 될 것입니다. 그가 추정하는 데 더 나아지면 서두르거나 괴롭히는 느낌이 들지 않아야합니다.

다른 팁

재미있는 기사하여 요엘 Spolsky: 증거 기반의 예약

1)휴식'er 래

내가 볼 때 일정에서 측정된 일 또는 몇 주 동안,나는 그것의 작동하지 않을 수 있습니다.당신이 당신의 일정으로 매우 작은 작업에서 측정할 수 있는 시간입니다.더 이상 아무 것도 없 16 시간입니다.

이제 당신은 실제로 어떤 당신이 할 것입니다.쓰 서브루틴 foo.을 만들이 대화 상자입니다.분석 Fizzbott 파일입니다.개인 개발 작업은 예측하기 쉽기 때문에,당신이 작성한 서브 루틴을 만들어,대화,그리고 분석하기 전에 파일을.

는 경우에 당신은 실수를 선택 큰 세 가지 주는 작업(예를 들어,"구현하는 Ajax 사진 편집기"),그 다음 당신에 대해 생각하지 않은 당신이 무엇을 할 것입니다.에서 세부 사항입니다.Step by Step.고지 않으면 무슨 생각을 할 것인지,당신은 알 수 없습니다 얼마나 오래 걸릴 것입니다.

설정 16 시간에 최대 부대를 디자인하는 당신 망 기능입니다.이 있는 경우 손으로 물결 모양의 세 가지 주"라는 기능이 Ajax 사진 편집도 없이"있는 상세한 디자인,죄송하는 것 중 하나 당신에게 그것을 끊는 것을 하지만 당신은 공식적으로 운명.당신에 대해 생각하지 않았 단계에 걸릴 것이고 당신은 확실을 잊고 그들의 많은.

주요 요점은 그는(당신이)배워야 한다는 자신의 실수에서,그리고 그들이 계정에 다음 용도로도 사용이 가능합니다.

또한,개발자의 경우,내가 할 일정 검토 코드의 끝에서 하루 더 나은 통찰력으로 자신의 개발 과정이다.

그리고 물론,작은 반복하고 더 세분과 함께 작업입니다.최대 작업 기간 1 일을 합니다.는 규칙이 우리가 있습니다.

첫 번째 질문이라면어떤 종류의 처벌을 고려해야하는지 나는 당신이 똑바로 패배하는 것 같아요. 그가 좋은 일을한다고 생각되면 마감일/추정치를보고 처음부터 현실적인지 확인해야 할 수도 있습니다. 문제의 개발자가 관여하지 않으면 문제의 일부가 될 수 있습니다.

나는 프로그래밍을 페어링하고 아마도 정기적 인 하루 종일 진행 상황 검토가 그를 도울 수 있다는 @otisler에 동의합니다 ... 마감일/추정이 당신의 문제가있는 곳이 아닌 경우에 비현실적이라면 비현실적이지만.

몇 가지 특정 작업에 대한 면밀한 모니터링은 문제가있는 위치를 강조해야합니다.

마감일을 통과하기위한 어떤 종류의 처벌이 효과적입니까?

없음. 당신이 그를 화나게한다면, 그는 일을하지 않거나 다른 직업을 찾을 것입니다. 그의 추정치가 왜 꺼져 있는지 알아 내도록 도와야합니다. Steve McConnell의 추정에 관한 책이 있습니다. 나는 거기서 시작할 것이다.

이 직원이 자신의 행동 (시간 추정 등) 자신을 경찰에 경찰을 일관성있게 할 수 있습니까?

그가 추정하는 올바른 방법을 찾도록 도와줍니다.

첫째,당신이 있는지 확인 맑은 당신의 요구 사항입니다.

내가 싫어 말하지만,제 경험,불어 마감 시간은 종종의 문제는 불분명한 요구 사항이나 약한 사양의 일부를 감독.먼저 할 일을 확인하기 위한 것이 문제가 되지 않거나 발생 또는 악화에 의해,당신입니다.

또한,요구 사항은 현실적뿐만 아니라,자신의 예상됩니다.

는지 확인하는 귀하의 자신의 기대 없이 밀고 그에게 비현실적인 추정치를 충족하기 위해서 비현실적인 요구 사항입니다.

기억,당신이 할 요구 사항이지만,개발자가 추정하고,흔들리지 않으로"우리가 할 수 있는 이 더 빨리"지 않는 한 당신은 또한 지정하는 기능을 삭제됩니다.

그런 다음,는지 확인하십시오 추적하고 자신의 시간/정확하게 작업할 수 있도록의 좋은보기를 얻을에 무슨과 함께 프로젝트입니다.

이 과정은 표시 모든 부 적절한 시간/작업을 추적할 수 있는 끝나는 첫 번째 단계로 개선합니다.할 수 없는 경우에는 보 프로젝트 후 얼마나 특정 항목했다,그것은 아마도 문제의 원인가 맞지 않을 충분히 정의에서 추정,또는 누락"의존성"하는 작업을 발견 mid-프로젝트,하지만 결코 것이다.

할 수 있는 방법을 알고 많은 시간을 보냈고,무엇을 정확하게 찾을 수 있습니다 전에는 크리프,또에 대해 무엇을 할 수 있습니다.

다음을 참조하십시의 추정은 실패와습니다.가을 통해 예상의 본격적인 프로젝트는 프로젝트는 그 자체에 문제가 해결 될 수 있습니다.

일단 당신이 결정하는 자신의 추정은 참으로 문제의 원인,가을 통해 예상되는 가서 그와 함께,그리고 아마도 다른 개발자 및습니다.

이 도움이 될 것입니다 당신은 그림에 무엇이 문제의 원인입니다.한 이해의 문제를 가능성이있을 것입니다 실제적인 솔루션입니다.

마지막으로,는 경우에 당신은 실제적으로 도달한다는 점을 시도해야 또는 처벌 강압,시간이 그를 시작합니다.

처벌 및 강제 적절한 응답을 고의적 불법 행위에서 특정 상황입니다.

그러나 이는 개발자가 적극적으로 노력하고 좋은 일을 할 수 있다면,당신은 악화 상황을 생성하여 부정적인 태도 있습니다.

는 경우 문제 해결될 수 없고,당신이 확실한 문제,그리고 당신이 아니라,그때는 그를 얻을 개발할 수 있는 기한을 충족합니다.훌륭한 일이 아닙니다 많은 경우의 비용은 날아와 이익 창 밖으로 갑니다.

좋아, 이것은 상당히 일반적입니다. 개발자들은 낙관적입니다. 그것을 다루는 것은 관리의 임무입니다. 누군가 처벌을 받아야한다면, 그것은 관리자입니다 (당신?)

나는 당신이 적어도 물어 보니 기쁩니다.이 목록에서 좋은 답변을 얻은 것처럼 보입니다. 그들이 도움이되기를 바랍니다. 그리고 당신은 실제로 그 일을 구현할 수있는 방법을 찾습니다.

내가 어렸을 때, 나의 첫 좋은 관리자는 이런 식으로 그것을 다루었 다 :

우선, 그는 제목 별 목록을 생각해 냈으며, 이는 몇 시간으로 몇 시간으로 작업하고, 매우 자유로운 추정치를 가진 각각의 작업을 추정했습니다.

그런 다음 그는 그들을보고 내 모든 추정치를 두 배로 늘라고 말했습니다. (개발자, 특히 젊은 개발자는 운이 좋으면 하루에 약 1/2에만 생산적이라는 사실에 대해 생각하지 않습니다. 하다).

그런 다음 일정을 만들기 전에 그는 내 모든 추정치를 두 배로 늘 렸습니다 (나에게 말하지 않고).

그는 위의 일정 요구 사항에 관계없이 이런 식으로 돌렸다. 좋은 관리자는 2 일 안에 이루어져야한다고 말하면 가능해지는 것은 아닙니다.

추정을 더 잘 추정하면서 우리는 그에 따라 눈치 채고 조정했습니다.

관리자 직업은 프로젝트를 만드는 것이 아니라 팀을 구성하는 것입니다. 그것은 종종 일종의 훈련이 필요하지 않을 것입니다. 이것은 또한 엔지니어가 아닌 엔지니어링 관리자가 용납 할 수 없기 때문에 이런 종류의 일에 실제로 도움이되지 않는 이유입니다.

프로젝트 나 일정의 실패는 실제로 개발자의 잘못이 아닙니다 (실제로 고칠 수 없거나 가치가없고 해고 해야하는 몇 가지 만성적 인 경우를 제외하고). 관리자는 개발자를 고용하고, 신뢰하거나, 그를 관리하거나, 프로젝트를 직원으로 고용하는 데 나쁜 결정을 내 렸습니다.

그리고 실제로, 결함은 어쨌든 무엇입니까? 관리자가 프로젝트를 수행하는 데 능숙하지 않다면, 그는 누군가를 가리킬 사람이 필요하다고 생각합니다 ... 그의 관리자가 좋은 사람이라면, 왜 그렇게 얻었는지, 당신이 그것을 해결하기 위해 무엇을했는지 묻습니다. , 등.

관리자를 고용하면 문제를 해결하기 위해 누군가를 고용합니다. 개발자를 생산적으로 만들기 위해. 그가 생산적으로 만들 수 없다면, 그는 올바른 사람이 아닙니다.

귀하의 질문에 :

  1. 누락 된 마감일을 사람들에게 처벌하기로 선택하면 좋은 결과를 얻지 못할 것입니다. 그들은 동기를 부여 받고 느껴질 것입니다. 사람들이 마감일을 맞추도록 계속하면 일의 질이 어려워지고 나중에 버그를 고치는 데 많은 시간이 걸릴 것입니다.
  2. 그의 시간 추정치를 향상시키기 위해 Joel Spolsky 's를 사용해 볼 수 있습니다. 증거 기반 스케줄링 결과 추정치를 개선하기위한 좋은 피드백 루프가 있습니다.

그러나 나는 당신이 생각해야 할 몇 가지 질문이 있습니다.

그는 다른 사람들보다 늦게 있습니까? 그렇다면 왜 - 그가 과도한 낙관적 추정기이거나 느린 작업자이기 때문입니까? 과도한 낙관적 추정치는 쉽게 해결할 수 있습니다. 그가 느린 노동자라면 왜? 그는 산만 해지십니까? 그는 매우 낮은 결함 코드를 생산하는 데 매우주의를 기울입니까? 그는 엔지니어링 솔루션을 초과합니까? 그는 코드를 효과적으로 재사용하지 않습니까?

마감일이 중요합니까, 아니면 관리 계층 구조를 강화하는 진행 상황에 대한 추정치에 따라 임의의 날짜입니까? 후자가 자신의 추정치를 스스로 조정하여이를 해결할 수 있습니다.

마감일을 통과하기위한 어떤 종류의 처벌이 효과적입니까?

당신은 요점을 언급하고 놓쳤다. 마감일을 통과 한 것에 대한 명백한 처벌은 사망입니다. 마감일을 통과 한 후 개발자가 여전히 살아있는 경우 "마감일"은 분명히 실질적인 마감일이 아니 었습니다. 무술을 사용하여 개발자를 압력에 빠뜨리는 것이 재미 있다고 생각하십니까?

문구를 고치십시오.

동기 부여

우선 : 읽기 Peopleware

다음. 처벌이 창의력을 발휘 해야하는 사람들을 관리하는 효과적인 방법이라고 생각하는 이유는 무엇입니까? 관리 대 팀에 대한 전체 접근 방식을 다시 생각해야한다고 생각합니다.

내가 먼저 관리자를 보았 듯이 가장 중요한 역할은 개발자가 ~할 수 있다 창의적이고 생산적입니다. 그것들이 아닙니다 ~이다 생산적인. 그 작은 단어에는 큰 차이가 있습니다. 창의력을 발휘하려면 안전한 환경이 필요합니다. 마감일과 처벌의 위협으로 인해 끊임없이 압력을 받음으로써 당신은 안전과 정반대를 만듭니다.

또한 관리자로서 결정을 내릴 정확한 정보가 필요합니다. 이것은 또한 안전한 환경이 필요합니다. 정직하고 대변인에 대한 처벌의 위험이 있다면 거짓말과 정보가 부재할 수 있습니다. 결정을 내릴 수있는 매우 위험한 기반.

추정

지적한 바와 같이, 추정치는 추정치입니다. 우리 팀에서는 개인 추정치를 전혀하지 않으며 팀으로 추정됩니다. (나는 우리가 스크럼을 부르는 것을 꺼려하지만 대부분의 경우에 모방하려고 시도합니다.) 나는 이것이 정말로 추정을하는 좋은 방법이라고 생각합니다. , 1/2,1,3,5,8,13,20,40,60,100과 작업을 추정 할 때 각 개발자는 카드를 선택합니다 (모든 사람이 추정치에 영향을 미치지 않도록 카드를 선택할 때까지 카드는 숨겨져 있음) 및 평균 선택된 카드는 추정치로 간주됩니다.

숫자가 어떻게 점차 덜 정확 해지는 지 주목하십시오. 큰 추정치는 필요성이 덜 정확하기 때문에 설계에 의한 것입니다.

우리 팀의 경우 우리는 추정에 "이상적인 사람의 날"을 사용하기로 결정했습니다. 우리 중 누구라도 이상적인 날이 아직 일어나지 않았다는 것을 기억할 수있는 한, 캘린더 날을 "이상적인 사람의 날"으로 번역하는 방법을 알면 좋은 기초입니다.

Scrum이 규정 한 바와 같이, 개발은 2 주간의 스프린트로 이루어지며 새 버전은 생산 환경에 배치됩니다. 각 스프린트 후에 우리는 완료된 작업의 추정치의 합을 취하고 계획된 사람의 날로 스프린트를 나눕니다. 이 요소는 팀이 2 주일에 얼마나 많은 "이상적인 사람 일"을 할 수 있는지 추정하는 기초입니다.

개별 개발자가 수행 한 실제 작업 항목은 견적이 필요하지 않습니다. 첫 번째 근사치는 항상 1/2-1 일 완료됩니다. 이 추정치가 거짓으로 판명되면 동료 개발자를 잡고 함께 수행하기 위해 함께합니다. 또는 더 작은 작업으로 작업 항목을 분류하여 더 잘 배포 할 수 있습니다.

세트 이정표 그리고 시도하십시오 기민한 @otisler가 제안한 것처럼.

나는 당신이 그를 처벌해야한다고 생각하지 않습니다. 정확한 견적을하는 방법을 이해하도록하십시오.

팀 리드로서 저는 팀원들이 마감일까지 X 기능을 완료하는 것이 "문제가 없다"고 말해주었습니다. 그런 다음 나는 보통 그들과 함께 앉아서 기능을 완료하기 위해서는 어떤 작업과 하위 작업을 수행해야한다고 생각하고, 개발자가 각각의 시간이 얼마나 걸릴지 생각합니다.

이 연습을하고 모든 작업 및 하위 작업 추정치를 추가 한 후에는 개발자가 원래 추정치에서 생각하는 것보다 필연적으로 더 오래 걸립니다. 나는 보통보다 정확한 추정을 시작하기 전에 몇 번만이 운동을해야합니다.

놀랍게도 당신은 당신 이이 사람들 중 하나만 있다는 것입니다.

엔지니어들은 무언가가 얼마나 많은 시간을 소비 할 것인지 추정하는 데 끔찍합니다. 다른 개발자의 추정치를주의 깊게 살펴보면 많은 패딩을 찾을 수 있습니다. 때로는 패딩이 필요하지 않지만 작업이 확장되어 사용 가능한 시간을 채우도록 확장됩니다.

이에 대한 해결책은 모든 사람을 위해 당신이 추정하는 방식을 중심으로 변화하는 것입니다. 개발자는 절대적인 시간을 추정하는 데 나쁘지만 상대적 시간은 꽤 좋습니다. 그래서 월요일에, "whoosiwhatsit을 추가하는 데 얼마나 걸립니까? 그것은 일주일 동안 그들의 임무가됩니다.

다음 월요일에 당신은 그것이 어떻게 진행되었는지 봅니다. "글쎄, 나는 이틀 만에 floogle을 설치했지만 McPhee에 영향을 미쳤다. 그래서 이번 주에 나는 그 사람들을 분리하여 WhoosiWhatsit 파일을 덮어 쓰지 않도록해야한다." 좋아, 일주일 동안의 임무가 있습니다.

WhoosiWhatsit이 언제 준비 될지 여전히 알지 못하기 때문에 도움이되지 않을 것이라고 생각할 수도 있습니다. 그것은 사실입니다. 여기에는 두 가지 선택이 있습니다.

마감일이 필요한 경우 잘못된 개발자가 다른 모든 사람과 마찬가지로 그의 추정치를 채우도록 강요해야합니다. 그에게 걸려있는 데 오랜 시간이 걸리지 않을 것이며, 하루 종일 하루를 보냈던 무언가를 쓰는 데 "2 주"가 걸릴 것입니다.

다른 선택은 가상의 가시성을 위해 가상의 추정치를 교환하는 것입니다. 장기적 으로이 접근 방식은 더 생산적이고 더 행복한 엔지니어를 얻을 수 있습니다.

그래서 개발자는 좋은 일을하지만 배송 시간을 추정하는 데 좋지 않습니까? 나는 당신이 아직 당신의 손에 처벌 상황이 있는지 확실하지 않습니다.

어쩌면 한동안 앞으로 나아가면 배달 지점을 추정하기위한 그의 과정을 안내하십시오. 이것은 x, y 및 z 단계가 왜 일정 시간이 걸리는지 물어볼 수있는 기회가 될 수 있습니다. 그는 거의 확실히 느린 속도로 운동을함으로써 단순히 자신의 추정치를 수정하는 것을 발견 할 수 있습니다.

스스로에게 물어보십시오 : 무엇이 당신의 직업을 수반합니까?

관리 라인에서 개발자 (좋은 추정치를 줄 수없는)의 견적을 맹목적으로 전달하고 그 견적이 달성 될 수 있는지 스스로 결정하지 않으면 업무를 수행하지 않습니다.

"부가가치"라는 관점에서 생각하려고 노력하십시오 (나의 오래된 고용주 중 한 명이 그 용어를 많이 사용했지만 나는 그것을 미워했지만 아마도이 상황에서는 당신에게 효과적입니다). 어떤 가치를 추가하고 있습니까? Upper Management와 Developers 사이에 양방향으로 물건을 전달하는 경우 궁극적으로 돈을 벌지 못합니다. 당신은 제거 될 수 있고 아무것도 변하지 않을 것입니다.

내가 가진 최고의 매니저는 다른 팀이 그에게 주어진 일련의 요구 사항을 살펴 보았고, 그들 중 거의 3 분의 1이 황소라고 말하고, 심지어 목록을보기 전에 그들을 제거했다고 말했습니다. 내가 본 최악의 사람은 내가이 추가 관리 유형 문서를 모두 작성하게했던 다른 관리자 중 누구도 나에게 요구하지 않았던 다른 관리자들 중 누구도 (실제로 내가 말 그대로 그의 일을하고 있던 인상을 얻었습니다), 그렇지 않았습니다. 나에게 프로젝트 마감일을주고 거의 일을하지 않았다. 그들은 둘 다 같은 회사에 있었고, 기괴하게 충분히 충분했습니다.

90 시간은 일반적인 짧은 프로젝트 마감일 중 하나입니다. 쉬운 방법은 "당신의 시간"을 추정하는 대신 다른 것을 측정하는 것입니다. 컴퓨터 프로그래머는 증거가 자신의 시간을 계산하는 것이 다른 시간을 관찰하는 것보다 더 큰 오류를 나타내는 것으로 나타나기 때문에 프로젝트에 대한 시간 추정을하지 않습니다.

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