QA Engineer의 능력이 developer의 능력보다 떨어져 보이는 이유?


QA Engineer는 developer보다 역량이 부족하다고 생각하는 회사들이 꽤 되는 것 같다. 그렇다고 developer가 verify를 할 능력이 되느냐면 그것도 아닌거 같고, 그래서 verification에 다들 관심이 많은 것 같다.

어떤 QA Engineer에게서 이런 고민을 들은 적이 있다. 인터페이스 시험을 하는데에 어려움이 있다. 무슨 무슨 시험을 하는게 어렵다. 어떻게 하냐..

설계한 것을 들여다봤다. 일단 QA engineer의 입장에서 보면 어려움이 이해가 된다. 다른 사람이 만들어놓은 것이 art도 아니고 엄청 복잡하게 만들어놨는데, 설명하는 문서도 없고 그거 이해하기가 쉽지 않을 것이다.

그런 난해한 것으로 시험을 하라는데 이해도 안되는 것을 어떻게 시험할 수 있겠는가? 당연히 못하는 것이 자연스러운 것이고 당연한 것이다.

그럼 방법은 없는가? 있다. review에 참여해야 한다. 참여해서 작성자에게 그 내용의 의미를 물어봐야 한다. 그리고 QA engineer의 관점에서 그 문서를 검토해야 한다. review가 단순히 서류상으로만 존재하게 해서는 안된다. review가 통과된 산출물에 대해서는 QA engineer가 test를 수행하는 것에 책임을 져야 한다. 만약 test를 못할 것 같으면 review에서 강하게 태클을 걸고 설계상의 문제점들을 지적할 수 있어야 한다.

검토 회의에서 치고박고 싸우라는 의미가 아니다. 개발자는 순수 개발 관점에서 설계를 하겠지만, 그 설계가 검증이 용이한지, 아니면 유지보수나 사용편의성이나 그런 다른 관점에서 괜찮은 quality인지를 누군가가 봐줘야 하는데 그 역할을 관련 이해관계자가 해야 한다. 그 이해관계자 중 하나가 QA engineer이다.

QA engineer의 능력이 발휘되도록 하기 위해서라도 review는 반드시 해야 한다.

축구선수 수비수에게 골 결정력을 요구하는 감독을 봤는가?


투수에게 타율을 높여야 한다고 말하는 코치가 있다면 아마추어 선수단의 코치일 것이다. 프로팀에서 그런것을 요구한다는 것은 말이 안되는 행동이다. 그 투수가 타자로 전향한다면 혹시 모를까.. 

그런 이야기를 왜 하냐면, 어떤 회사에서는 SQA엔지니어에게 개발자가 해결해야 하는 문제점을 해결할 수 있는 방법을 요구하고 개발자의 몫인 개발 산출물을 요구하는 상황을 경험했기 때문이다. 정말 놀라웠다. 그걸 요구하는 것이 프로다운 발상인가?  

기본적으로 테스터와 개발자의 성향은 차이가 있다고 생각한다. 기본적으로 갖추어야 하는 성격이나 기술의 스탯에 차이가 있다. 물론 개발을 잘하면서 시험도 잘 할수는 있다. 그러면서 문서작성도 잘하고 품질관리도 잘하고 일정도 잘짜고…. 

슈퍼스타를 원하는 것은 알겠는데 그런 사람한테 돈 얼마나 줄 수 있는가 묻고 싶다. 그리고 그런 슈퍼스타는 흔하지 않다. 각 role별로 요구되는 skill은 차이가 있고 모든 stat이 full인 경우는 흔하지 않으므로 보통은 skill tree를 따라 경력 설계를 하기 마련이다. 나도 마찬가지이고.

 게임에서 몸빵 유닛에게 힐링 스킬을 높인다거나 공격마법스킬을 높인다면 그건 스마트한 전략은 아니다.

마찬가지로 멀티플레이어를 요구한다는 것은 그 개인이 뭔가를 특별나게 잘하는게 없도록 요구하는 것과도 같다고 생각한다.

Competency가 정말 중요하다.


능력이 부족한 사람이 맡겨진 일을 잘 수행할 것이라고 기대하는 것은  상당히 낙관적인 생각이고 근거없는 생각이다. 당연히 잘 하리라고 기대하지않는 것이 자연스러운 것이다.

회사들을 돌아다니면서 교육훈련의 중요성을 느끼게 되었는데, 좀 안좋게 말하자면 그만한 능력이 되지 않았는데 회사는 그 일을 맡겨버린다는 것이다. 일을 시킬려면 일을 할 수 있도록 도와주고 일을 시켜야 하는데 난 모르겠고 니가 알아서 해라?

그러면 도대체 누구 손해인가? 회사 입장에서 손해는 매우 크다. 다만 그것이 눈에 보이지 않아서 그러는거 같다.

조직에서 살아남아 자리만 지키기만 하면 신입이 들어오고 자기 자리는 아래에서 위로 떠 밀려서 올라가게 된다. 그러면 위의 자리에서 해야 하는 일들을 해야 하는데 전문성이나 자격등을 고려하지 않고 시키는 것 같다는 인상을 받는다.

교육을 시킨다고 항변할 지도 모르겠다.. 그런데 내가 경험한 바로는 단순히 수강만 하고 99%의 합격을 하는 그런 교육이 아닌가 싶다.

왜 자꾸 이런 소리를 하냐면, 가장 기본적인 부분에 있어서도 교육이 필요하다는 것을 깨닫게 되면 상당한 내적 절망감에 빠지게 되는데 그런 경우를 적지 않게 경험했기 때문이다.

이런 현실에서 내가 어떻게 해야 할지를 고민해야 할 필요가 있을 것 같다.  부족한 시간과 고객의 수많은 요구들을 만족시키기 위한 방법이 무엇이 있을까? 그 고민은 내가 해야 하는 것이고, 회사에 다니는 엔지니어들은 자신에게 부족한 것이 무엇인지를 알고 그 부분을 보완해야 할 필요가 있고, 회사의 입장에서는 각 인력들을 필요한 곳에 잘 배치하도록 하기 위해 인력의 기술수준을 높게 유지해야 할 필요가 있다.

아무리 개인이 열심히 하려고 해도 회사에서 도와주지 않으면 잘 해볼 도리가 없다. 쉬운 문제는 아니지만, 회사는 아무리 바쁘고 힘들어도 직원들이 경쟁력을 갖춘 인재가 되도록 하는 일에 관심을 가져야 한다.

어떤 회사는 능력있는 인재가 되면 회사를 나갈까봐 발전의 기회를 빼앗고 닭장에 가두듯이 자기 회사에 가둬서 시키고 싶은 일만 시키는데, 안타깝다. 그렇게 해서는 애플의 혁신, 영업이익 40%이상의 놀라운일이 일어나지 않는다. 그저 그런 영업이익 정도의 이익만 날 뿐이지…

Safety Assessment, SW Certification Consulting, DO-178C, DO-278A, ISO26262, IEC61508, IEC62304, Verification & Validation