복잡하고 복잡 할 수있는 코드베이스를 팀의 새로운 구성원에게 소개하는 방법은 무엇입니까?
가장 쉬운 방법은 다이어그램으로 전체 아키텍처를 배치하고 코드에 익숙해지면서 새로운 사람에게 잘 정의 된 (그리고 범위가 넓은) 작업을 제공하는 데 몇 주 (또는 몇 개월)가 걸릴 것이라고 생각합니다.
그러나 컨설턴트 (및 그에 대한 직원)로서 나는 시간 제약이나 팀 역할 지정으로 인해 항상 그것을 가질 수는 없습니다. (저는 다른 사람보다 두 배나이 특정 프로젝트에 참여해 왔으므로 "junior"는 "코드 / 프로젝트에 대해 덜 알지"않습니다.
나는 프로젝트와 코드에 새로운 멤버를 소개하기 위해 지금 몇 번이나 임무를 수행해 왔으며, 슬프게도 매번 나는 이전보다 훨씬 나아지지 않았다. 나는 다이어그램과 그림을 좋아하지만 종종 시스템의 복잡성을 적절하게 설명하지 못한다고 생각합니다. (모든 작은 "gotchas"는 어떻습니까?)
이 프로젝트는 우리가 고객에게 프로젝트를 전달할 시점에 이르렀고 더 어려운 일을하기 위해 지식을 전수 할 사람은 본질적으로 대학을 벗어났습니다. (선임 개발자와의 지식 이전을 할 때 나는 훨씬 낫습니다.)
나는 한 달에 한 번 사용자 그룹에 참석하고 다른 기회가 생길 때마다 새로운 주제를 접할 수는 없지만 효과적인 지식 공유를 복제하는 능력이 부적절하다고 느낍니다.
모든 조언을 주시면 감사하겠습니다. 나는 주로 따라야 할 지침을 찾고 있습니다. 예를 들어 : 어디서 시작합니까? 어떻게 진행합니까? 하루 종일 듣지 않고 청취자 자신의 익숙하지 않은 기술이나 패턴을 어떻게 다루십니까? 비즈니스 로직과 코드 구조를 어디에 연결합니까?
감사합니다!
(항상 그렇듯이 언제든지 질문을 자유롭게 편집하십시오.)
# TODO: fix this ugly hack