(데이빗 포그 칼럼) 오늘날 모든 이가 베타테스터인 이유
2014년 11월 13일  |  By:   |  IT  |  2 Comments

몇년 전 나는 콜럼비아 경영대학원에서 “대박과 쪽박을 가르는 요인들”이라는 제목의 수업을 한 적이 있습니다. 지난 25년간 최신제품의 리뷰를 써온 전문가로서 나는 이상적 기업가가 되기를 바라는 젊은이들에게 나의 지혜를 전달하려 했습니다.

나는 블랙베리의 첫번째 터치폰인 스톰에 대해 이야기했습니다. 블랙베리는 2008년 연말시즌을 놓칠 수 없었기에 황당한 버그들을 둔 채로 제품을 내놓았습니다. 그리고 끝이었지요.

“고객을 베타테스터로 생각해서는 안됩니다.” 나는 이렇게 결론지었습니다.
“처음부터 제대로된 프로그램을 내놓아야 합니다. 나쁜 첫 인상을 바로잡는 것은 매우 어렵습니다.”

스스로 고개를 끄덕이며 내 이야기에 만족하고 있던 그 때, 나는 서너명이 손을 드는 것을 보게 되었습니다. 그들은 지난 여름 소프트웨어 회사에서 인턴으로 일했던 학생들이었습니다.

“하지만 소프트웨어에 완성이라는게 있을까요?” 그 여학생은 주장했습니다. “충분히 쓸만하다면 출시해야죠. 업데이트는 언제든지 할 수 있잖아요.”

나는 놀랐습니다. “그럼 버그가 있다는 것을 아는 상태로 물건을 팔아야 하나요?”

이 순간, 모든 학생들은 나를 놀란 눈으로 쳐다보았습니다. “포그 교수님, 모든 회사들이 버그가 있다는 것을 알면서도 소프트웨어에를 내놓아요. 1.0 버젼에는 큰 버그들만 고치고 일단 다음 업데이트를 내놓을 매출을 만들어야죠. 제품을 다듬는 것은 그 다음 일이에요.”

정말일까요? 나는 생각했습니다.

집으로 돌아오는 기차에서 나는 그들이 적어도 한 가지 점에서는 옳다는 것을 깨달았습니다. 소프트웨어의 버그는 단순히 우연한 불운이 아닙니다. 오늘날 버그를 가진 소프트웨어를 내는 것은 하나의 원칙이 되었습니다. 기술회사들은 고객들에게 돈을 받으면서 동시에 그들을 베타 테스터로 활용하고 있습니다.

이 현상은 단순히 버그에만 한정된 것이 아닙니다. 오늘날 소프트웨어 디자이너들은 소프트웨어의 가장 기본적인 요소들 조차 다른 사람들의 의견을 바탕으로 만들고 있습니다. 어떤 기능을 넣고 어떻게 그것이 작동하는지 조차도 말이지요.

분명히 하지요. 나는 크라우드소싱의 열렬한 팬입니다. 언제나 대중의 지혜는 소수 프로그래머의 그것을 이겨왔습니다. 사람들로 하여금 프로그램 출시 전에 사용해보게 하는 것은 서로에게 모두 좋은 일입니다. 얼리어답터들은 새로운 제품을 먼저 사용해볼 수 있고, 자신의 의견을 반영시킬 수 있습니다. 회사는 오류를 찾아낼 수많은 실험용 쥐를 공짜로 얻게 됩니다.

마이크로소프트가 새 제품이 완성되기 몇 달 전에 그것을 공개하는 이유는 이 때문입니다. 올해는 애플의 OS 요세미티도 이 대열에 합류했습니다. 구글 역시 자신의 제품에 “베타”라는 이름을 오랫동안 붙이고 있는 것으로 유명합니다. (구글 독은 3년 동안, 지메일은 5년 동안 베타라는 이름을 달고 있었습니다.)

그러나 이런 제품들은 적어도 무료이고 “베타”라고 써 있습니다. 문제는 회사들이 고객들에게 자신의 제품이 완성되지 않았다는 사실을 알리지 않고 그것을 파는 경우입니다.

우리가 소프트웨어의 버그에 민감한 이유 중 적어도 일부는 우리가 소프트웨어는 완성될 수 있다는 생각을 가지고 있기 때문입니다. 소프트웨어는 버젼 번호를 달고 포장되어 도착합니다. 우리는 이 제품을 하나의 완성된 제품으로 여깁니다.

그러나 오늘날 소프트웨어는 살아있고 꾸준히 진화합니다. 누구도 스마트폰의 앱이 업데이트 되는 것에 신경을 기울이지 않습니다. 사실 웹사이트도 하나의 끊임없이 변화하는 소프트웨어입니다.

어도비(Adobe)가 자신의 포토샵 제품에 버젼번호를 붙이기를 멈춘 이유도 그런 것일겁니다. 이제 포토샵은 하나의 제품을 구입하는 것이 아니라 연중 업데이트가 끊이지 않는 제품을 가입하여 사용하게 되었습니다.

이제 우리는 프로그램들도 마찬가지로 생각해야 할지 모릅니다. 어도비가 한 것처럼, 완성된 버젼이라는 개념을 버려야 할 듯 합니다.

그렇다고 해서 버그에 대해 짜증이 멈추지는 않겠지요. 적어도 소프트웨어의 본질에 대해서는 이해할 수 있게 될 겁니다. 곧, 소프트웨어에는 완성이라는 개념이 없다는 것을요.

(사이언티픽 아메리칸)

원문 보기