• 코드리뷰
  • 블로그
  • 로그인

개발팀에 소프트웨어 장인 정신이 필요한 이유

소프트웨어 장인 정신이 개인뿐만 아니라 개발팀에도 중요한 이유를 알아봅니다
한윤석

팀에 잘하는 사람이 있으면 정말 든든합니다. 어떤 문제든 해결해 주고 모르는 것이 없습니다. 도메인 지식도 풍부하고 레거시 히스토리도 다 알고 있습니다. 정말 이 사람이 없었으면 어떻게 했나 싶습니다. 천만다행입니다. 하지만 이런 사람이 오히려 팀에 위기를 가져올 수 있다는 사실을 아시나요?

소프트웨어 개발 팀은 개인보다 더 오래 살아남습니다. 언젠가 이 핵심 인력은 팀에서 나가게 됩니다. 다른 인원으로 보충해도 그 지식은 보충되지 않습니다.

만약에 이 핵심 인력이 팀을 나가버린다면 무슨 일이 벌어질까요? 상상도 하기 싫습니다. 재앙입니다. 팀원들은 절망에 빠져 전의를 상실할 것입니다.

팀에 핵심 인력이 있으면 안 됩니다. 모든 사람이 핵심 인력이 되어야 합니다. 그러려면 팀은 소프트웨어 장인 정신을 추구하고 후계자를 키우려고 노력해야 합니다.

소프트웨어 장인은 우수한 기술을 습득하고 공유하는 것을 가장 중요한 일로 여깁니다. 그냥 전문가와는 다르게, 장인 정신은 후계자를 키웁니다. 지금 자신이 핵심 인력이라면 다른 팀원들도 핵심 인력이 되도록 힘써야 합니다. 팀원이라면 핵심 인력의 지식을 모두에게 분배되도록 해야 합니다. 그랬다면 모든 사람들이 핵심 인력이 되었을 것이고, 누군가가 팀에서 나간다고 하더라도 팀은 유지할 수 있을 것입니다.

버스 팩터(Bus factor)라는 말이 있습니다. 팀원이 버스에 몇 명이나 치여야 프로젝트가 망하는지를 나타내는 숫자입니다. 버스 팩터가 1이라는 말은 핵심 인력이 어느 날 갑자기 버스에 치인다면 팀은 프로젝트를 성공적으로 완료할 수 없다는 의미입니다. 가장 이상적인 숫자는 팀원의 숫자와 같습니다. 우리는 버스 팩터가 팀원의 숫자와 같아지도록 노력해야 합니다.

참고

테스트, TDD, 코드리뷰, 올바른 협업 방법 등을 코칭하여 코드숨은 개인과 개발 조직의 성장을 돕고 있습니다. 🙏진짜 개발자로 거듭나는 방법
강의 알아보기