쉬운 것을 어렵게 설명하느냐, 어려운 것을 쉽게 설명하느냐
아무리 어려운 개념도 쉽게 표현하는 사람이 있습니다.
반면에, 쉬운 개념인데 말을 길게 늘여서 이해하기 어렵게 만드는 사람도 있습니다.
당연한 이야기이지만, 어려운 개념을 쉽게 표현하는 사람에게 좀 더 호의적인 감정을 갖기 마련입니다.
이런 이야기는 설계에서도 통합니다.
같은 기능을 하는 데, 복잡한 구조를 가진 제품이 있는 반면에
어떤 제품은 굉장히 단순한 구조를 가진 제품도 있습니다.
당연히 후자의 제품이 소비자에게 선택을 받는 것은 물론이고, 회사 입장에서
비용이나 리소스를 덜 사용하게 됩니다.
기본적으로 제품이 복잡하다고 하면, 기능 복잡도와 구조 복잡도를 혼용해서 쓰는 경우가 있습니다.
기능 복잡도는 말 그대로 제품이 가져야 할 기능 때문에 발생하는 복잡도입니다.
예를 들어서 손톱깎기가 갖는 복잡도와 자동차가 갖는 복잡도는 차이가 있을 겁니다.
손톱깎기와 자동차는 기본적으로 제품이 갖는 기능이 다르기 때문입니다.
이렇게 차이가 나는 복잡도는 기능 복잡도입니다.
제품이 갖는 기능 복잡도는 제품이 성숙해짐에 따라서 대체로 커집니다. 완숙해서 더 이상 변화될 가능성이
없을 때까지 제품은 기능이 다양해지고, 복잡해집니다. 즉, 기능 복잡도는 증가합니다.
기본적으로 동일 세대, 동일 고객을 대상으로 하는 동일한 제품군 내 제품들이 갖는 기능 복잡도는 거의 동일할 겁니다.
그런데, 구조 복잡도는 다릅니다. 같은 기능을 하더라도 그것을 설계해서 구현하는 결과물은 천차만별일 수밖에 없습니다. 만약 손톱깎기가 손톱을 깎는 기능만 한다고 정해뒀는데, 첫 번째 회사는 기존의 손톱깎기처럼 지렛대의 원리를 이용해서 만든 반면에, 두 번째 회사는 모터를 달아서 손톱 깎는 정도를 정밀 제어해서 자른다고 가정하면 두 번째 회사는 기능 복잡도는 첫 번째 회사와 동일하더라도 구조 복잡도는 더 높을 겁니다.
일반적으로 구조 복잡도는 이렇게 설계 과정에서 결정이 된다고 하여 설계 복잡도라고 합니다.
제품은 고객에게 제공되는 기능과 고객이 지불하는 비용을 통해서 가치를 만들어냅니다.
즉, 같은 비용이라면 고객에게 제공하는 동일한 가치를 제공하기 위한 기능은 동일하고, 기능 복잡도는 동일할 겁니다. 그런데, 여기서 좀 더 복잡한 기능 복잡도 자체를 늘리면 그로 인해서 비용이 증가하게 되고,
고객이 제공받는 가치 대비하여 비용이 크다면 제품이 가질 수 있는 기능 복잡도는 한계가 있습니다.
즉, 제품들이 갖는 기능 복잡도는 같다고 봐도 무방합니다.
그런데, 제품의 가격은 기능 복잡도에 의해서만 결정되지 않습니다. 구조 복잡도로 인해서도 결정이 되는데, 구조 복잡도는 같은 기능 복잡도를 제공하는 거라면 무조건 낮은 게 좋습니다. 구조 복잡도는 비용과 시간에 연결되기 때문입니다.
정리하면,
제품이 고객에게 제공하는 가치는 기능과 비용에 의해서 결정된다.
비용이 동일하다면 동일한 가치를 제공하기 위한 기능은 제품마다 동일해야 한다.
동일한 기능을 가진 제품은 기능 복잡도가 동일하다.
기능 복잡도가 동일할 때 제품의 비용은 구조 복잡도에 의해서 결정된다. 기능은 동일하기 때문이다.
결론적으로 동일한 기능 복잡도를 갖는 제품은 무조건 구조 복잡도가 낮은 것이 좋다.
이상적인 제품은 기능 복잡도가 구조 복잡도와 같은 제품이다.