문제

어떤 상황에서--어떤 경우는 추가 프로그래머가 팀은 실제로의 개발 속도가 빨라지는 이미 늦은 프로젝트가 있습니까?

도움이 되었습니까?

해결책

정확한 상황은 분명히 매우 특정 프로젝트(예:개발,관리 스타일,성숙 프로세스,의 어려움은 주제,etc.).하기 위해서 범위 이 조금 더 나은 그래서 우리는 그것에 대해 아무것도하지만 청소 oversimplifications,내가 다시 당신의 질문:

어떤 상황에서,어떤 경우,할 수 있는 추가 팀 구성원에게 소프트웨어 개발 project 를 실행하는 늦은 발생 감소에서 실제 배송일 수준의 품질이 동등하는 경우 기존의 팀이 허용하는 작업이 완료 될 때까지?

의 수가 있는 것이 생각하는 것은 , 지만,충분한 이해가 발생(특별한 순서없이):

  • 제안된 개인하는 프로젝트에 추가되어야 합니다:
    • 적어도 합리적인 이해의 문제는 도메인의 프로젝트
    • 에 능숙한 언어의 프로젝트 및 특정한 기술할 때 사용하는 것에 대한 작업들에게 주어질 것입
    • 자신의 능력해야 합/지/훨씬 덜하거나보다 훨씬 더 큰 약한 또는 강한 기존 멤버 각각합니다.약한 구성원의 기존 직원으로 차는 동안 문제를 새로운 사람이 너무 강한을 중단합 팀으로 어떻게 모든 것들이 수행을 하고 있는지를 잘못된 것입니다.
    • 좋은 커뮤니케이션 능력
    • 높은 동기(예:할 수 있을 독립적으로 작동하지 않고 괴롭히는)
  • 기존 팀 구성원이어야 합니다:
    • 탁월한 커뮤니케이션 능력을
    • 시간이 우수한 관리 기술
  • 프로젝트를 이끌어/관리어야 합니다:
    • 좋은 우선순위 및 리소스 할당 능력
    • 높은 수준의 존중에서 기존의 팀 구성원
    • 탁월한 커뮤니케이션 능력을
  • 프로젝트가 있어야 합:
    • 좋은 완료,그리고 문서화하는 소프트웨어 설계 사양
    • 좋은 문서의 일이 이미 구현
    • 모듈식 설계를 허용하는 명확한 덩어리의 책임을 깎아
    • 충분한 자동화된 프로세스에 대한 품질 보증을 위해 필요한 결함을 수준이 여기에는 다음이 포함될 수 있습니다와 같은 것:단위 테스트,회귀분석 테스트,자동화를 구축 배포 등)
    • 버그/기능 추적 시스템을 현재에는 장소에서 사용하는 팀에 의해(예를들면trac,SourceForge,의 fogbugz,etc.).

첫 번째 중 하나야 할 것들을 논의할지 여부를 배송일 다 미끄러지 기능을 절단 할 수 있고,경우의 일부 조합은 두 개의할 수 있을 만족하는 릴리스와 함께 귀하의 기존습니다.많은 시간의 몇 가지 기능이 진짜로 좋아하는 리소스의 팀을 제공하지 않습니 값이 동일한 투자입니다.그래서 귀하의 프로젝트의 우선 순위에 심각한 검토하기 전에 아무것도.

는 경우의 결과가 상기 절 충분하지 않음 방문하기 위 목록.당신이 잡힌 경우 예약 슬립 초기에,추가의 오른쪽에서 팀 구성원은 시간을 저장할 수 있습니다 놓습니다.불행하게도,가까운 당신이 당신의 발송되,더 일을 잘못 될 수 있습니다 추가 사람들이다.한 지점에서,당신은 크로스는"돌아올 수 없는 지점"어디액의 변경(다른 것보다 배송 현재 개발점)을 저장할 수 있습 릴리스입니다.

