어제 큰 행사를 치뤄서인지 많이 피곤해 보였지만, 김전무님은 언제나처럼 기쁘게 맞아주었습니다. 우리 회사사람들이 많이 참석한 것도 알고 계시고, 경품을 타간 것도 기억하셨습니다. 회사 사람들에게 큐브리드 행사에 많이 참석해 주어서 고맙다고 전해달라고 하셨습니다.
둘이서 캔커피를 하나씩 사들고 한강둔치를 걸으면서 많은 이야기를 나누었습니다. (큐브리드는 강남구청역에 있어서 한강이 가깝습니다) 그 중에서도 특히 목표관리와 테스트 코드에 대해서 이야기를 많이 했는 데 그 이야기를 조금 전달하겠습니다.
아는 사람은 알고 있겠지만 우리회사의 목표관리는 MS를 본 딴 것입니다. 김전무님의 코치로 목표관리가 다시 도입된 것이지요. 목표관리는 연봉협상을 위한 평가의 목적도 있지만 보다 본질적인 것은 더 괜찮은 회사가 되고, 더 나은 사람이 되기 위한 것입니다. “목표를 정했으니 이제 6개월후에 보자”는 게 아니라, 모든 사람이 자신의 목표를 달성할 수 있도록 끊임없이 서로 격려해 주고, 적절한 방법을 알려주고, 부족한 부분에 대해서 솔직하게 충고해 주며, 필요하다면 목표를 일부분 수정해서라도 같이 가도록 하는 것입니다. 스스로 자신이 설정한 목표를 잘 달성해가고 있는 지 주기적으로 자기 확인을 하고 상사나 동료들에게 부족한 부분은 물어가면서 일한다면 모두 다 “목표달성”이라는 좋은 성과를 얻을 수 있을 것이고, 우리 회사도 더 좋은 회사가 될 것입니다.
테스트 코드에 대해서 김전무님은 내가 아는 그 누구보다도 테스트에 대해서 중요성을 강조하셨습니다. MS에서는 두단계에 걸쳐서 테스트가 이루어집니다.
첫번째는 개발자들이 각자 작성하는 테스트 코드이고, 특정 프로젝트에 대한 개발자들의 테스트 코드들은 한데 묶여서 소스 커미트하기 전에 각 개발자가 돌립니다. 프로젝트가 커지고 기간이 오래되게되면 테스트코드가 너무 많아져서(심지어는 소스보다도 커진다네요) 소스 커미트 하기 위해 테스트 하는 시간이 길어지므로 최대 20분으로 정한다고 합니다. 내 스스로 두어번 TDD를 해본 경험으로 “테스트 코드를 먼저 만들고 나니 리팩토링이 참 쉽고 오히려 재밌더라”고 말씀드렸더니 너무나 당연한 이야기를 한다는 표정이셨습니다.
두번째는 QA팀이 하는 RVT(리그레션 베러피케이션 테스트)인데요. 주로 실행프로그램 전체에 대하여 입출력값을 설정해 놓고 원하는 결과가 나오는 지를 테스트 하는 것입니다. 두번째 단계는 2시간 정도 걸리도록 한다고 합니다. 각 개발자들의 그날 소스 커미트가 모두 완료되고 나면 RVT가 돌아갑니다.
앞으로 큐브리드에 새로운 기능들도 많이 추가될 거라는 이야기도 들었습니다. 특히 포탈과 게임쪽으로 작업하면서 알게된 “update 안쓰고 select만 가지고 게시물 테이블의 레코드 조회수까지 자동으로 증가시켜주는 기능“같은 기능이 추가될 거라고 하셨구요.
마지막으로 전할 말씀은 우리회사 사람들의 Q&A를 큐브리드 게시판에서 많이 볼 수 있었으면 좋겠다고 부탁하셨습니다.
소프트웨어 테스트에 대해서 다시한번 생각하게 되는 날입니다.
전경헌@사이냅소프트