목요일, 7월 05, 2007

[3부 4번 수필] 표준과 표준 준수: 정말 소프트웨어 품질을 높이는 데 도움이 되나?

사람들은 흔히 소프트웨어 표준만 있으면 제품 품질이 저절로 올라간다는 착각을 한다. 물론 제품 품질 향상을 위해 소프트웨어 표준이 있으면 좋긴 하겠지만, 표준만으로 제품 품질을 올리기는 무척 어렵다.

무엇이 문제일까? 바로 표준 정립과 표준 준수가 따로 놀기 때문이다. 표준 정립 자체가 표준 준수를 의미하면 좋겠지만, 대부분 표준을 만드는 사람과 이행하는 사람은 동일하지 않기 때문에 삐걱거리기 마련이다.

로버트 L. 글래스 큰 형님은 표준 정립과 관련한 잘못된 관례에 대해 일침을 가한다.

대다수 소프트웨어 회사에서는 적어도 100페이지는 족히 되는 멋진 소프트웨어 제작 규칙을 빽빽하게 기술한 표준 메뉴얼이 존재한다. 아마도 (1) 동료들에 비해 재능이 떨어져서 소프트웨어 개발팀에서 밀려났거나 (2) 자신이 '최고' 소프트웨어 제작 방법을 발견했다고 생각해서 모두가 그대로 따라야 한다고 믿는 사람들이 작성한 메뉴얼이다.

우와. 그렇다면 어떤 관례가 올바를까? 다음과 같은 세 가지를 생각해보자.

  1. 표준은 간결하고 핵심적이어야 한다. 길게 만든 문서는 표준이 아니라 지침으로 남기자.
  2. 표준은 회사에서 프로그래밍 기량이 가장 뛰어난 사람이 작성하고 검토해야 하며, 시간이 남는다고 아무에게나 맡겨서는 안 된다. 모두에게 강조하고 준수하도록 만들 규약이므로 마땅히 최고 두뇌에게 맡겨야 한다.
  3. 표준 준수는 의무적이어야 하며, 시간이 남으면 따른 선택이 되어서는 안 된다.

과연 여러분이 몸담고 있는 회사에서는 표준을 누가 만드는지 생각해보자. 그리고 표준을 따르지 않는 이유도 함께 고민해보기 바란다.

"소프트웨어 컨플릭트 2.0: 시대를 뛰어넘는 즐거운 논쟁" 역자 박재호 올림

라벨: ,