나에 갈 수 있었지만 제가 생각하는 주요 포인트입니다.프로젝트를 제외하고 당신의 경력의 관점에서,회사의 미래의 성공을,etc.는 것 중 하나는 당신은 확실히 해야 하는 이유를 알아 늦었는 경우,아무 것도 할 수 있었다고 경고 당신이 이전,그리고 무엇을 취해야 할 조치를 방지합니다.늦은 프로젝트 일반적으로 발생하기 때문에 당신이 어느:

  • 늦기 전에 당신은 시작(상 재료 시간보다)및/또는
  • 미끄러 1 시간,1 일에 시간입니다.

도움이 됐으면 좋겠어!

다른 팁

그것만 있다면 도움이 됩 자원 중심의 프로젝트에 적합합니다.

예를 들어,이것을 고려하십시오:

트형 포스터,말 4 이 6 미터입니다.포스터는 빅,당신은 아마 두 가지 또는 세 가지 사람 앞에서 그것은,그들 페인트합니다.그러나 20 명의 사람들 앞에서 그것은 작동하지 않습니다.또한,당신은 당신이 필요로 숙련 된 사람들지 않는 한 당신이 원하는 엉터리 포스터입니다.

그러나,귀하의 프로젝트는 물건을 함께 봉투 인쇄 준비된 문자(아 수도 있습니다. 음)더 많은 사람들이 당신 추가는,빠르다.거기에 약간의 오버헤드에서 준 밖으로 스택의 작업,그래서 당신을 얻을 수 없습까지 혜택이 한 사람이 있습니다.봉투,하지만 당신은 이점을 얻을 수 있습에서보다 훨씬 더 많은 2 개 또는 3 사람들이다.

따라서 귀하의 프로젝트를 쉽게 할 수 있으로 나눌 수 있는 작은 덩어리,그리고 경우에는 팀 구성원을 얻을 수 있는 최대 속도를 빠르(다.순간적으로)를 추가하면 더 많은 사람들이 그것을 만들 것입니다 더 빨리,포인트까지.

슬프게도,많지 않은 프로젝트에서처럼 우리 세상은 왜 docgnome 의 팁에 대한 신화적인 인간-달 책은 정말 좋은 충고입니다.

어쩌면 경우 다음과 같은 조건이 적용됩니다:

  1. 새로운 프로그래머는 이미 이해 프로젝트가 필요하지 않 ramp-up time.
  2. 새로운 프로그래머가 이미 있는 실력으로 개발환경 통합관리가 가능합니다.
  3. 아 관리 시간이 필요한 추가 개발하는 좋은 방법입니다.
  4. 거의 통신이 필요합니다.

나는 당신을 알려 드리겠습니다 첫번째로 나오는 모든 이들을 한 번에.

에 따라 신화 남자 개월 주된 이유는 사람들이 사용하는 늦은 프로젝트것은 나중에는 O(n^2)커뮤니케이션 오버헤드가 발생합니다.

제가 경험했던 한 주 예외:이 있는 경우에만 사람 프로젝트에서,그것은 거의 항상 운명.추가 두 번째 속도 그것은 거의 모든 시간입니다.기 때문에 통신이 없 오버헤드 는 경우-그것은 도움이 되는 기회를 명확히 생각하고 적은 바보 같은 실수를.

또한,당신은 분명 알고 있었을 때 당신은 게시 당신의 질문에서 조언을 신화 남자 개월만 적용됩 프로젝트입니다.프로젝트지 않는 이미 늦은,그것을 가능성이 추가하면 사람들은 그것을 하지 않습니다.고 가정하고 당신이 그것이 제대로의 코스입니다.

는 경우 기존의 프로그래머는 완전히 무능,추가 유능한 프로그래머는 데 도움이 될 수 있습니다.

나는 할 수 있는 상황을 상상 당신은 아주는 모듈형 시스템,그리고 기존의 프로그래머(s)지 않도 에 아주 절연 모듈이 있습니다.이 경우에는 할당하는 부분의 프로젝트를 새로운 프로그래머에 도움이 될 수 있습니다.

