당신이 가장 선임 개발자이고 팀의 다른 대부분이 몇 년 후 주니어 인 새 팀에서 어떻게 자신을 처리합니까? 팀보다 앞서서하는 일은 당신을 포함한 다른 누구도 전에 그들의 경력에서 성취 한 것이 아닙니다.
경영진은 전체 팀의 생산성을 높이고 선임 개발자로서 책임을 져야합니다.
이런 상황에서 나올 때 어떤 팁이 있습니까? 분명히 팀 전체가 배우는 데 시간이 필요하고 팀의 새로운 것을 잊지 말자. 그러나 마감일도 앞당겨집니다 ...
당신이 가장 선임 개발자이고 팀의 다른 대부분이 몇 년 후 주니어 인 새 팀에서 어떻게 자신을 처리합니까? 팀보다 앞서서하는 일은 당신을 포함한 다른 누구도 전에 그들의 경력에서 성취 한 것이 아닙니다.
경영진은 전체 팀의 생산성을 높이고 선임 개발자로서 책임을 져야합니다.
이런 상황에서 나올 때 어떤 팁이 있습니까? 분명히 팀 전체가 배우는 데 시간이 필요하고 팀의 새로운 것을 잊지 말자. 그러나 마감일도 앞당겨집니다 ...
답변:
프로젝트 마감 시간이나 참신함이 훌륭한 엔지니어링 실무를 방해하지 않도록하십시오. 소프트웨어 저장소를 설정하고, 코딩 스타일에 동의하고, 테스트 스위트를 사용하는 등의 작업을 수행해야합니다. 열심히 일하고 그들 앞에서 과제를 배우십시오.
경영진은 귀하의 배경과 경험으로 인해 양질의 소프트웨어를 구축하는 데 필요한 도구가 제공되었다고 판단하기 때문에 책임을 맡았습니다. 이 작업이 지금 어려워 보이기 때문에 갑자기 기술을 잊지 마십시오.
먼저, 첫 번째 코드 라인에서 소스 코드 제어 시스템 을 사용하십시오. 코드를 자주 확인하는 습관을들이십시오.
둘째, 테스트 전략을 결정하십시오 . 물론 이는 단위 테스트를 의미하지만 수용 테스트를 자동화하는 방법도 고려해야합니다.
셋째, 코드가 정기적으로 작성되고 정기적으로 테스트되도록 지속적인 통합 서버 를 설정하십시오.
일단 당신이 그것을 가지고, 팀으로 간단한 코딩 표준을 설정하십시오 . 모든 사람이 쉽게 코드를 읽을 수 있기를 원합니다. 표준이 무엇인지는 중요하지 않습니다. 탭으로 들여 쓰기, 공백으로 들여 쓰기, 같은 줄에 중괄호 등을 넣습니다. 그들이 무엇인지는 중요하지 않으며 모든 사람이 일관되게 적용해야합니다.
이 팀은 주로 주니어 개발자이므로 코드를 자주 검토 하여 시스템에 너무 많은 기술적 부채를 추가하지 않도록하십시오.
마지막으로 SCRUM 사용을 고려하십시오 . 그렇다면 코치를 고용하거나 훈련을 받으십시오. 당신이 한 번도 해보지 않은 일을하고 있기 때문에 현실적인 마감일을 정하는 것은 불가능합니다. SCRUM을 사용하면 경영진이 매일 수행하는 작업에 대한 가시성을 확보하여 진행 상황을 확인할 수 있습니다. SCRUM은 마감일이 분명히 주어 졌으므로 마감일을 맞출 수없는 경우 적어도 완성 된 스토리를 점진적으로 제공하고 있다는 것을 보증합니다. 전혀 작동하지 않는 시스템.
@ chrisaycock의 답변 외에도 ... 멘토링 / 훈련 등을 위해 할당해야하는 시간을 과소 평가하지 마십시오. 리드로서 세부 사항을 포기하고 팀을 신뢰하는 법을 배워야합니다. 당신의 임무는 경영진이 이목을 끌 때 인 에이 블러,로드 블록 리무버가되고 방해물을 실행하는 것입니다. "정상"팀에서는 약 7 또는 8시에 리드가 더 이상 프로그램을하지 않습니다. 4 (아마도 더 적음), 프로젝트의 프로그래밍 리소스가 아닙니다.
두 영역의 커뮤니케이션에 중점을 둡니다.
이 작업을 수행하는 것은 쉽지 않으며이 작업이 어려운 이유 중 하나입니다. 마감 시한을 맞추는 것이 절단 기능을 의미한다면 그 이상으로 진행하십시오. 이 모든 것을 피하려고하는 것은 마감일을 만들기위한 빠른 코드입니다. 그것은 오래 가지 못할 코드베이스의 시작과 질식하는 기술적 부채의 시작입니다.
2) 팀 간 의사 소통. Bryan 및 기타 권장 사항과 같은 공식적인 관행을 설정하십시오. 매일 스크럼 외에 일주일 에 한 번 팀으로 정기적으로 만나십시오 . 가장 중요한 도구 인 을 (를) 듣고 존중하고 신뢰 하십시오. 도움에 집중하십시오. 모든 비용에 대해 부정적인 비판을 피하십시오. 필요할 때 긍정적 비평과 격려를 사용하십시오. 예를 들어 "좋아요, 고려하고 싶은 것이 X라면, 우리가 필요로하지 않는 것이 아니라 X를 대신해야합니다"
내가 한 것은 유능한 사람들을 식별하고 나누고 정복하는 것입니다. 상위 2 ~ 3 위를 차지하고 선장으로 만듭니다. 그런 다음 다른 팀은 선장을 따라 작은 팀으로 균등하게 분할됩니다.
나는 선장들에게 프로그램을하기 위해 청크 나 모듈을 준다.
선장은 초보자들에게 더 작은 프로그래밍이나 연구 과제를 제공하면서 그들이 무엇을하고 있는지 설명하면서 수행하는 동안 멘토링이 발생하도록합니다.
나는 모든 사람이 같은 열린 공간에 있도록 방을 정리하려고 노력하지만 각 팀마다 고유의 컴퓨터 서클이 있습니다. 나는 모든 사람과 거리를두고 있기 때문에 일이 빨리 움직입니다.
이것은 지금까지 약 10-20 명의 프로그래머에게 효과적입니다. 작은 그룹은 한 그룹에있는 것이 더 좋으며 더 큰 작업은하지 않았습니다.