파레토 법칙과 소프트웨어 개발

얼마 전에 Journal of Economic Perspectives에 실린 Xavier Gabaix라는 교수의 Power Laws in Economics: An Introduction라는 논문을 재미삼아 읽었던 적이 있었다. Power Law에 대해서야 원래 모르던건 아니었지만, 어쨌든 아주 이 주제에 대해서 흥미롭게 잘 쓴 글이었다. 대략 찾아본 바로는 Gabaix 교수의 커리어 자체가 CEO의 월급처럼 어떻게 극소수의 사람이 대부분의 리소스를 차지하는지, 어떻게 그런 구조가 발생하는지에 대해서 연구하는 것이었던 것 같다.

Power Law의 마땅한 한글 번역이 있는지 찾아봤는데 못 찾겠고, 제일 가까운 개념은 파레토 법칙이 아닐까 싶다. 20:80 또는 80:20 법칙으로도 불리기도 하고. 아래 위키들 참조.
한글 위키: 파레토 법칙
나무 위키: 20퍼센트의 법칙
영문 위키: Pareto Principle

아무튼 Gabaix 교수의 논문은 흥미로운 일화로 시작한다.

어떤 물리학자가 폴 사뮤엘슨에게 물었다.
“자명하지 않으면서도 사실인 경제학 법칙에는 무엇이 있습니까?”
여기에 사뮤엘슨은 “비교우위의 법칙”이라고 대답했다는데,
현대에 사는 나라면 “Power Law”라고 대답하겠다.

그만큼 80:20 법칙이 많은 곳에서 관측되기도 하고, 또 이론적으로도 왜 그런 현상이 발생하는지 이제는 잘 이해되고 있다는 얘기의 논문이었다. 글 잘 써서 부럽다…

이게 소프트웨어 개발에서도 마찬가지여서 20%의 기능이 80%의 니즈를 만족시키기 때문에 그 20%의 개선에 집중을 하는게 중요하다고 생각한다. 그런데 때로는 별로 쓰이지도 않을 것 같은 기능을 완벽하게 만들라는 요구가 들어오면 정말 깝깝하긴 하다. 다만, 내가 생각하는 유저의 니즈와 팀 리더가 생각하는 유저의 니즈가 다를 수 있다. 사실 팀 리더는 잠재 고객들도 많이 만나고 다니니까. 그래도 진짜 자잘한 항목 가지고 너무 물고 늘어지면 정말 힘들긴 하다.