기본적으로 신화 인간 월을 참조가 올바른 제외에서 인위적인 경우처럼 하나 만들었습니다.씨브룩스았다를 연구하여 한 후 특정 시점에,네트워킹 및 통신 비용의 추가하는 새로운 프로그래머의 프로젝트 중요할 것이 어떤 혜택을 얻을에서 그들의 생산성을 높입니다.

  • 면 새 사람들에 초점을 테스트
  • 할 수 있다면 분리 독립 기능을 만들지 않는 새로운 종속성
  • 할 수 있는 경우 orthogonalise 의 일부분을 프로젝트를(특히 비 코딩 작업에 같은 시각 디자인/레이아웃,데이터베이스의 튜닝/색인,또는 서버 설정/네트워크 구성)도록 한 사람에 작동할 수 있는 반면 다른 사람과에서 실시하는 응용 프로그램 코드
  • 면 사람들은 서로를 알고,기술 및 비즈니스 요구 사항과 디자인,충분히 할 수 있을 것으로 지식의 할 때 그들은 단계에서 각각의 다른 발가락과 어떻게 이렇게 하는 것을 피하기 위하여(이 물론,예쁜 하드를 준비하는 경우 있지 않은 경우)

는 경우에만에 있는 늦게 단계에 어떤 독립적(거의 0%와의 상호 작용을 다른 프로젝트의 부분)작업을 하지 부딪히는 아직 아무도 가져올 수있는 팀에 누군가가 전문가에는 도메인입니다.의 추가 팀 구성원은 야기되는 손상을 최소화할 수 있도록의 나머지 부분에 대한 팀입니다.

보다는 추가 프로그래머,하나 생각할 수 있는 추가에 대해 관리 도움이됩니다.아무거나 제거할 것이다 주의 산만,향상에 초점을 개선 또는 동기 부여 도움이 될 수 있습니다.이 모두 포함 시스템과 관리뿐만 아니라 산문 같은 것들을 얻는 도시락.

물론 모든 프로젝트가 서로 다르지만 대부분의 개발 작업의 안심하실 수 있습의 일정 금액을 가지고 간의 협업 개발자입니다.이 경우 내 경험있는 신선한 리소스를 실제로 수 실수로 느려지면 사람들은 의지를 가지고 그들을 최대 속도 및 일부 경우에는 이할 수 있습의 열쇠가 될 사람들(또는 그것의 일반적으로는'키'사람들이는 시간을 가지고 교육하는 노인 같은 싶지 않을까).을 때 최대 속도를 보장은 없는 그들의 작품이 맞으로 설립한'규칙'또는'작업 문화'의 나머지 부분과 팀이 있습니다.그래서 다시 그것을 할 수있는 더 많은 피해보다 좋다.그래서 옆으로,이러한 경우가 그것이 도움이 될 수 있습니다:

1)새로운 리소스가 단단한 작업에 필요한 최소한의 상호 작용과 함께 다른 개발자 및 기술 세트는 이미 설명했다.(ie.포팅은 기존의 코드를 새로운 플랫폼,외부에서 refactoring 죽는 모듈은 현재에서 기존의 코드 베이스).

2)프로젝트 관리에는 다른 고위 팀 구성원간 공유할 수 있는 도움을 가져 노인 같은 싶지 않을까지도 그들을 멘토링을 따라 확실한 방법은 그들의 일환으로 이미 완료되었습니다.

3)다른 팀 구성원은 환자입니다.

나는 가정의 추가 사람들의 끝을 향해 작업 속도 수 있는 것까지는 경우:

  1. 작업에 수행 할 수 있습니다.

  2. 저장 양에 의 추가 리소스의 양보다 더 많은 잃어버린 시간을 함으로써 사람들을 경험 프로젝트와 함께 일을 설명하는 그는 사용하는데 익숙하지 않다.

편집:말 것도,이런 종류의하지 않는 모든 일이 너무 많습니다.일반적으로 그것은 상당히 바로 앞으로 물건처럼,관리자는 화면 간단한 CRUD 테이블에 있습니다.이러한 일이 이러한 형태의 도구가 될 수 있는 대부분 자동으로 생성되며 어쨌든.

주의 관리자는 은행에 이런 종류의 작동을 손에 떨어져 하지만입니다.그것은 큰 소리이지만,그것은 현실에서는 일반적으로 충분하지 않다 그것의 트리밍 어떤 뜻깊은 시간이 떨어져의 프로젝트입니다.

  • 자기를 포함하는 모듈은 아직 시작할
  • 부족한 개발 도구 통합 할 수 있습니다(같은 자동화된 구성 관리자)

