당신의 개발자 성과 평가가 실패하는 진짜 이유
시리즈: 개발자 성과평가, 어떻게 해야할까?
이 글의 내용은 Atlassian Bitbucket Community 의 Developer Performance Metrics: Expectations vs. Reality 와 그 외 기타 컬럼들을 참고 하여 작성되었습니다.
개발자들은 지금의 평가에 대해 이렇게 말합니다.
현재 수행되고 있는 성과평가방법이 현실과 맞지 않다고 합니다.
2023년 6월 GitHub 에서 조사한 “Survey reveals AI’s impact on the developer experience” 에 따르면 지금 개발자들이 평가받고 있는 기준과 정말 개발자의 성과라고 부를 수 있는 것 과의 여러 괴리가 있다고 합니다.
- 많은 경우 개발자가 가치 있게 여기고 더 많은 일을 하고 싶어하는 것이 성과를 측정하는 방식과 충돌합니다.
- 새로운 기술을 배우고 새로운 문제에 대한 솔루션을 설계하는 것은 개발자의 업무효율에 가장 긍정적인 영향을 미치지만 대부분의 업무시간은 코드 검토, 빌드 또는 테스트를 기다리는 데 소비됩니다.
- 개발자들은 또한 결과물의 양과 효율성만큼 얼마나 다른 사람들과 잘 협력할 수 있는지도 성과로 연결해볼 수 있는 중요한 지표라고 합니다.
평가에 사용되는 지표들이 기대에 미치지 못한다고 합니다.
현재 개발자를 평가하는 방식은 자신의 성과를 측정해야 한다고 생각하는 방식과 일치하지 않습니다.
- 예로, GitHub의 설문조사에 참여한 개발자들은 현재 자신들의 회사에서는 해결한 버그의 개수를 기준으로 성과를 평가한다고 말합니다. 그러나 개발자들은 이러한 버그를 단순하게 해결하는 것 보다 ‘어떻게’ 해결했는지가 더 중요한 성과라고 말합니다. 이는 코드의 양보다 코드 품질이 최고의 성능 지표로 유지되어야 한다는 믿음과 일치합니다.
- 개발자들은 또한 성능 측정 측면에서 코드 품질만큼 협업과 의사소통도 중요하다고 믿습니다. 다른 사람과 협업하고 의사 소통하는 능력은 업무에 필수적이지만, 33%의 회사만이 이를 개발자의 성과 지표로 사용한다고 합니다.
개발자는 좋은 협업 환경에서 최고의 성과를 달성합니다.
GitHub에서 실시한 현업의 개발자들을 대상으로 한 설문조사에서 개발자는 일반적인 프로젝트에서 평균 21명의 다른 개발자와 함께 작업한다고 밝혔으며, 52%는 매일 또는 매주 다른 팀과 작업한다고 보고했습니다. 특히 정기적인 터치포인트를 효과적인 협업을 위한 가장 중요한 요소로 꼽았습니다.
위 수식은 GitHub 에서 작성한 Developer Experience 가 어떻게 평가되는지에 대한 계산식입니다. C 는 Collaboration 의 C 로 전체 개발자 경험에 대한 승수입니다.
승수효과(乘數效果, fiscal multiplier)란, 특정 변수 A에 대해 영향을 갖는 또 다른 변수 B가 있을 때, B의 증감이 있을 경우, B의 증감의 수준보다 더 높은 수준에서 A의 증감이 이루어지는 것을 가리킨다.
이는 다른 요소들의 증감과 비교했을 때 협업의 성과가 높아질 수록 개발자 경험에 있어 눈에 띄는 상승효과를 가져올 수 있다는 것을 뜻합니다.
각 요소들은 다음과 같습니다.
- 개발자 생산성: 코드베이스를 얼마나 빠르고 간단하게 변경할 수 있는지
- 개발자 영향도: 아이디어에서 실제 기능까지 구현되는 과정이 얼마나 원활하게 진행되는지
- 개발자 만족도: 환경, 워크플로 및 도구가 개발자 행복에 미치는 영향
개발자 경험이 중요한 이유는 개발 역량 및 효율성을 만드는 주체가 곧 개발자이기 때문이고 이들의 업무경험이 성과와 유의미한 상관관계를 가지고 있기 때문입니다.
그래서 개발자의 성과를 평가하기 위해 어떤 지표들을 사용해야 할까요?
개발자는 정확한 성과 평가에는 작업의 복잡성과 영향을 평가에 반영하는 더 광범위한 측정 기준이 포함되어야 한다고 믿습니다. 설문조사에서 그들은 다음 지표들을 최우선 순위로 강조했습니다.
- 협업 및 커뮤니케이션 — 응답자의 35%가 팀워크의 중요성을 강조합니다.
- 코드 품질 — 응답자의 34%가 깨끗하고 효율적인 코드를 중요시합니다.
- 해결된 버그 또는 문제 수 — 응답자의 34%가 문제 해결을 추적해야 한다고 합니다.
- 작업 완료 시간 — 응답자의 34%가 작업을 효율적으로 완료하는 것이 중요하다고 합니다.
- 테스트 범위 — 응답자의 32%는 테스트의 커버리지가 중요하다고 합니다.
- 기능 제공 속도 및 품질 — 응답자의 32%는 고품질을 유지하면서도 기능을 신속하게 제공해야 한다고 합니다.
개발자들은 작성된 코드 줄 수나 해결된 문제 등의 정량적인 것들뿐만 아니라 개발팀 내 팀워크, 효율적인 정보 공유, 효과적인 의사소통의 중요성, 코드 품질 및 혁신 능력과 같은 지표를 반영해야 한다는 점을 말합니다. 이에 대해서는 SPACE Framework 또는 DevEx Framework 와 같은 개발자의 성과 측정 방법론이 제시되기도 하였습니다.
따라서 개발자의 성과를 정확하게 측정하는 종합적인 성과 평가를 위해서는 정량적 지표와 정성적 지표 간의 균형을 유지하는 것이 필수적이라고 볼 수 있습니다.
그럼에도 성과를 평가하는 것에 대한 표준화된 기준이나 정답이란 것은 없기에 업계의 특성과 규모, 그리고 무엇을 개발하고 있는가에 따라 측정해야 할 지표들과 평가에 사용될 기준은 달라질 수 있음을 염두하고 우리 회사에 맞는 평가기준을 마련해야 한다는 점을 강조하며 다음번에 이와 연관된 DevEx Framework 에 대해 더 알아보도록 하겠습니다.
당신의 개발자 성과 평가가 실패하는 진짜 이유 was originally published in 프루퍼 블로그 on Medium, where people are continuing the conversation by highlighting and responding to this story.