개발자의 성과를 평가할 수 있나?

개발자의 능력 또는 성과를 평가할 수 있을까? 일반적으로는 다음과 같이 생각할 수 있다.

1. 프로젝트에 투입된 개발자라면 프로젝트 수행중 자신이 만들어낸 프로그램 코드 또는 산출물로 평가되어야 한다.

하지만 실제 프로젝트에서 개발자를 평가하는 것은 개발자가 만들어낸 프로그램에 의해서가 아니라 프로젝트 조직내에서의 원만한 인간관계, 평가자(PM)과의 관계 등에 의해 좌우되는 경우가 많다. 특히 동양적인 조직 문화에서는 객관적인 평가 보다는 주관적인 평가가 될 가능성이 훨씬 더 많다.
평가가 객관적이 되기 위해서는 프로 선수들과 같이 수치 또는 점수로 나타나는 것이 가장 좋은 방법이지만 프로그램 분야에서 이러한 수치를 내는 것은 어렵다.
물론 최근에는 Function Point를 이용하여 개발자가 프로젝트 투입 기간 중 만든 프로그램의 Function Point를 측정하여 다른 개발자와의 차이로 평가할 수 있다. 하지만 많은 Function Point를 개발하였지만 오류 투성이의 프로그램을 만들었다면 평가가 잘못될 수도 있다. 이것은 자동화된 테스트 코드와 커버리지 툴 등을 사용하여 다시 수치화 할 수 있다.

구분개발자 A개발자 B
Function Point100150
Test code cover 율8050
평균 테스트 성공율80%50%


이 두 개발자를 비교했을때 필자의 경우 개발자 A에게 더 넘은 평가 점수를 줄 것이다. 이것은 누가보더라도 객관적인 평가가 될 수 있다. 물론 프로젝트의 특징이 품질보다는 정해진 기간내에 많은 수의 프로그램을 만들어야 하는 경우라면 Function Point에 더 많은 의미를 부여할 수 있을 것이다. 이것은 프로젝트마다 각 항목별로 가중치를 적용해서 보완할 수 있다.
물론 이러한 성과만으로 모든것을 평가할 수는 없겠지만 최소한 프로젝트의 기여율 정도에 대해서만이라도 객관적인 평가가 가능하지 않을까?

2. 유지보수 조직에 있는 개발자의 경우 좀 더 복잡한 내용들이 추가된다. 시스템의 안정적 운영(복구 시간) 또는 고객의 요구사항에 대해 변경된 프로그램의 품질, 투입 공수, 고객의 만족도 등이 그것들이다.

이 경우에도 운영의 안정성 경우 서비스 중지시간, 복구 시간 등 수치 가능한 정보가 존재한다. 변경된 프로그램의 품질에 대해서도 프로젝트와 같은 방법으로 검증할 수 있을 것이다.
유지보수 조직의 가장 큰 변수는 "고객만족도"가 아닐까 생각한다. 대부분의 시스템 유지보수 조직은 고객만족도에 대해 어떤 형태로든 고객으로부터 피드백을 받고 이를 이용하여 유비조수 조직 또는 운영자를 평가하는 체계를 가지고 있다.
하지만 동양적인 사고 또는 조직문화에서는 고객만족도 역시 주관적일 수 밖에 없다. 유지보수 조직과 밀접하게 업무를 수행해야 하는 특정 업무만 지원하는 시스템의 고객이라면 향후 원할한 업무 진행을 위해 평가에 관대할 것이다. 반대로 포털과 같은 범용적 시스템의 고객이라면 자신이 느끼는 그대로를 고객만족도로 나타낼것이며 더 나아가서는 개선에 대한 의지를 많이 표현함으로써 낮은 고객만족도 점수를 부여할 가능성이 많다.
따라서 고객만족도 조사에 있어서 획일적인 점수 부여보다는 시스템의 특성(범용적인지, 일부 사용자만 사용하는지)을 고려한 조사가 되어야 하지 않을까 생각한다. 동양적인 문화에서의 고객만족도 조사라는 용어보다는 고객친밀도조사 쪽이 더 가깝다라고 필자는 생각한다.

3. 컬럼 또는 논문 작성 실적, 집필, 강의 실적 등을 추가하여 평가할 수도 있을 것이다.

이것은 대부분의 개발자들이 수행하는 활동이 아니기 때문에 추가 점수로 활용해야 할 것이다. 필자의 다른 글에서 말했듯이 개발자의 역할 중에 하나인 자신의 지식을 전파하거나 공유하는 활동에 대한 적절한 보상이 되어야 한다. 지금 당장은 이러한 활동이 생산성을 저하시키는 요인이 될수 있겠지만 이러한 활동을 장려함으로써 전체 개발조직의 능력이 향상되는 효과와 함께 저비용, 고품질의 프로젝트를 이끌 수 있는 기본이 된다고 할 수 있다.




마지막으로 개발자의 성과를 평가할 수 있는 체계 또는 기법을 개발자 스스로 찾아야 하지 않을까 생각한다. 지금까지 국내 개발자들은 항상 불만을 표출하기만 했다. 불만에 대한 구체적인 해결방안 이나 기법들을 연구하는 노력이 부족하지 않았나 하는 생각도 해본다.
대부분의 조직내에서 평가를 잘 받는 조직은 기획을 하는 조직일 것이다. 이들이 하는 활동의 대부분은 전략을 세우고 실행에 옮길 수 있는 단계까지를 이끌어 내는데 집중되어 있다. 이렇게 하기 위해서는 다양한 자료를 분석하고 선진사례에 대한 연구 등과 같은 활동을 한다. 물론 개발자들도 선진 기법이나 새로운 개념에 대해 연구 분석도 수행한다. 차이는 기획 조직은 자신의 분석결과를 실행 가능한 단계로 이끌어 내기 위해서 각종 보고 활동과 정치적인 활동도 병행한다. 개발자는 이런 부분이 부족하다.

