Joel on Software

Joel on Software   조엘 온 소프트웨어

 

한글로된 다른 "Joel on Software" 글들

영어로된 다른 "Joel on Software" 글들

필자 메일주소(영어만 사용)

 

손쉬운 기능 스펙 작성법 – 제 4부 : 효과적인 스펙 작성 요령


글 : Joel Spolsky
번역 : AhnLab
2000년 10월 15일 일요일

지금까지는  스펙이 필요한가, 스펙이란 무엇인가, 그리고 스펙은 누가 작성해야 하는가 대해 살펴보았다. 마지막으로 4부에서는 효과적인 스펙 작성 요령에 대해 가지 조언하고자 한다.

스펙을 작성하는 사람들이 이야기하는 가장 불만은 아무도 스펙을 읽지 않는다 점이다. 아무도 스펙을 읽지 않을 경우, 스펙을 작성한 사람들은 다소 냉소적인 태도를 취하게 된다. 마치 유명한 만화 딜버트 주인공처럼 엔지니어들은 두께가 4인치는 족히 될법한 두꺼운 스펙 보고서를 차곡차곡 쌓아올려 칸막이로 이용한다. 규모가 관료주의적 기업 조직에서는 모든 사람들이 달씩 따분하기 그지없는 스펙을 작성한다. 일단 스펙 작성이 완료되면, 완성된 스펙을 책꽂이 구석에 처박아 두고는 다시는 꺼내보는 법이 없다. 물론, 제품은 처음부터 스펙의 내용과는 아무 상관 없이 만들어진다. ? 아무도 스펙을 읽지 않았으니까. 스펙은 보기만해도기가질려서읽을마음이생기지않으니까. 스펙을 작성하는 과정 자체가 훌륭한 연습이 되었을 수도 있다. 스펙을 쓰기 위해서는 적어도 주어진 문제들에 대해 꼼꼼히 생각을 해봐야 하기 때문이다. 그러나, 힘들여 작성한 스펙이 책꽂이에만 꽂혀있을 읽히지도 않고 사랑 받지도 못한다는 사실은 스펙 작성자들을 허탈하게 만든다.

뿐만 아니라, 스펙이 읽혀지지 않을 경우, 제품이 완성된 많은 언쟁이 벌어지게 된다. 이를테면, 누군가가 (경영진이나 마케팅 담당자나 혹은 고객) 쫓아와서 이렇게 말할 지도 모른다. “잠깐만! 분명히 해물 찜기 만들어준다고 했잖소! 해물 찜기는 어디 있소?” 그러면 프로그래머는 이렇게 말한다. “아니죠. 스펙을 보세요. 3 4 2.3.0.1항에 분명히 해물 찜기 제외라고 명시되어 있잖아요.” 하지만, 이런 답변만으로는 고객을 만족시킬 없고 고객은 왕이기 때문에, 잔뜩 부어 있는 프로그래머는 결국 제품을 뜯어고쳐 해물 찜기를 만들어내지 않으면 된다 (이쯤 되면, 그들은 스펙에 대해 냉소적인 태도를 보일 밖에 없다). 또는, 관리자가 이렇게 말할 지도 모른다. “이봐, 대화상자에 들어가는 말이 이리 길어? 대화상자 상단에 광고를 넣어야 한단 말이야.” 그러면 프로그래머는 잔뜩 골이 나서 이렇게 말할 것이다. “스펙을보시고직접사인하셨잖아요. 대화상자의 레이아웃이며 각각에 들어갈 문장까지 스펙에 그대로 적혀있다구요!” 물론, 관리자는 스펙을 읽어보지 않았다. 읽어보려고는 했지만, 때마침 그의 작은 두뇌가 안와(眼窩) 통해 밖으로 새어나가 버렸기 때문이다. 무엇보다, 그는 화요일의 골프 약속을 지켜야만 했다.

스펙은 유용하지만, 아무도 읽지 않는다면 소용이 없다. 그러니까, 스펙을 작성하는 입장에서는 사람들이 글을 읽도록 유인하지 않으면 된다. , 누군가가 스펙을 읽으려 가뜩이나 작은 두뇌가 안와를 통해 밖으로 새어나가 버리는 일이 발생하지 않도록 세심한 노력을 기울여야 한다.

사람들이 스펙을 읽도록 유인하는 것은 대개가 글솜씨의 문제다. 그렇다고, 필자가 여기서 글솜씨를 길러라라는 말만 던져놓고 이것으로 모든 문제가 해결된다고 한다면 온당한 처사가 아닐 것이다. 그래서, 읽을만한 스펙을 작성하기 위해 반드시 지켜야 간단한 규칙을 가지 소개하려 한다.

규칙1 : 재미있게써라.

그렇다. 사람들이 스펙을 읽게끔 만들기 위한 번째 규칙은 읽는 자체가 즐겁게 만들라는 것이다. 때부터 남을 웃기는 데에는 소질이 없다는 식의 핑계는 여기서는 통하지 않는다. 누구한테나 재미있는 아이디어는 있게 마련이다. 다만, 어쩐지 재미있는 글을 전문적인 글처럼 보이지 않는다 생각 때문에 스스로 막고 있을 뿐이다. 가끔은 파격이 필요할 때도 있다.

필자가 웹사이트에 올린 여러 편의 졸작들 읽어본 독자라면, 필자의 여기저기에서 서툴지만 나름대로 재미있게 써보려고 시도한 흔적들을 발견했을 것이다. 바로 앞에서도 필자는 뇌가 새어나간다는 다소 혐오스러운 농담을 던지거나 대신 골프에 열심인 관리자를 희화화 했다. 사실, 필자의 글이 그렇게 재미있는 것은 아니지만, 그래도 필자는 열심히 노력하고 있고, 웃겨보겠다는 몸부림 자체가 우스울 수도 있다 (다소 처연하긴 하지만). 스펙을 작성하는 과정에서 재미있는 글쓰기를 시도하기에 가장 적절한 부분은 보기를 제시할 때다. 어떤 기능이 어떻게 작동되는가를 이야기해야 흔히 다음과 같이 쓰기 쉽다.

  • 사용자가 Ctrl+N 입력하여 직원이라는 테이블을 새로 만들고 직원들의 이름을 입력한다.

하지만, 같은 내용을 아래와 같이 써보면 어떨까?

  • 돼지 아가씨가 너무 통통하고 뭉툭해서 자판의 키를 하나씩 누를 수도 없는 손가락 대신 마스카라 뚜껑으로 Ctrl+N 눌러