Monologue

SI 프로젝트 코드 검수의 중요성

Gradler 2019. 11. 26. 17:13

이 글은 어쩌면 내가 현재 속해있는 조직에만 한정된 얘기일지도 모르겠다.


프로젝트를 수행한 다수의 결과물 중 특히 코드를 검수 하려면 크게 두 가지 내용을 봐야 한다.

 

  1. 다했는지
  2. 잘했는지

다했는지는 정량적 판단이 가능하기 때문에 비교적 쉽게 판단이 가능하다.

 

잘했는지는 정성적으로 판단해야 하는 영역이기 때문에 판단하기 조금 애매하다.

정성적 평가로 가장 좋은 방법은 소스 리뷰이다.

하지만 소스리뷰는 오랜시간과 비용이 들어가기 때문에,

그나마 싸게 할 수 있는 방법이 강도 높은 테스트와 정적 코드 분석 툴을 이용하는 것이다.

 

내가 속한 조직의 대다수 클라이언트들은 싼 가격에 최대한 빨리 오픈 하는 것을 우선으로 생각한다.

사실상 다했는지에 대한 판단조차 제대로 하지 않는 편이라 잘했는지는... 말할 것도 없다.

C-Level 분들에게 일정에 맞춰 오픈 했다고 보고해야 하기 때문일까?

 

결국 제대로 된 검수 없이 급하게 오픈하고 나면 '소 잃고 외양간 고치기' 식 재작업으로 인해 추가 리소스 투입이 발생하게 되는데,

이 때 들어가는 비용은 사실상 오픈 이전보다 더 클 수 밖에 없다.

검수 하는데 리소스를 조금이라도 미리 할당 했다면 추가로 들어가는 비용보다는 훨씬 적은 비용으로 더 높은 품질의 산출물과 고객의 신뢰를 얻을 수 있을 텐데.. 

 

소스 검수를 반드시 해야 하는 또 다른 이유는 다음과 같다.

내가 겪어본 대다수의 SI 개발사와 프리랜서 개발자분들은 어떤 부분에 문제가 있다는 걸 스스로 인지했어도 누군가 그걸 발견해서 수정을 요구하기 전까지는 스스로 수정하지 않는 경향을 보였다. 이는 소스에 대한 오너십이 있느냐 없느냐에 대한 문제인 듯 하다.

(물론 다소 주관적인 의견이며, 그렇지 않은 SI 개발사와 프리랜서 개발자 분들도 많이 있을 것이다.) 

 

그래서 제 3자가 참여하는 QA가 필요하고, 의뢰인(또는 조직)의 지속적인 관리/감독이 반드시 필요하다.

무조건 싸고 빠른 것만 찾다가 나중에 추가 비용을 많이 들이기 보다 처음부터 확실하게 하자는 의미에서 남기는 글이다.