나는 다른 팀들에게 새로운 코드베이스를 가르치는 임무를 맡았지만 계속해서 문제가 발생합니다. 실제로 사람들과 함께 코드를 살펴볼 때마다 전체 운동이 자전거 헛간 (사소한 문제에 불균형 한 가중치를 부여하는 조직 구성원) 운동으로 전환되기 전에는 멀지 않습니다 . 그들은 코드베이스를 알지 못하지만 코드베이스를 향상시키는 데 도움이 필요하다고 생각하기 때문에 이해할 수 있는 것에 집중합니다 .
Why is that named that?
(2 분이라는 이름을 가진 이유를 설명하기 위해 10 분 이상 새로운 이름을 토론 함)
Why is that an abstract base class rather than an interface?
(설명하는 데 2 분,이 결정의 상대적인 장점에 대해 10 분 이상 토론)
...등등. 이제 오해하지 않는다 - 좋은 이름과 좋은 일관성있는 디자인이 중요하지만, 우리는 코드가 실제로 무엇을 논의에 도착하지 않는 시스템이 의미있는 방식으로 설계 또는 방법에 대해 설명합니다. 나는 탄젠트에서 사람들을 꺼내기 위해 회의 심판을했지만, 애완 동물의 사소한 문제가 해결되었을 때 코드가 무엇인지, 산만 해져서 더 큰 그림을 그리워합니다.
따라서 나중에 다시 시도하거나 코드베이스의 다른 부분을 사용하여 사람들이 자전거 흘림 효과를 극복하기에 충분한 지식을 얻지 못했기 때문에 반복됩니다.
난 그냥 일부는 다른 사람보다 더 많은 도움이 ... 짧은 즉시 인수를 절단, 사망에 주장을시키는, 작은 그룹, 큰 그룹, 코드, 화이트 보드, Visio 다이어그램, 텍스트의 거대한 벽을 시도했지만, 아무것도 작동하지 않습니다 . 지옥, 나는 심지어 팀의 다른 사람들이 설명하기에 나쁘다고 생각했기 때문에 그것을 설명하려고 시도했습니다.
그렇다면 다른 프로그래머가 사소한 문제에 대한 고착을 멈추고 디자인에 의미있게 기여할 수있을 정도로 어떻게 교육해야합니까?