정보/책 리뷰 / / 2019. 3. 21. 09:09

조엘 온 소프트웨어 / 조엘 스폴스키 / 에이콘출판사 / 2005.04.07 [리뷰]

반응형

조엘 온 소프트웨어 - 유쾌한 오프라인 블로그박재호,조엘 스폴스키(Joel Spolsky)
상세보기


책을 읽고나서 제일먼저 실행한 것이 있다면 조엘의 블로그를 방문한 것이다. 많은 이들에게 익히 알려진 유명한블로그였는데 지금에서라도 알게 되어 다행이라고 생각했다. 조엘 스폴스키는 어릴 때부터 컴퓨터와 관련된다양한 경험을 두루 쌓으며 그 토대로 소프트웨어 블로그를 운영해 나갔다고 한다. 뿐만 아니라 이스라엘에서낙하산 병으로 근무한 것, 자전거 타고 미국 대륙을 횡단한 것 등 비 소프트웨어 분야에서도 흥미로운주제를 이끌며 블로그를 채워 나갔다. 그 중 가장 유명한 글이 있다면 ‘조엘 테스트: 12단계의 좋은 코드를 짜는 단계’가 있다. 이 12가지의단계는 이전에 읽었던 <김익환 저, 소프트웨어의 모든것>과 유사한 점이 많았다.

 

  책의 서두는 독자를 흥미로울 수 있는 주제로 시작하였다. ‘러시아 페인트 알고리즘’이란 짤막한 글귀인데 많은 내용이 함축되어있었다. 페인트 작업공은 작업 첫날 300야드의 벽을 페인트 칠하며 사장은일일 수당을 많이 챙겨주었는데 다음날은 150야드밖에, 또다음날은 30야드밖에 못 칠하는 것을 보고 윽박을 질렀지만 페인트공은 이렇게 대답했다. “저도 어쩔 수 없습니다. 매일 페인트 통에서 멀어지니 적게 할수 밖에요.”


  이 짧은 이야기 다음은 짧은 함수를 비교하며 기능 위주의 코딩과성능 위주의 코딩을 비교하는 예가 나왔다. 이 예시들은 기능구현을 앞세워 코딩을 했었던 나에게 해당하는말로 다가왔다. 바로 앞의 보이는 결과를 보고 끝내면 빠르게 끝나기에 일정을 앞당길 수는 있어도 성능측면에서는대단히 불안정할 것이란 말을 나에게 말해주는 것 같았다. 

이러한 것들을 방지, 혹은좋은 소프트웨어를 만들기 위해 조엘이 12가지의 테스트를 예로 들었다.


1.    소스코드 관리 시스템을 이용하고 있는가?

2.    한번에 빌드를 만들어낼 수 있는가?

3.    일일 빌드를 하고 있는가?

4.    버그 추적 시스템을 운영하고 있는가?

5.    코드를 새로 작성하기 전에 버그를 수정했는가?

6.    일정을 업데이트 하고 있는가?

7.    명세서를 작성했는가?

8.    조용한 작업 환경에서 일하고 있는가?

9.    경제적인 범위 내에서 최고 성능의 도구를 사용하고 있는가?

10.  테스터를별도로 두고 있는가?

11.  프로그래머채용 인터뷰 때 코딩 테스트를 하는가?

12.  무작위사용 편의성 테스트를 수행하고 있는가?


  위의 12가지 테스트는 ‘예’, ‘아니오’로 쉽게 대답할 수 있는 것들이며 ‘예’가 될 때마다 1점을 올려 점수를 체크하는 방식이다. 12점 만점에 10점 이하는 심각한 문제가 있다는 의미가 있지만대다수 소프트웨어 회사는 2점이나 3점 수준에서 그친 곳이많다고 하였다. 그런 의미에서 우리 팀은 높은 점수를 받고 있고 좋은 환경에서 일을 하고 있다고 생각이들었다. 이 12가지중에 가장 무시하기 쉬운, 개발자가 넘어가기 쉬운 부분은 7번 ‘명세서를 작성했는가?’부분이라고 저자는 지적하면서 모든 사람이 명세서작업에 동감은 하지만, 솔선수범하여 하려는 사람이 없다고 한다. 프로그래머들은해결책을 문서로 제시하기보다는 코드로 보여주기를 선호는 경향이 있다고 한다. 설계 단계에서 문제를 발견하는것은 코딩의 시간을 몇 배나 줄어들게 하는 효과가 있으며 명세에서 출발한 소프트웨어가 아니면 일반적으로 설계는 형편없으며 일정은 통제를 벗어나기 쉽다고 하며 넷스케이프라는 회사가 대표적으로 망한 케이스로 예를 들어 설명하였다. 마지막 문구가 특히인상 깊었는데 ‘명세 없이는 코드도 없다.’ 라는 문구는개발자로서 깊이 새겨들어야 할 것이다. 

 

  처음에는 블로그의내용을 홍보하며 저자의 블로그를 홍보유도를 위한 책으로 오해 아닌 오해를 하였는데 한 권을 마칠 때 즈음에는 이 책이 무엇을 말하고 싶었는지 명확히 파악이 되었다. 저자는 자신과 같은 개발자의 길을 걷는 동료로서 실무적으로 개발자들이 지켜나가야 할지침들을 전해주어 품질 높은 소프트웨어를 개발할 수 있게 도와주고 싶었던 것이다. 그렇지만 나도 모르게저자의 블로그를 꼭 들어가보고 싶다는 생각도 동시에 들어 저자의 의도치 않은 홍보가 성공하게 되었다. 코딩을하다가 잠시 머리를 식힐 때 블로그에 들어가 조금씩 글을 읽어봐야겠다고 생각 했다.


조엘 온 소프트웨어 - 유쾌한 오프라인 블로그
국내도서
저자 : 박재호,조엘 스폴스키(Joel Spolsky) / 이해영역
출판 : 에이콘출판사 2005.04.07
상세보기



반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유