소프트웨어, 누가 이렇게 개떡 같이 만든 거야

By | 2008년 3월 31일

사용자 삽입 이미지
사용성을 무시하는 개발자의 똥꼬를 ‘깊쑤키’^^

오늘날 사용하고 있는 소프트웨어는 개떡 같은 게 많습니다. 달리 뭐라 표현할 말이 없을 정도로 개떡 같은 것도 있습니다.

몇 시간 또는 하루 종일 했던 작업을 한꺼번에 날리고 나서 그 황망함에 머릿속이 하얘져 천장만 바라보며 부들부들 떨었던 기억들…
어느 사이트의 개인정보가 누출되었다는 기사에 부랴부랴 자주 가는 사이트들의 비밀번호를 바꾸면서, 육두문자가 튀어 나왔던 기억들…
간단한 정보를 얻으려고 사이트를 방문했는데, 무조건 회원가입을 하라고 시켜 욜씸히 블랭크를 채웠더니만, 기껏 ‘전송 오류’ 내지 ‘다시 입력해 주세요’라는 문구를 접하며 뚜껑이 열렸던 기억들…  

하지만 이러한 현실에 기죽어 거의 무지렁이 수준인 자신의 컴퓨터 실력만 한탄하며, 하릴없이 ‘이제 공부 좀 해라!’하고 자신을 타박했던 무수한 나날들…
우리네 사용자들이 한번쯤 겪어봤음직한 경험들입니다.

그간 무수한 개발 경험과 사용자와의 인터랙션을 통하여 UX에 기반한 UI를 개발하는 등 접근성과 사용성 문제를 향상시키기 위한 많은 노력을 기울이고 있음에도 불구하고 아직도 사용성을 고려하지 않은 한마디로 ‘개떡 같은’ 소프트웨어는 많은 거 같습니다.

이 책은 소프트웨어의 사용성 문제를 고려하지 않고 개발하는 개발자들의 똥꼬를 아주 ‘깊쑤키’ 찔러댑니다. 어찌나 과감히 찔러대는지 ‘이거 너무 오바하는 거 아냐?’라는 느낌이 들 정도이지만, 감정을 삭이고 찬찬히 들여다 보면 20여 년의 개발자 경력을 갖고 있는 저자가 소프트웨어의 사용성 문제를 얼마나 심각하게 받아들이고 있는지 잘 알 수 있습니다.

그렇다면 그렇게 문제가 많은 소프트웨어를 만드는 원인이 어디에 있을까요? 개발자들이 기술이 부족해서 그럴까요? 똑똑하지 못해서 그럴까요? 그도 아니면 창의력이 부족해서 그럴까요?  
저자는 그 원인을 ‘개발자가 사용자를 잘 모른다’는 데에서 찾습니다. 그리하여 이렇게 부르짖습니다.

‘그대의 사용자를 알라! 사용자는 그대가 아닐지니…’

그러나 이 책은  전혀 무겁거나 지루하지 않습니다. 일반 사용자가 이해할 수 있을 정도의 평범한 용어로 쓰였고, 자칫 딱딱하고 건조하거나 교훈 일색일 수 있는 내용을 적절한 풍자와 재치 그리고 유머러스한 해학으로 읽는 이에게 재미와 웃음(쓴 웃음?^^)을 동시에 줍니다.

그렇지만, 그 웃음 뒤에는 소프트웨어의 사용성 문제를 바라보는 저자의 날카로운 통찰과 소프트웨어 개발자들에 대한 느꺼운 애정이 살아 숨 쉬고 있습니다. 또한 많은 사례를 통해서 사용자가 쉽게 접근할 수 없는 소프트웨어의 문제점이 무엇인지 발가벗기듯 파헤치고 있지만, 개발에 있어 진정 중요한 것이 무엇이고 가지 말아야 할 길이 무엇인지 소프트웨어 개발자에게 아프게(?) 조언합니다.

“사용자를 알라! 그리하여 정말 사용하기 편리하고 안전한 소프트웨어를 만들라!”

