행복한 아빠

실험은 실험실에서... 본문

하고싶은말

실험은 실험실에서...

행복한아빠 2011. 12. 9. 13:13

얼마전 나가수에서 인순이씨가 7위를 했습니다. 굉장히 실험적인 음악을 했고 그 실험은 결국 방청객들의 좋은 반응을 이끌어내지 못했습니다. 전 그 노래를 들으며 저 실험적인 음악을 충분히 연습했고 나가수 나오기 전에 다른 곳에서 평가를 받아본 적이 있는 상태였었나 물음을 던져보고 싶었습니다.
(이미지출처)


인순이씨의 실패

인순이씨의 도전정신은 충분히 본 받아 마땅하지만 시간내서 그 곳에 온 방청객에게, 인순이씨의 노래에 잔뜩 기대하고 온 팬들에게 내놓을 수 있는 노래였는지는 납득하기 어려웠습니다. 혹시 나가수에서 처음 시도한 것은 아닌지... (인순이씨 디스하려는 것 절대 아닙니다. 그 연륜과 위치에서 나가수에 나왔다는 점은 매우 존경합니다.) 



임상실험

어떤 약을 연구하고 내놓기 전 반드시 임상실험을 합니다. 아무리 철저히 연구했더라고 하다라도 그 약에 결함이 있으면 생명에 치명적인 영향을 주기 때문에 세상에 나오기 전 충분한 테스트를 거쳐야 합니다.
자동차 역시 비용이 많이 드는 충돌 테스트를 반드시 거칩니다. 세상에 나오기 전, 고객이 사용하기 전 그만큼의 비용은 반드시 들여야 합니다. 너무 당연한 것입니다.


소프트웨어 현실에서

소프트웨어를 만드는 사람들도 고객에게 소프트웨어를 인도하기 전 이러한 검증절차를 거쳐야 합니다. 그러나 그렇지 않은 경우를 종종 보게 됩니다.
자신이 정확히 이해하지 못한 설계 패턴을 책에서 보고 고객 사이트에 적용하려는 시도, 아직 적용해 보지 못한 신기술, 검증받지 않은 최신의 매력적인 기술들을 고객의 시스템에 적용해보려는 시도를 과연 도전정신으로 받아들여야 할까요?

최악의 경우는 테스트 코드가 없거나 테스트를 하지 않은 코드를 고객에게 인도하려는 것입니다. 이런 것이야 말로 무모한 도전이고 그 위험 부담을 고객에게 전가시키는 것입니다.
기본적인 테스트 비용은 고객이 부담하는 것이 아니고 소프트웨어를 만드는 사람들이 부담하는게 맞습니다. 


그래서 해야 할 일

이런 이야기를 하면 항상 프로젝트 중이라 새로운 기술을 배우거나 적용할 기회가 없다고 합니다.
그러나 가끔은 고객이 새로운 기술을 적용하기를 원하는 도전적인 프로젝트를 주는 기회가 있기도 합니다. 이 경우는 행운입니다.

그렇지 않더라도 소프트웨어를 좋아하여 항상 탐구하려는 자세를 가진 개발자들이라면, 실전에 신기술을 적용하기 전 충분히 연구하고 동료들과 검토하고 검증할 기회는 많습니다.

최악의 경우처럼 테스트가 없는 코드를 고객에게 인도하는 일은 없어야 합니다. 기본적인 테스트도 하지 않는 코드를 인도하는 개발자는 기본적인 직업의식도 없는 거나 마찬가지지요. 테스트하기 어렵거나 지친다면 TDD를 해보는 것도 좋은 방법입니다.


부의 환경에 의해 소프트웨어 직군이 3D라는 말을 듣고 불평만 하지 말고, 소프트웨어 종사자가 단순 노동자가 아니라 전문적인 직업이라는 평가를 받기 위해 우리도 좀 더 프로답게 일할 필요가 있지 않나 생각해 봅니다.


0 Comments
댓글쓰기 폼