실패사례로 보는 모듈화 시점 중요성
모듈화를 적용한 다목적 함정이 실패했다는 방송을 봤습니다.
함정을 다양한 작전에 적용할 수 있도록 모듈화를 적용했으나, 작전 시점마다 변형 모듈을 교체하는 데 시간이 적지 않게 들어서 작전 신속성이 떨어진 것이 모듈러 디자인 적용 실패 요인이었다고 합니다.
해당 방송을 듣고, 모듈러 디자인을 적용한 목적은 명확했으나, 모듈화 시점에 대한 이해가 없는 적용이었다는 생각을 했습니다.
모듈러 디자인을 적용함에 있어서 고려해야 하는 항목이 모듈화 시점입니다.
모듈화 시점은 기존 모듈과 신규 모듈을 조합해서 시스템을 만드는 시점을 의미합니다.
총 3가지 모듈화 시점이 있습니다.
기존 모듈과 신규로 설계된 모듈을 조합하여 최종 제품을 설계하고 개발을 한 이후, 완제품을 생산하는 방식입니다. 개발 시점에 모듈화가 적용되는 경우는 완제품의 고객은 해당 제품이 모듈화가 된 것을 모르는 경우가 대부분이고, 보통 해당 시점의 모듈화를 적용하는 회사는 개발 시 플랫폼 공용화, 모듈 공용화 등으로 개발 리소스 절감, 기간 단축 등의 효과를 얻습니다.
"개발 모듈화"로 줄여서 부릅니다.
기 계획된 사양에 따라서 사전에 설계, 개발된 모듈들을 미리 만들어져 있거나, 제품이 생산되는 시점 이전에 만들어져서 제품이 생산될 때는 해당 모듈들을 조합, 조립하여 완제품을 만드는 방식입니다. 보통은 모듈 생산 방식과 형태 상으로 동일하여 생산 시점의 모듈화나 모듈 생산 방식은 동일하게 여깁니다. 여기에 개발 시점의 모듈화까지 적용이 된 상태라면 "생산 모듈화"로 부릅니다.
이미 판매된 제품이 모듈들로 구성되어 있고, 분해가 가능하여 사용자가 손쉽게 자신의 제품을 모듈로 분해하고, 다시 조립하여 원하는 형태의 시스템을 만드는 방식을 의미합니다. 보통 사용 시점의 모듈화가 되기 위해서는 기본적으로는 개발 시점의 모듈화가 선행되는 것이 유리합니다.
자, 여기까지 모듈화 시점에 대해서 알아봤습니다.
모듈화 시점이 다름에 따라서 특성이 있는데, 그것은 모듈러 디자인을 적용하는 데 있어서 중요 고려사항 중 하나입니다.
제품은 그 자체로 사용자에게 가치를 제공할 수 있는 기능을 수행해야 합니다. 이를 위해서 기능을 정의하고, 구현하고 검증하는 단계를 거치게 됩니다. 그런데, 모듈러 디자인 입장에서 보면, 모듈화 시점이 따라서 제품의 완결성과 검증 용이성이 달라지게 됩니다.
일반적으로는 개발 시점의 모듈화 > 생산 시점의 모듈화 > 사용 시점의 모듈화 순으로 제품의 완결성과 검증 용이성이 떨어지게 됩니다. 그것은 개발하고 생산하는 회사에서 어느 시점부터 완제품에 대한 검증을 수행하고 사용자에게 인도하는지에 따라서 달라지게 됩니다.
예를 들어서, 개발 시점의 모듈화를 수행하는 회사는 기획, 설계/개발 단계부터 검증을 수행하게 됩니다. 반면에 생산 시점의 모듈화는 모듈 단위로는 그전부터 검증이 가능할지 모르겠으나, 완제품 기준으로는 생산이 완료된 이후에나 검증을 수행할 수 있게 됩니다. 사용 시점의 모듈화는 사용자에게 어떻게 사용되는지에 따라서 검증을 판매 이전에 모두 수행하지 않으면 검증하지 못하는 경우도 발생할 수 있습니다.
사용자가 원하는 목적에 따라서 유연하게 활용함에 있어서는 앞선 경우와 반대로 사용 시점의 모듈화 > 생산 시점의 모듈화 > 개발 시점의 모듈화 순으로 그 수준이 떨어지게 됩니다. 사용 시점의 모듈화는 물론, 판매 회사가 정해놓은 틀 안에서 조합해서 사용하기 때문에 유연성이 제한되지만, 주어진 제품 내에서는 사용자가 가장 자유롭게 사용할 수 있는 모듈화 시점입니다. 반면에 생산 시점의 모듈화는 고객이 주문을 하는 순간부터 자유도는 떨어지게 되고, 개발 시점의 모듈화는 고객이 아예 모르거나, 제공한 주문 사양에 따라서 정해지게 됩니다.
결과적으로 자신이 만들고자 하는 시스템이 어떤 특성을 갖길 원하는 데, 그것을 위해서 모듈러 디자인을 적용하기로 결정했다면 모듈화 시점도 고려해야 합니다.
앞선 함정의 사례처럼 운영 시점의 모듈화를 원했다면 그에 맞는 적용 용이성을 고려하여 모듈을 정의하고, 설계/개발을 했어야 할 것이고, 그 결과는 빠르게 적용할 수 있게 만들어야 하고 이미 검증이 되었어야 합니다. 그렇지 않다면, 오히려 개발 시점, 생산 시점의 모듈화를 적용하여 시스템 단위에서 이점을 얻는 것이 바람직했을 겁니다.
가장 아쉬운 것은 모듈러 디자인을 적용한 것을 실패한 것이 아니라, 작전 신속성이 중요 팩터 중 하나였다면, 여기까지 고려하여 모듈러 디자인을 적용했어야 한다는 것입니다.