아래 추천 글과 옮긴이 글은 이 책이 말하고자 하는 걸 잘 표현하고 있습니다.
아울러 추천 글을 써주신 정유진, 이준영, 안영회, 신현석 님께 감사드립니다.

발간 예정일은 4월 3일입니다.
현재 강컴, yes24, 인터파크에서 예약 판매 중입니다.

정유진 <정유진의 웹 2.0 기획론>의 저자 

“요즘 소프트웨어는 개떡 같습니다.”라는 첫 줄에서부터 웃음을 터트렸다.

시종 일관 정곡(?)을 찌르는 직설적인 표현과 생생한 예시들로 사용자 관점에서 소프트웨어 설계의 고정관념들을 파헤친다. ‘정신 나간 전문가들이 제정신을 찾게 해 달라는 울부짖음’ 속에서 화면 스토리보드에 아무 생각 없이 자바스크립트 확인 얼럿창과 메뉴를 덧붙이는 내 자신의 습관을 돌이켜 보았다.

[#M_ more.. | less.. |

누구나 쉽게 ‘사용자 관점’이라는 표현을 남발하지만, 정말로 사용자의 눈높이를 맞추는 것은 얼마나 어려운 일인가? 오히려 전문가를 자처하는 사람들일수록, 업계에 오래 종사한 사람들일수록, 때로는 사용자에 대해 ‘너무 많이’ 생각할수록 서비스를 사용하는 진짜 사람들의 눈높이에서는 멀어지기 십상이다. 저자는 온갖 복잡한 규칙과 오버된 고민들 속에서 한없이 높아진 고상한 눈높이를 가차 없이 그러나 매우 유쾌한 방식으로 ‘팍팍~’ 낮춰준다. 이 낮은 곳에서 바라보는 인터페이스의 세상이 왜 이리 생생하고 흥미로운지!

나열식의 딱딱한 how-to라기 보다는, 저자의 입담을 따라 유쾌하게 읽어가다 보면 어느 순간 소프트웨어와 화면 설계의 근본적인 문제를 고민하는 나 자신을 발견하게 되는 책. 스티브 크룩씨의 유저빌리티 명저 <Don’t Make Me Think> 이후 읽는 즐거움과 알찬 영양가를 고루 갖춘 ‘통하는’ 책을 만나 반갑게 추천한다.

_M#]

이준영 (주)트레이스존 컨설팅 대표

소프트웨어 개발자가 사용자를 만나는 법

오픈소스 프로젝트에 참여하고 있는 한 유명 프로그래머가 인터뷰에서 “한국의 오픈소스 참여가 지지부진한 것은 언어적 장벽 때문이 아닌가?”라고 물으니 “모든 프로그래머는 프로그래밍 언어를 통해 대화 한다.”라고 대답한 것을 본 적 있다. 언어적 장벽을 물었더니 프로그래밍 언어가 만국 공통어라고 대답하는 이 프로그래머에게 이 책을 강력히 추천하고 싶다. 본인은 적절한 대답을 했다고 믿고 있지만 사실 전혀 엉뚱한 대답을 하고 있는 소프트웨어 개발자에게도 마찬가지. 물론 이 책을 가장 필요로 하는 사람은 현업에서 개발을 하고 있는 사람들이 아니라 이제 프로그래밍을 배우는 사람들이 아닐까 한다. 현업에서 개발을 하는 사람들은 이 책을 보며 이렇게 느낄 수 있다.

“그래서, 뭐!?”

[#M_ more.. | less.. |

도발적인 제목과 다소 난삽한 내용 구성에도 불구하고 이 책이 갖는 가치는 분명하다. 골방에 틀어박힌 개발자가 세상의 다양한 사용자를 만나는 방법에 대해 이야기하고 있기 때문이다. 사용자 입장에서 읽으면 통쾌한 느낌이 들겠지만 개발자 입장에서 읽으면 부조리가 느껴질 정도로 시종일관 멍청한 개발자를 타격하고 있다. 그러나 자신만의 세상에 갇혀 소프트웨어를 통해 사용자와 대화할 수 있다고 믿는 개발자에겐 이 책을 읽음으로써 사용자들이 실제로 소프트웨어와 제대로 커뮤니케이션하지 못함을 깨닫게 될 것이다.

문제는 이 책을 읽은 후 개발의 방향이 바뀔 수 있는가 인데, 사실 바뀌는 것은 별로 없을 것이다. 개별적인 사례가 중요한 것이 아니라, 그 사례를 통해 소프트웨어 사용자가 얼마나 다양한 불편을 겪고 있는지 개발자에게 알려 주는 게 이 책의 목적이기 때문이다. 고객을 고객답게 대하라. 이 정도의 메시지를 전달 받을 수 있다면 이 책을 읽는 목적은 충분히 달성할 수 있다.

이 책을 기획자나 마케터가 읽으면 어떻게 될까? 멍청한 소프트웨어나 웹 사이트 혹은 웹 애플리케이션을 만드는 개발자를 공격하는데 좋은 도구가 될 것이다. 그러나 그렇게 할 경우 개발자의 반격을 충분히 예견할 수 있으니 삼가는 것이 좋다. 이 책을 개발자에게 선물하는 것도 바람직하지 않다. 마치 ‘당신 또한 이런 짓을 하고 있어!’라고 비난하는 꼴이 될 테니까. 그러니 개발자 스스로 읽어 볼 수 있도록 복도나 화장실에 살짝 갖다 두는 것이 최선이라고 생각한다.

_M#]

안영회 SE 컨설턴트

이 추천 글은 화장실에서 만들어진 것이다. 굳이 장소를 드러내는 이유는 그만큼 이 책이 사람을 끌어들인다는 점을 말하고 싶어서다. 그저 어떤 내용인가 훑어볼 요량으로 화장실에 들고 간 책인데 내가 변비 환자가 아님에도 불구하고, 빨려들 듯 책장을 넘기게 되었다.

책 제목도 그렇지만, 이 책에서는 시종일관 “개떡 같은”이라는 표현을 사용한다. 표현 자체는 매우 선정적이다. 그러나 스무 장쯤 넘겼을 즈음에 이 표현이 매우 적절하다는 사실을 직감할 수 있다. 사용자가 컴퓨터를 사용할 때 부딪히는 문제의 기원! 그것은 초창기 컴퓨터 프로그램 설계자들이 자신의 제품을 사용자가 쉽게 사용하게 하는 데는 전혀 신경을 쓰지 않았다는 것이다. 그리고 그러한 전통(?)은 시간이 흘러도 명맥을 유지하고 있다는 점에서 충분히 “개떡 같다”고할 만하다.

[#M_ more.. | less.. |

필자는 묻는다. ‘왜 여전히 개떡 같은가?’ 이 대목에서 나는 미소 짓지 않을 수가 없었다. 필자가 책에 무엇을 담고자 하는지 단박에 알 수 있는 물음이다. 바로 다음 페이지에서 친절하게 자신이 제시한 문제에 답을 내어 놓았다.

‘그대의 사용자를 알라. 사용자는 그대가 아닐지니’

 그리고 설계에 대한 고민만으로 머릿속을 꽉 메웠을지 모를 나와 같은 개발자를 위해 사용성(Usability)에 대해 다양한 방식으로 설명한다. 실행 취소(Undo) 기능을 마우스의 발명에 견주며 내부 설계에만 골몰하는 관점을 전환하게 해주고, 구글 사례를 통해 서버 중심이 아닌 고객 중심 설계에 대해 친절하게 설명하고 있다. ‘스플래시, 플래시, 애니메이션’에서는 웹 디자이너에게 스며있는 잘못된 습관에 대해 적나라하게 묘사하고 있다. 기능 설계나 디자인(화면 설계)에 이어 보안 문제에 대해서도 인터넷의 구조적 문제, 개발자의 보안 불감증, 심지어는 패스워드가 갖춰야 할 모순적인 요건까지 폭넓게 설명한다. 마이크로소프트 문제에까지 나아가면 필자가 가진 폭넓은 지식, 그리고 이를 쉽게 풀어가는 재주에 감탄하지 않을 수 없다. 더불어 이 책의 역자 또한 칭찬하게 된다.

이 책의 전반부는 대체로 개발자의 올바르지 못한 시각을 지적하고 있는 반면, 후반부에 가서는 바람직한 소프트웨어 소비자의 태도에 대해 말하고 있다. 특히 9장에서는 소프트웨어사용성 개선 문제를 사회 운동 차원까지 언급하고, 이를 위해 만들었다는 suckbusters.com이라는 자신의 블로그를 소개하고 있다.

이 책은 개발자들이 자신의 고객을 어떻게 대하는지 그 태도를 돌아보기 위해 한번쯤 읽어볼 만하다. 또한, 내가 일하는 기업용 정보시스템 현장에서 소프트웨어 개발을 의뢰해야 하는 고객들이 개발자의 심리와 소프트웨어 개발 현실을 이해하기 위해 부담 없이 읽을 수 있는 좋은 책이다.

_M#]

신현석 (주)시도우 웹표준 연구센터 센터장 

대다수의 사람들은 컴퓨터를 사용하면서 무언가 잘 안 되거나 어떻게 해야 할지를 몰라 적이 당황한 적이 있을 것이다. 보통 이럴 때 사람들은 자신의 이해력이 모자라거나 컴퓨터를 잘 몰라서 그렇다고 생각하게 된다. 하지만 사실은 이와 다르다. 사실은 컴퓨터 사용이 어려워서가 아니라 소프트웨어가 잘못 만들어졌기 때문에 이런 일들을 겪게 되는 것이다.

[#M_ more.. | less.. |

이러한 일은 비단 소프트웨어뿐만 아니라 웹사이트를 사용하면서도 쉽게 겪을 수 있다. 사용자를 우선으로 생각해야 한다는 것은 다들 당연하다고 얘기 하지만 그렇지 못한 사이트들은 굉장히 쉽게 찾아볼 수 있다. 한 번에 서너 개씩 깔아대는 액티브엑스 플러그인들, 불필요하게 요구하는 과도한 개인정보들, 입력한 데이터가 제대로 전송되지 않는 것에 대한 두려움, 장문의 글을 입력하고 전송버튼을 누른 후에 오류로 글이 다 날라 가서 겪는 좌절감 등 사용자들은 계속해서 이러한 불편을 강요 받아왔다. 자신들의 잘못이라고 생각하면서…….
 
“소프트웨어, 누가 이렇게 개떡 같이 만든 거야”에서는 이러한 문제들이 왜 소프트웨어의 잘못인지, 누구 때문에 이러한 일들이 발생하는지, 그리고 과연 잘 만들어진 소프트웨어는 어떠한 것인지에 대해서 아주 재미있고 직관적으로 설명하고 있다. 잘못된 소프트웨어를 만드는 개발자들의 생각하는 방식과 사용자들이 생각하는 방법을 아주 대조적으로 알기 쉽게 얘기 하고 있다.

이 책은 일반인들도 쉽게 이해할 수 있는 책이지만 일반 사용자뿐만 아니라 소프트웨어 제작자, 웹사이트 제작자들도 반드시 읽어볼 필요가 있다. 자신들이 만들고 있는 제품이 정말로 사용자를 위한 것인지, 이 책에서 말하고 있는 것과 같이 자신의 생각을 사용자에게 강요하고 있는 것은 아닌지를 생각해 볼 수 있게 할 것이다. 사용성과 접근성은 난해하고 복잡한 문제가 아니다. 이 책에서 말하고 있듯이 사용자가 생각하는 방식을 이해한다면 아주 자연스럽고 창의적으로 높은 사용성과 접근성을 갖춘 좋은 품질의 제품 만들 수 있게 될 것이다.

_M#]

옮긴이 서문

윤성준

얼마 전 국내 유명 사이트가 해킹을 당해 개인정보가 유출된 사건이 있었습니다. 그 소식을 접하고 가입했던 사이트의 패스워드를 모두 바꾸는 것이 좋겠다는 생각이 들었습니다. 이 기회에 아이디와 패스워드를 정리해놓는 것이 좋겠다 싶어 사이트를 하나씩 방문해 패스워드를 바꾸다가 짜증이 치밀었습니다. 각 사이트마다 패스워드에 대한 규칙이 달라서 어느 사이트에서는 패스워드에 특수문자가 포함되어야 하는가 하면 어느 사이트에서는 특수문자를 허용하지 않았습니다. 또 어느 사이트에서는 반드시 숫자를 포함시켜야 했고, 어느 사이트에서는 그런 제한이 없었습니다. 상황이 이렇다 보니 각 사이트마다 패스워드가 달라져 기억할 수 없는 지경에 이르게 되었습니다. 도대체 패스워드에 이런 규칙이 왜 필요한 것일까요? 패스워드에 특수문자를 허용하지 않는 것은 대체 무슨 이유일까요? 사용자가 입력한 패스워드를 확인하느라 소스코드를 복잡하게 할 뿐 아니라 보안을 강화하지도 못하는데 말입니다. 특수문자가 허용되지 않는다는 것은 가능한 패스워드 조합의 수가 그만큼 줄어든다는 뜻이 되니까요. 아마 그런 제한을 두게 한 사람은 보안에 대해 제대로 알지 못하는 상태에서 웹 사이트를 만들었을 가능성이 큽니다.
[#M_ more.. | less.. |사실 이 패스워드 이야기는 잘못된 소프트웨어의 한 예에 지나지 않습니다. 소프트웨어를 사용하면서, 웹 사이트를 이용하면서 답답한 경우를 얼마나 많이 겪어 왔습니까? 그러나 대부분의 일반 사용자는 그런 형편없는 소프트웨어나 웹 사이트를 만든 사람들을 탓하기 보다는 ‘내가 컴퓨터를 잘 몰라서 그럴 거야’하고 생각하며 오히려 기가 죽었습니다. 이 책은 더 이상 그렇게 기죽을 필요 없이 당당하게, 사용자로서 자신의 권리를 찾을 수 있는 방법을 설명합니다. 전반부에서는 소프트웨어, 웹 사이트가 잘못 만들어진 경우와 제대로 만들어진 경우를 비교 설명하며 소프트웨어가 개떡 같은 것은 우리가 뭘 모르기 때문이 아니라 뭘 모르는 사람들이 개떡같이 만들었기 때문이라는 것을 밝힙니다. 그리고 제대로 만들어내라고 당당하게 요구하는 방법을 설명합니다. 이 책의 후반부에서는 그런 소프트웨어나 웹 사이트를 만들어내는 사람들의 특성과 어떻게 하면 그들을 올바른 길로 인도할 수 있을지에 대해 설명합니다.
인터넷을 돌아다니다 우연히 이 책을 발견했을 때, 특이한 제목에 이끌려 바로 책을 구해 읽어보았습니다. 목차를 주르륵 살펴보면서 처음에는 ‘낚였다’고 생각했지만, 책을 읽어가면서 소프트웨어와 소프트웨어 개발자에 대한 저자의 날카롭고도 재기 넘치는 비판에 공감하지 않을 수 없었습니다. 이 책은 소프트웨어 사용성(usability)에 대한 이야기를 비 기술적인 언어로 설명합니다. 사용자 입장에서 바라보는 소프트웨어, 웹 사이트 그리고 보안에 대한 문제점을 설명하면서 가장 중요한 것은 사용자, 즉 사람임을 역설하고 있습니다. 책을 읽다 보면 우리 개발자가 소프트웨어를 만들면서 사용자를 얼마나 고려했는지 반성하게 됩니다. 이 책은 일반 사용자를 위한 것으로 개발자가 배울만한 기술적 내용이 들어있는 것은 아니지만, 개발자 또는 소프트웨어 업계에 몸담고 있는 분들도 모두 읽었으면 좋겠습니다. 일을 하는데 있어 수단(기술)보다 더 중요한 것이 무엇인지를 다시 한 번 생각해볼 수 있는 기회가 될 것입니다. 재미있게 설명하려는 의욕이 앞서 지나치게 과장해 설명한 부분이 없지 않으나 그 정도는 애교로 봐줄 수 있으리라 생각됩니다.
끝으로 이 책의 번역을 맡겨주신 인사이트 한기성 사장님과, 원고를 검토하고 역자가 얼렁뚱땅 넘어가려던 부분을 날카롭게 지적해 좀더 좋은 책이 될 수 있도록 애써주신 김강석 님께 감사드립니다._M#]

.

13 thoughts on “소프트웨어, 누가 이렇게 개떡 같이 만든 거야

  1. 두루

    미병님~~(비굴모드)댓글, 감솨함다~~넙죽OTL,,(뻔뻔모드)주변에도 추천해 주시길…마이 마이…^^

    Reply
  2. Pingback: Extremely Agile

  3. Pingback: 내 성격 100% 활용하기 -上-

  4. Pingback: nedpark's me2DAY

  5. Pingback: They Love Me

  6. Pingback: Web developement

  7. 꺼벙이

    < 번역, 누가 이렇게 개떡같이 한거야>

    독특한 제목에 이끌려 책을 들게 되었지만 엉터리 번역 때문에 읽는 재미가 많이 줄었네요. 원문 비교를 할 수는 없었지만 다음 예를 검토해 보시길.

    p. 21 고가의 독점적 하드웨어와…
    p. 25 그렇다면 왜 이런 기능이 프로그램에 손해를 끼칠까요?
    p. 72 … 그녀의 이빨을 치료하려…
    p. 292 들인 돈보다 적은 양일 겁니다.

    최소한 돈받고 파는 책이라면 번역에도 신경을 써주기 바랍니다.

    Reply
    1. 인사이트

      꺼벙이 님의 이해를 돕기 위해 지적하신 문장의 영문 원본을 아래에 옮겨 놓았습니다. 아무쪼록 이해에 도움이 되길 바랍니다.
      또, 아래 글을 보시고 더 적당한 번역을 제안해 주시면, 역자와 상의해 반영토록 하겠습니다.

      p. 21 고가의 독점적 하드웨어와…
      These people used small, custom-tailored applications that required expensive, proprietary hardware and extensive training and ongoing support and that weren’t useful for any other purpose.

      p. 25 그렇다면 왜 이런 기능이 프로그램에 손해를 끼칠까요?
      I’ve never met or even heard of anybody, and I mean not one single person, who has ever used this feature, not even my contacts on the Office team. So why does it hurt the program to have it?

      p. 72 … 그녀의 이빨을 치료하려…
      (주석3)Former U.S. Supreme Court Justice Sandra Day O’Connor, in her autobiography, Lazy B(Modern Library,2005), describes a cowhand on her family’s ranch doing this to himself. She does not describe him quitting the cowboy business and opening a dental practice.

      p. 292 들인 돈보다 적은 양일 겁니다.
      As with most lawsuits, this one was settled. In 2001, Microsoft paid a few million dollars (a week of two of Jennifer Gate’s allowance, probably less than Sun had spent on legal bills) and agreed to stop using the “J” word.

      Reply
    2. 꺼벙이

      제 글을 보고 긍정적으로 대응해주신데 감사드립니다.
      아래와 같이 수정하면 더 자연스럽게 들릴 것 같네요.

      1. 독점적 하드웨어 -> 전용 하드웨어

      2. “기능이 프로그램에 손해를 끼칠까요?”는 우리 말에서는 무척 어색하게 들립니다. “그렇다면 이 프로그램을 사용하면 왜 피해를 볼까요?”가 어떨까요.

      3. 이빨 -> 이
      ‘이빨’은 ‘이’를 낮게 부르는 말이죠?

      4. 적은 양 -> 적은 액수
      돈의 많고 적음을 ‘양’으로 표현하지 않잖아요.

      그리고 제시한 원문 중 “a week of two of Jennifer Gate’s allowance”는 “a week or two of Jennifer Gates’ allowance” 아닐까요? 그렇다면 번역이 많이 잘못 됐네요. ^^

      이 책에는 어색한 표현이나 문장이 제가 지적한 것 외에도 무척 많습니다. 역자 나름대로 노력을 많이 했겠지만 아쉽군요.

      Reply

댓글 남기기