주로 내가 생각하는 것의 그들의 현재 개발 사람의 방법입니다.나도 동의 신화 남자 개월이지만,또한 생각하는 예외가 있습니다.

내가 생각하는 사람들이 사용하는 팀의 속도가 빨라질 수 있습 프로젝트를 더 추가하는 것보다 그들이 프로젝트에 자체입니다.

자주 실행하의 문제로 너무 많은 프로젝트를 동시에.그 중 하나 프로젝트를 완료할 수 있 빠른 경우에 초점을 맞출 수 있는 프로젝트를 혼자입니다.을 추가하여 팀 구성원 수는 전환 떨어져 다른 프로젝트에 활용해 보십시오.

물론,이것은 당신이 고용 할 수있는,self-motivated 개발할 수 있는 상속하는 대규모 프로젝트와 독립적으로 배우.:-)

는 경우 추가 리소스 보완 귀하의 팀을 기존 수 이상적입니다.는 경우,예를 들어,당신에 대해 설정 하드웨어 생산하고 확인하는 데이터베이스는 실제로 조정대로 그냥 돌아 좋은 결과(는 귀하의 팀을 알고 있으로 도메인 전문가)차입시에서 좋은 dba 작동하는 사람들에 프로젝트는 다음을 할 수 있습니다.속 팀이 훈련비용

단순히 넣었습니다.오을 비교하는 남은 시간과 생산성을 얻을 것이 사람의 양을 제외하고는 데 걸리는 시간은 추가적인 자원이 서 속도와 생산성과 시간을 빼 투자 교육에 그들에 의해 기존에 리소스입니다.중요한 요소(의 순서로 의미):

  1. 얼마나 좋은 리소스가기 니다.최고의 걸을 수 있는 개발자 에 새로운 사이트 및 생산 버그를 수정하고 거의 즉시 작은 있습니다.이 기술은 드물지만 배운 수 있습니다.
  2. 이 segregability 의 작업이 있습니다.그 작업할 수 있는 객체에고 기능 없이 걸려 넘어질 기존에 개발자 및 그들을 둔화 니다.
  3. 프로젝트의 복잡성 와 문서를 사용할 수 있다.는 경우 바닐라 최고의 연습 ASP.Net 응용 프로그램 및 일반 기록이 잘되는 사업 시나리오 다음 좋은 개발자 얻을 수 있다 에 갇혀있습니다.이 요소 더 이상 어떤 방법을 결정 많은 시간을 기존 자원 야에 투자하는 교육과 따라서는 초기정 영향의 새로운 리소스입니다.
  4. 양의 시간이 조금 남았습니다.이것은 자주 mis-추정 too.자주 로직 될 것입니다 우리는 단지 주간 x 왼쪽 그것은 걸릴 것입 x+1 주 누군가가 있습니다.현실에서 프로젝트가가 미끄러 는 사실에는 2 배의 주 dev 왼쪽으로 가서 더 많은 것을 얻 자원에서 조만간보다 나중에 도움이 될 것입니다.

팀 이미 사용하는 한 쌍의 프로그래밍,다음을 추가하기 다른 개발자 이미에서 숙련링 지 않을 수 있습 느린 프로젝트,아래로 하는 경우에 특히 개발을 적극적으로 추진하고 있는 곳입 TDD 스타일입니다.

새로운 개발자가 천천히 더 많은 생산성으로 그들이 이해하는 코드 기반을 더 오해를 잡힐 것입니다 초기에 의해 하나의 또는 의해 테스트 실행하기 전에 모든 체크인(고 있는 것이 이상적이 체크 적어도 모든 열 분)입니다.

그러나,이의 효력은 별도의 통신 간접비를 할 필요가 고려된다.그것이 중요한지를 희석한 기존 지식의 프로젝트를 너무 많.

추가 개발할 때 생산성에 기여 추가적인 개발자들을 초과 생산성 손실을 훈련하고 관리하는 사용자.

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