인터페이스 강도 개선을 통한 설계 최적화
모듈러 디자인을 전면적으로 도입하지 않더라도, 설계 최적화를 하는 수단으로 모듈러 디자인은 좋은 설계 규칙이자 설계 개선 방안입니다. 어떤 이는 모듈러 디자인을 도입하면 경영 상 극적인 변화가 있을 것으로 기대를 하지만, 필자가 자주 말하는 것처럼 전사의 밸류 체인에 대한 체질 개선한다는 측면에서 모듈러 디자인을 경영 혁신의 툴로 활용했을 경우에 해당하는 말이고, 실제로 설계 개선 또는 설계 최적화에 국한하여 생각한다면 그렇게 거창한 효과를 기대하기 어렵습니다.
그것 또한 모듈러 오퍼레이팅, 모듈 기반의 운영 체계를 구축했을 때나 기대해 볼 만한 구호입니다.
오늘 글에서는 모듈러 디자인, 모듈화를 통해서 설계 최적화를 어떻게 수행할 수 있을지 알아보겠습니다. 제품의 구성요소인 기구, 회로, 소프트웨어 관계없이 적용할 수 있는 것이므로 구체적인 적용 방안은 고민해 보시길 바랍니다.
가장 먼저 해야 할 일은 당연하게도 현재 제품의 구조를 분석하는 일입니다.
방법론의 전체 사이클에서는 기능 분석부터 진행하는 것을 권장하지만, 본 글에서는 기능 분석을 포함한 상위 설계는 크게 바뀌지 않는다고 가정을 하겠습니다.
현재 BOM (Bill of Materials)을 가지고 제품의 구조를 파악합니다. 모듈로 재정의를 하고자 하는 레벨과 모듈의 구성요소가 될 레벨을 정해야 합니다. 만약 BOM 구조 상 모듈로 재정의하고 싶은 레벨이 Level 3이면, 모듈의 구성요소는 Level 4가 되겠죠.
기본적으로 기구, 회로, 소프트웨어는 각각 다른 시스템으로 작업을 해야 하고, 모듈의 구성요소가 100개 미만으로 최적화 범위를 잡습니다. 만약 최적화를 진행하고 싶은 레벨의 구성요소가 1000개면 먼저 10개의 큰 덩어리로 묶어 놔야겠죠. 만약 10개의 큰 덩어리를 어떻게 묶는지 모르겠다면, 그 상위 레벨부터 최적화를 진행해야 할 겁니다. 즉, 10개의 덩어리를 묶는 작업부터 진행해야겠죠.
100개 미만의 모듈의 예비 구성요소를 가지고 작업을 한다면, 100개에 대한 연결 관계, 인터페이스 강도를 측정을 합니다. (관련한 내용은 제 책인 모듈러 디자인에 나와있으니 참고하시고 여기서는 간략하게 설명하겠습니다.) 이를 위해서는 인터페이스 타입, 타입별 가중치, 타입별 강도 기준을 사전에 정의해야 합니다. 어쨌든, 수치가 강하면 구성요소 간의 연결 관계가 크고, 밀접한 연관이 있다는 것을 의미하고, 수치가 작으면 구성요소 간의 연결 관계가 작고, 연관이 작다는 것을 의미합니다.
연관관계를 수치화한 후에 매트릭스 형태로 표현하면 위와 같은 그림이 나올 겁니다.
이런 매트릭스는 제품 아키텍처를 표현하는 방법 중 하나로 디자인 스트럭처 매트릭스 (Design Structure Matrix)라고 합니다. 이후에 현재 100개의 구성요소를 묶어놓은 상위 요소 간의 관계를 아래와 같이 다이어그램으로 표현합니다. 여기서 원래 상위에 있는 구성요소를 모듈이라고 지칭하고, 이것을 최적화하여 재정의하는 작업을 진행하겠습니다.
박스 안에 있는 숫자는 현재 모듈이라고 묶여있는 구성요소 간의 연관관계를 수치화한 값, 화살표 위의 숫자는 모듈 간의 연관관계를 수치화한 값입니다. 모듈화는 모듈 내 응집성은 높이고, 모듈 간 의존성은 낮추는 과정을 의미합니다. 모듈 내 숫자가 높은 것은 모듈 내 응집성이 높은 것을 의미하고, 반대로 화살표 위의 숫자가 높은 것은 모듈 간 의존성이 높은 것을 의미하죠.
그래서, 첫 번째 최적화 작업은 화살표 위 숫자를 낮추는 작업입니다. 높은 값을 찾아서, 다음 3가지 작업들을 순차적으로 검토합니다.
불필요한 인터페이스를 제거할 수 있는가?
인터페이스 강도를 줄일 수 있는가? (예) 용접 → 볼트)
모듈 간 구성요소를 이동시킬 수 있는가?
모듈을 결합, 분할할 수 있는가?
인터페이스를 표준화할 수 있는가?
위 작업을 순서대로 진행을 하여 개선을 합니다. 그래서 최대한 모듈 간 인터페이스를 줄이는 식으로 모듈을 재정의할 수 있겠죠.
이 작업을 반복하여 작업을 하면서 다음 사항을 고려해야 합니다.
필수 동작 실행이나 성능을 위해서 반드시 필요한 인터페이스는 제거해서는 안 된다.
인터페이스 강도를 줄이면 제품의 완결성이 떨어지므로, 제품 경쟁력이 떨어지는 방향으로 개선해선 안된다.
특정 모듈의 크기가 과도하게 크거나, 작은 경우가 발생해서는 안 된다.
모듈의 개수가 증가하면 표준화할 인터페이스의 수가 늘어나므로 적정 모듈 수를 유지해야 한다.
모듈의 개수가 감소하면 설계의 유연성이 떨어지므로 적정 모듈 수를 유지해야 한다.
이번 글에서는 인터페이스 강도를 가지고 제품 구조를 최적화하는 작업을 알아봤습니다. 이후 글에서는 다른 기준 (고정/변동, 사양 요인, 비사양 요인)으로 제품 구조를 최적화하는 작업을 알아보겠습니다.