소프트웨어 공학자와 프로그래머는 엄연히 다르다고 생각한다. 따라서 소프트웨어 공학자에 의해서가 아닌 프로그래머들이 직접 그들을 평가할 수 있는 방법을 연구해야 한다고 생각한다. 필자가 생각하기에 프로그래머는 한가지 단어로 정의할 수 없는 복잡 미묘한 일을 수행하고 그들의 사상이나 가치도 다른 일반인들과는 구별된다고 생각한다.
최근 프로그래밍에 대한 업의 특성을 공학이냐 예술이냐 라는 논의가 많이 되고 있는 것을 보면 단순히 공학적인 특성만 있는 분야가 아니라는 것은 거의 확실한 것 같다. (필자도 공학적인 측면보다는 예술적인 측면이 더 강하다고 생각하는 편이다.)
예술적인 측면이 어느 정도 있다고 하였을 때 개발자의 성과를 평가하는데 있어서도 공학적인 접근만 할 것이 아니라 예술적인 접근도 필요한 것은 당연하다고 할 수 있다. 그러면 흔히 우리가 말하는 화가, 음악가, 건축가 등 예술가의 평가는 어떻게 이루어지고 있을까? 이 부분에 대해서 필자는 전문가가 아니기 때문에 상식적인 수준에서 언급하고자 한다.
우리가 예술가를 평가하는 것은 대부분의 그들의 예술 결과물에 대해서 평가함으로써 대신한다. 이것은 프로그램 분야에서도 마찬가지이다. 하지만 예술 작품의 평가는 동일한 예술 분야의 전문가 또는 그 분야에 관심을 많이 가지고 있는 매니아층의 평판에 의해 평가되는 경우가 많다. 물론 가요와 같은 대중예술의 경우 대중들에 대해 평가를 받고 있지만 이들 또한 넓은 범위에서는 해당 분야에 관심을 가지고 있는 계층이라고 할 수 있다.

1. 해당 분야의 전문가에 의한 평가
2. 해당 작품을 감상하거나 사용하는 매니아 또는 사용자들의 평판


프로그래머의 결과물인 프로그램의 평가 역시 이와 비슷한 방식으로 평가되어야 하지 않을까 생각한다. 개발 분야에 많이 알려진 전문가들은 프로젝트 또는 개발자들이 만들어낸 코드에 대해 공정한 평가를 해야 할 것이고 개발자 그룹은 이들의 평가에 대해 너무 민감한 반응보다는 그 평가에 대해 냉정하게 검토할 수 있는 문화가 필요하다.
전문가의 평가 방법은 전문가 평가 위원회를 구성하는 등의 물리적 방법이 아닌 개발자 커뮤니티에 의해 자연스럽게 형성되어야 하지 않을까...그리고 프로젝트에서는 코드 리뷰 등의 활동을 자체적으로 할 것이 아니라 외부 전문가 집단에게 맡기는 것도 좋은 방법이다. 그리고 이렇게 평가된 결과를 외부에 공개하는 방법도 검토 대상이 된다.
자바 관련 성능 분야에서 많은 발전을 하게 해 준 자바서비스넷(http://www.javaservice.net)의 경우를 보더라도 성능 관련 전문가에 의한 성능에 대한 평가를 하고 평가된 결과를 오픈함으로써(물론 프로젝트명은 익명이겠지만) 자바 개발 커뮤니티 전체에 성능에 대한 수준을 한단계 높혔다고 할 수 있다.

일반 사용자의 평판에 대한 평가는 전문가에 의한 평가보다 훨씬 더 어렵다. 패키지 소프트웨어의 경우에는 판매량이나 잡지사 등을 통해 쉽게 평가할 수 있지만 이것은 소프트웨어 전체에 대한 평가일뿐 그 패키지를 만든 개발자 하나하나에 대한 평가는 아니다. 그리고 패키지가 아닌 기업의 업무를 지원하는 엔터프라이즈 애플리케이션의 경우 일반 사용자의 평판은 프로젝트가 완료된 후 일정 기간 동안 시스템을 운영한 다음에 정확한 평판이 나온다. 이때에는 벌써 프로젝트 참여 개발자의 평가는 이미 완료되고 프로젝트 팀은 해체 되었을 것이다.

최근 프로그래머라는 직업에 대한 회의를 가지는 많은 글이 보았다. "자바 2명" 이라는 풍자성 만화에서는 개발자를 블루 컬러 또는 단순 노동자 정도로 여기고 있는 현재의 문화를 반영하고 있다. 하지만 프로그래머는 새로운 것을 창조하는 예술가로 대한민국의 다음 세대를 책임질 지식산업의 최전방에 서 있는, 가볍게 취급 받아서는 안되는 존재라고 확신하고 있다. 이를 위해서 이제는 정당하게 평가 받을 수 있는 방법을 우리 스스로 찾아야 한다고 주장하고 싶다.
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 김형준


Trackback URL : http://www.jaso.co.kr/trackback/30

Leave a comment
« Previous : 1 : ... 367 : 368 : 369 : 370 : 371 : 372 : 373 : 374 : 375 : ... 388 : Next »