모듈화 이후에 지속적으로 단순화, 표준화를 해야 하는 이유
우선 모듈화 전에 단순화, 표준화해야 하는 활동도 있지만, 어떤 식으로든 모듈화를 했다고 가정하고 이후에 단순화, 표준화를 해야 하는 대상과 이유에 대해서 다뤄보도록 하겠습니다.
많은 경우 모듈화를 한 이후에 더 이상 해야 할 활동이 없다고 생각하는 경우가 많습니다. 그것에 대해서는 저는 모듈화는 단지 기준을 잡았을 뿐 그다음 수행해야 하는 활동이 핵심이라고 말해왔습니다.
대표적인 활동이 단순화, 표준화인데, 대상은 예상한 것과 같이 모듈과 인터페이스입니다. 모듈 단순화, 모듈 표준화, 인터페이스 단순화, 인터페이스 표준화 활동을 수행해야만 모듈화 한 의미가 있고, 모듈화가 실질적인 효과를 낼 수 있습니다.
제품을 A 모듈, B 모듈 2가지 모듈로 모듈화를 했다고 가정하겠습니다. 그리고, 각각 3종의 Variety를 갖는다고 가정하면, 모듈화 이후에는 다음과 같은 모습이 될 겁니다.
모듈의 종수는 A, B 모듈 합쳐서 6종이고, 이와 같은 구조에서 대응 가능한 모델 수는 3종입니다.
A 모듈의 종수: 3종
B 모듈의 종수: 3종
대응 가능한 모델 수: 3종
인터페이스 종류: 3종
여기서 A 모듈의 A1, A2 두 종이 동일한 사양을 대응하고 있다고 가정하겠습니다. 그렇다면, 그중 한 모듈을 단종을 시켜야 합니다. 여기서는 A1을 모듈 단순화 작업이 진행됩니다. 이후에는 A1에 대응하는 B 모듈인 B1이 만약 다른 모듈과 동일한 사양을 가지고 있다고 같이 모듈 단순화 작업을 진행해야 합니다.
만약 다른 사양이라면 A2과 조합이 가능하도록 재설계를 해줘야 합니다. 다른 말로 인터페이스를 단순화해줘야 합니다. 결론적으로는 다음과 같은 모습이 됩니다.
모듈 종수는 A, B 모듈 합쳐서 5종이 되고, 대응하는 모델 수는 3종입니다.
A 모듈의 종수: 2종
B 모듈의 종수: 3종
대응 가능한 모델 수: 3종
인터페이스 종류: 2종
결과적으로 보면 모듈의 종류는 1종이 줄었는데, 대응하는 모델 수는 동일합니다.
보유하고 있는 모듈로 대응 가능한 모듈 수 즉, 효율이 높아졌습니다.
여기서 한 가지 작업을 더 해줍니다.
A 모듈과 B 모듈과 연결하는 인터페이스를 표준화해 보겠습니다. 어떻게 변할까요?
A 모듈, B 모듈이 사양에 따라서 적정한 종수가 있다고 가정하면, A 모듈과 B 모듈의 연결 관계인 인터페이스를 단순화합니다. 단순화하기 위해서 A3을 A31로, B3을 B31로 재설계했습니다.
이렇게 1종으로 인터페이스 단순화를 하면, 보유하고 있는 모듈로 대응 가능한 모듈 수 즉, 효율이 급격히 올라갑니다. 이전에는 5종의 모듈로 3종의 모델을 대응할 수 있었는데, 동일한 종수의 모듈로 2배의 모델을 대응할 수 있게 되는 거죠.
A 모듈의 종수: 2종
B 모듈의 종수: 3종
대응 가능한 모델 수: 6종
인터페이스 종류: 1종
이 상태를 유지하면서 많은 모델을 대응하기 위해서는 A 모듈과 B 모듈 간의 인터페이스를 표준화해야 합니다. 그리고, A 모듈과 B 모듈의 종류를 사양별로 표준화해야 합니다.
전자를 표준 인터페이스, 후자를 표준 모듈이라고 부릅니다.
표준 모듈과 표준 인터페이스를 관리하는 것은 결국 효율을 높이기 위함입니다. 최대한 모듈의 종류를 줄이는 것, 최대한 인터페이스의 종류를 줄이는 것도 결국 효율을 높이기 위함입니다.
한 단계 더 진행해 보겠습니다.
새로운 사양이 추가되면서 B 모듈이 새롭게 개발되었다고 가정해 보죠.
A 모듈의 종수: 2종
B 모듈의 종수: 4종
대응 가능한 모델 수: 8종
인터페이스 종류: 1종
우선 정보를 살펴보면 B 모듈 B4 1종이 증가했는데, 대응 가능한 모델 수는 총 8종, 기존보다 2종이 늘어났죠. 여기서 합이 곱의 증가로 연결되는 효과는 결국 인터페이스 표준화 때문에 가능해집니다.
보통 제가 모듈화에서 말하는 건 모듈 간의 독립성을 확보하기 위해서 인터페이스 표준화해야 한다고 말하지만, 그보다 큰 이유는 조합의 효과를 온전히 받을 수 있는 핵심이 인터페이스 표준화이기 때문입니다.
자, 정리해 보겠습니다. 모듈화를 한 이후부터 해야 할 작업은 우선 모듈별로 중복되는 모듈이 없는지 최대한 단순화해야 합니다. 단순히 모듈을 절감하면 비용을 줄일 수 있기 때문은 아닙니다. 모듈을 줄여야만 인터페이스 단순화와 표준화가 용이해져서 효율을 높일 수 있기 때문입니다.
그래서, 우선 모듈화 했다고, 나눴다고 하여 손 놓고 있는 것이 어리석은 행동입니다. 줄일 수 있는 건 최대한 줄이고, 조합의 효과를 얻을 수 있도록 모듈 간 인터페이스를 표준화해야 합니다.
모듈화는 끝이 아니고, 시작입니다.