노트

4인치 반사경 먼저 (톰슨의 법칙)

Thompson's Rule for First-Time Telescope Makers

개발 문화#learning · 연결된 개념 5개

쉽게 말하면

톰슨의 법칙은 처음 가구를 짤 때 큰 옷장부터 덤비기보다 작은 협탁을 먼저 만들어 보는 편이 둘 다 끝내는 데도 더 빠르다는 말이에요. 작은 걸 만들며 익힌 요령이 큰 일을 쉽게 해 줘요.

비유가 깨지는 곳 작은 걸 먼저 한다는 게 큰 걸 미루자는 뜻은 아니에요. 4인치 다음 6인치처럼 결국 둘 다 만들되, 먼저 쌓인 기술과 경험이 복리로 돌아와 가파른 학습 곡선을 낮은 언덕으로 바꿔요.

4인치 반사경을 만든 다음 6인치 반사경을 만드는 것이, 6인치 반사경 하나를 만드는 것보다 빠르다.

아마추어 망원경 제작의 전설로 꼽히는 앨린 톰슨(Allyn Thompson)의 이름이 붙은 '처음 망원경을 만드는 사람을 위한 톰슨의 법칙'으로, 존 벤틀리(Jon Bentley)가 전산학 격언을 모은 칼럼 "Bumper-Sticker Computer Science"(1985)에 빌 매키먼(Bill McKeeman)이 전한 말로 실려 알려졌다. 김창준은 이를 "더 많은 일을 하면서 더 빨리 하기"로 소개한다.

왜 더 빠른가

  • 작은 것은 금방 만들 수 있다
  • 만들고 나면 내가 더 똑똑해진다. 기술과 경험이 쌓이고, 그 투자가 다음 일에 복리로 돌아온다 → A·B·C 작업과 복리로 자라기
  • 처음부터 크고 어려운 일을 하면 학습 곡선(Learning Curve)이 가파르다. 작은 것을 먼저 하면 그 곡선이 낮은 언덕이 된다 → 몰입 영역과 난이도 조절

개발에서의 예

  • 다루기 쉬운 언어로 먼저 풀고, 그 코드를 목표 언어로 옮긴다
  • 프로토타입(Prototype)을 먼저 만든다. 벤틀리의 같은 글에는 "동작하는 프로그램을 다른 언어로 옮기는 데는 원래 개발 비용의 10% 정도가 든다"는 격언도 있다
  • 복잡한 시스템을 처음부터 설계하지 말고 작게 동작하는 것에서 키운다 → 골의 법칙

순서 바꾸기

같은 원리의 변형으로 "순서만 바꿔도 같은 일이 쉬워진다"가 있다. 조직 변화라면 저항이 가장 센 사람이 아니라 변화를 원하는 사람과 먼저 시작한다(push 대신 pull). 어려운 책은 재미있는 부분부터 골라 읽으면 건너뛴 부분이 나중에 쉬워진다.

출처: Programming Pearls: Bumper-Sticker Computer Science Jon Bentley, Communications of the ACM 28(9), 1985 · 「더 많은 일을 하면서 더 빨리 하기」 김창준, 애자일 이야기 블로그(2006, 웹 아카이브)

연결된 개념

이 노트를 가리키는 문서

뜻이 가까운 노트

  • 소프트웨어 공학의 법칙들

    소프트웨어 시스템과 팀, 의사결정에 반복해서 나타나는 경험칙들을 모아 부르는 말. 법칙이라고 부르지만 대부분 증명된 정리가 아니라 관찰과 격언이다. 판단할 때 떠올릴 이름표로 쓴다. 따로 노트를 둔 것은 링크로, 나머지는 한 줄로 적었다.

  • 섣부른 최적화

    "섣부른 최적화는 모든 악의 근원이다." 도널드 크누스(Donald Knuth)가 1974년 글 「Structured Programming with go to Statements」에서 쓴 말이다. 원문의 맥락은 작은 효율은 대부분(약 97%)의 경우 잊으라는 것이고, 정말 중요한 3%는 놓치지 말라는 말이 이어진다.

  • DRY 원칙

    "모든 지식은 시스템 안에서 단일하고 명확하며 권위 있는 표현을 하나만 가져야 한다." 앤디 헌트와 데이브 토머스가 『실용주의 프로그래머』에서 정리한 원칙이다. 코드 줄의 반복만이 아니라 규칙·데이터·지식의 중복을 말한다.

  • 언어적 안티패턴

    이름, 타입, 주석이 말하는 것과 코드가 실제로 하는 일이 어긋나는 것. 읽는 사람을 잘못된 추측으로 이끈다.

  • 구성요소 줄이기

    셀 수 있는 모든 구성요소(파일, 폴더 깊이, 클래스, 함수, 분기, 변수, 테이블, 필드, 테스트 케이스…)는 비용이라는 관점. 심플 디자인의 네 번째 규칙을 실무 기준으로 풀어낸 것이다.

보기 옵션