Joel On Software 3. 조엘 따라하기

jiffydev·2021년 8월 12일
0

Joel On Software

목록 보기
3/3

베테랑 소프트웨어 개발자인 조엘 스폴스키의 블로그의 글을 정리한 '조엘 온 소프트웨어, 유쾌한 오프라인 블로그'를 읽고 내용 & 개인적으로 느낀점들을 정리해 본 포스트입니다.

1. 자기 개밥 먹기

개발을 하다 보면 분명 요구사항에 맞게 잘 구현했고, 테스트 했을 때도 문제없이 통과되었음에도 릴리즈해서 실제 사용자가 사용했을 때 온갖 버그들이 튀어나오는 것을 경험해본 적이 있을 것이다.

이럴 때 필요한 것이 자기 개밥 먹기이다.
이는 자기 회사 제품을 실제로 사용해 보는 과정을 가리키는 것으로, 개발자의 입장이 아닌
사용자의 입장에서 제품을 실행해 버그를 찾아내는 일이다.

개발자가 소프트웨어를 사용해 봐야 무엇이 불편한지 알 수 있고, 어떻게 고치면 좋을지도 떠올릴 수 있게 된다.

2. 세상에 쉬운 일은 없습니다

예전에 맡았던 일 중에, 굉장히 간단해 보이는 일이 있었다.
하루면 되리라 생각했던 일이었는데 막상 구현을 시작해보니 온갖 예외상황을 다 고려해야 해서 예상했던 시간의 몇 배는 걸려 끝냈던 경험이 있다.

별거 없으리라 생각하고 고민 없이 구현에 들어간 것이 패착이었다.
이처럼 설계 없이 구현을 하게 되면 언젠가 함정에 빠지게 된다.
코드는 설계 문서처럼 쉽게 수정할 수 없기에 신중해야 한다.

3. Let Me Go Back!

내가 근무하는 회사에서 만드는 서비스는 아직 미개척 분야이다.
그래서 경쟁사들도 압도적 점유율을 가진 회사는 없는 듯하다.
하지만 언젠가 시장이 더 커지고 참전하는 기업도 늘어나면, 경쟁사에서 고객을 빼오기 위해 분투해야 할지도 모른다.

경쟁사에서 고객이 등을 돌리게 하기란 쉽지 않다.
이미 매몰이 많이 된 고객은 계속 있을 것이고, 아직 매몰비용이 크지 않은 고객도
전환할 때의 걸림돌을 보고 포기할 수도 있다.

마이크로소프트에서는 사용자들이 로터스123에서 엑셀로 전환할 때의 어려움을 분석하여 모든 항목에 대한 해결책을 마련했다.
이를 통해 조금씩 시장을 잠식하였고, 지금은 스프레드 시트하면 엑셀을 떠올릴 정도로 독점적 지위를 차지하게 되었다.

전환 시의 어려움을 해결하는 한편으로, 되돌아가기 쉬운가도 중요하다.
얼핏 듣기에 오히려 고객을 lock-in해서 되돌아갈 수 없게 만들어야 하지 않겠냐고 생각할 수 있다.
하지만 새 제품을 시도함에 있어 원래 쓰던 제품으로 돌아갈 수 없게 만든다는 것은
시도할 생각 자체를 없애버리는 진입장벽이 될 수 있다.

기존 고객이라면 감금효과가 필요하겠지만, 잠재 고객에게까지 이를 강요하면 안된다.

4. 오픈소스 경제학

얼마 전에 알게 되었던 것인데, 오픈소스에도 풀타임 개발자가 있다.
오픈소스는 돈을 내고 쓰는 경우가 많지 않은데, 그럼 월급은 누가 주나 싶지만
기부금을 받아 충당할 수도 있고, 가끔은 기업이 오픈소스 프로젝트를 후원하기도 한다.

조엘에 따르면 기업이 오픈소스 프로젝트를 후원하는 것은 선한 동기따위가 있어서 그런 것이 아닌,
오직 경제적으로 오픈소스가 자기 회사에 이익이 되기 때문이라고 한다.
그리고 어떻게 이익이 되는지를 경제학의 보완재 개념으로 설명한다.

일반적으로 보완재의 가격이 하락하면 제품의 수요는 상승한다.
오픈소스가 보완재가 되고 널리 사용되면 그만큼 관련 회사 제품의 수요는 상승하고,
이에 따라 제품 가격이 올라간다.
결국 회사는 자신의 제품을 높은 가격에 팔기 위해 오픈소스를 후원한다고 할 수 있다.

5. 마이크로소프트가 API 전쟁에 진 이유

요즘은 좀 덜하지만 문서를 작성한다면 워드(한글과 컴퓨터는 논외로 하자..), 스프레드 시트는 엑셀이 정석이었다.
그만큼 마이크로소프트의 제품이 독점하다시피 시장을 장악하고 있었고, 이에 따라 자연스럽게 윈도우API에 묶일 수밖에 없는 사용자도 많았다.

하지만 시대가 변했고, 마이크로소프트도 변했다.
마이크로소프트가 한창 성장하던 90년대처럼, 컴퓨터가 대량으로 보급되던 시기는 지났기 때문에 마이크로소프트의 제품을 사는 주기도 길어졌다.

또한 이전의 마이크로소프트는 호환성을 크게 신경썼으나, 이제는 그것이 하나의 장벽이 되었고
소프트웨어를 제작함에 있어 장애물로 변하게 되었다.
이로 인해 소프트웨어 개발자들이 웹 개발로 눈을 돌리게 되었다.

생각해보면 요즘에는 새로운 소프트웨어는 많이 보이지 않고 웹 위주로 제품이 출시되고 있는 것을 보면서 조엘의 글이 실감이 난다.

대신 마이크로소프트도 손을 놓고 있지만은 않았던 것이, 현재는 클라우드의 비중이 더 커지고 있고 수익도 클라우드 부문에서 충분히 나고 있다.
API 전쟁에서는 졌을 수도 있지만, 클라우드에서 다시 살 길을 찾은 것이다.

최근 행보를 보면 온갖 곳을 인수하면서 확장하고 있는데다가, WSL로 리눅스 진영도 포섭하려고 하니 (성능은 아직 완벽하진 않지만..) 미래는 오히려 밝지 않나 생각한다.

profile
잘 & 열심히 살고싶은 개발자

0개의 댓글