개발하는 데 얼마나 걸렸나요?

How long did it take?
A reporter asked Steve Jobs, “How many man-years did it take to write Quick Draw?” Steve asked Bill, who said, “Well, I worked on it on and off for four years.” Steve then told the reporter, “Twenty-four man-years”. Steve figured, with ample justification, that one Atkinson year was the equivalent of six ordinary programmer years.

한 기자가 스티브 잡스에게 "Quick Draw 개발에 얼만큼의 man-year가 필요했습니까?" 라고 질문했다.

스티브 잡스가 빌 앳킨슨에게 어땠냐고 물어보니 "글쎄, 4년간 열심히 일하긴 했지"라는 대답이 돌아왔다.

그러자 스티브 잡스가 "24 man-years 입니다." 라고 기자에게 대답했다.

스티브 잡스는 빌 앳킨슨의 1년이 평범한 프로그래머 6명의 1년과 맞먹는다고 생각했던 것이다.

프로그래머 생산성 측정 방법

How do you measure programmer productivity?
When the Lisa team was pushing to finalize their software in 1982, project managers started requiring programmers to submit weekly forms reporting on the number of lines of code they had written. Bill Atkinson thought that was silly. For the week in which he had rewritten QuickDraw’s region calculation routines to be six times faster and 2000 lines shorter, he put “-2000″ on the form. After a few more weeks the managers stopped asking him to fill out the form, and he gladly complied.

1982년, Lisa팀이 소프트웨어를 완성할 무렵의 이야기이다.

프로젝트 관리자들이 프로그래머들에게 일주일간 작성한 코드 라인 수를 주간 보고서에 적어 내라는 지시를 내렸다.

그 지시가 정말 멍청한 생각이라고 여긴 빌 앳킨슨은 일주일간 QuickDraw의 지역 계산 루틴을 6배 빠르게 하고 2000 라인을 줄인 다음, 주간 보고 양식에 "-2000"을 써서 냈다.

몇 주 후 부터 관리자들은 문제의 양식을 작성하라는 요구를 포기했고 그는 상황을 흐뭇하게 받아들였다.

우리는 해커가 아니다!

빌은 몇몇 경우만 빼고는 마라톤 식으로 진행되는 코드 처리에 참여하지 않았고 퀵드로가 그것에 영향을 받게 하지 않았다. 빌은 모든 코드는 가능한 간단하고 명확해야 한다고 믿었고 아마도 그가 옳았겠지만 결국에는 기교를 쓰지 않는 편이 더 좋다고 생각했다. 1983년 9월 롬이 동결되기 바로 전에 빌은 다른 팀원들이 간단하게 수정했던 메모리 매니저에서 버그를 발견했다.

나는 빌과 함께 메모리 매니저 소스를 유지 보수하는 래리 캐년의 자리로 갔다. 빌은 우리가 코드를 조금 추가해 버그를 수정하는 모습을 어깨 너머로 봤다. 그러나 빌은 우리가 꼼수를 사용하는 것을 보더니 그 방법을 반대하면서 화를 냈다.

"이봐, 그건 코드를 짜는 바른 방법이 아니야. 당신들 해커야? 나는 해커들과 일하고 싶지는 않다고."

래리와 나는 바이트와 사이클을 최대한 절약하기보다는 빌이 화내지 않게 하는데 더 신경을 쓰느라 수정 코드를 더 느리고 좀 더 보수적이며 빌이 인정한 기법을 사용하는 것으로 바꾸었다. 그 상황에서 더 느린 방법을 쓴 이유를 나중에 기억할 수 있게 소스코드 설명문에 주석도 달았다. 주석에는 "우리는 해커가 아니다!"라고 적었다.

– 미래를 만든 Geeks, 296쪽.