모듈화 수준

모듈화는 모듈 간, 모듈과 제품 간 독립성을 높이는 과정이다.

by 심야서점

모듈 기반의 제품 아키텍처 정의 과정은 기존 제품의 모듈성을 높이는 활동입니다. 제품 아키텍처를 단순히 인테그럴 아키텍처, 모듈러 아키텍처로 나눴을 때, 인테그럴 아키텍처보다는 좀 더 모듈러 아키텍처에 가깝도록 만드는 것을 의미합니다.

이전에 알아보았던 인터커넥션 수준에 따라서 모듈성이 높은 지 통합성이 높은 지 알아볼 수 있으나, 수치만으로는 모듈성의 수준이나 통합성의 수준을 파악하는 게 직접 와닿지 않습니다.


상대적인 모듈성의 수준을 모듈화 수준으로 파악하여 개선할 목표를 세웁니다.


다음은 일반적으로 모듈화 수준이 높아지는 순서로 정리했습니다. 제품 특성에 따라서는 몇 가지는 순서가 변경될 수 있습니다.


1. 모듈 정의: 제품을 기능 단위로 구분해놓은 수준입니다. 일반적으로는 모듈 구조 정의, 모듈 기반의 제품 아키텍처 정의를 통해서 모듈과 모듈 간의 인터페이스까지 정의된 수준입니다.


2. 인터페이스 표준화: 모듈 간의 인터페이스를 표준화하여 모듈의 변화에 따른 규칙을 정해놓은 수준입니다. 표준 인터페이스를 준수한 모듈의 변화는 파생이 되지 않기 때문에 모듈 간의 독립성이 확보되는 수준입니다.


3. 모듈 단위 설계: 기능 단위로 구분이 된 상태에서 모듈 별로 독립적으로 설계 가능한 수준입니다. 독립적으로 설계가 가능하다면 설계를 담당하는 담당자 또는 조직을 분리할 수 있습니다.


4. 모듈 단위 조립: 모듈 단위 설계를 가능한 수준 다음은 모듈 단위로 조립이 가능한 단계이다. 모듈 단위로 조립이 가능하게 되면, 모듈 별로 조립을 하고, 완성된 모듈들을 가지고 제품을 만들 수 있게 된다.


5. 모듈 단위 구매: 모듈 단위로 조립이 가능하면, 해당 모듈을 자사에서 내작할 필요가 없습니다. 외부 협력업체를 통해서 제작을 맡기거나, 기성품을 구매해서 사용할 수 있겠죠. 물론 기성품인 경우는 다음 단계인 모듈 단위 품질 보증이 가능해야 합니다.


6. 모듈 단위 품질 보증: 구매를 해서 완제품을 만드는 데 사용하더라도, 완제품 상태에서 테스트를 해야 한다면 협력업체 입장에서 모듈 자체를 제품으로 볼 수 없습니다. 해당 모듈을 다양한 사용처에서 사용하게 만들기 위해서는 완제품으로 만든 시점이 아니라 모듈 만으로도 품질 보증이 가능해야 합니다.


7. 모듈 단위 판매 및 서비스: 주문 기반으로 모듈을 제작해서 판매하는 게 아니라, 표준화된 모듈을 판매하고, 해당 모듈 단위로 서비스가 가능한 단계로 이 정도에 이르면 모듈 자체를 하나의 제품으로 볼 수 있습니다. 예를 들어서, CPU, 메모리, 하드디스크 등은 여기에 속한다고 할 수 있습니다.


그렇다면, 모듈성을 무작정 높이는 게 좋은 걸까요?


그것은 모듈화를 통해서 얻고자 하는 목적에 따라서 달라집니다.


설계 관점에서 다양성 대응을 높이기 위함이라면, 모듈 단위 설계 정도만 만족해도 충분할 겁니다. 운영 관점에서 효율성을 높이기 위해서는 그 이상의 모듈화 수준을 요구할 수도 있습니다.


제품 라이프사이클 초기에는 한 회사에서 제품의 모든 부분을 만들었을 겁니다. 그러다가 제품 자체가 복잡해져서 회사 내 한 조직에서 제품을 모든 부분을 만들기 어려워집니다.


그래서, 제품을 몇 개의 모듈로 나누고, 담당자별로 설계를 할 수 있도록 표준 인터페이스를 정의합니다. 모듈 별 담당 조직이 커지고, 모듈 단위로 따로 설계를 할 수 있을 정도로 모듈 간 독립성이 커졌습니다. 생산을 할 때 하나의 라인에서 모두 만드는 것이 아니라, 모듈 별로 별도 라인을 구성하고, 총 조립 라인에서는 모듈 간의 조립으로 완제품을 만들 수 있게 만듭니다.


일부 모듈은 외부 협력업체에 조립을 맡기고, 일부 모듈은 해당 협력업체가 모듈 단위로 품질 보증이 가능할 정도로 전문성이 올라갑니다. 그렇게 품질 보증까지 가능해진 모듈은 기성품처럼 만들어져서 판매가 가능하고, 서비스가 가능해집니다.


모듈성이 높아진다는 건 모듈 간의 독립성이 커짐을 의미하기도 하지만, 모듈과 제품 간의 독립성이 커지고, 모듈을 담당하는 조직과 완제품을 담당하는 조직 간의 독립성이 커짐을 의미합니다.


keyword
이전 13화디커플링 전략