소프트웨어가 압도할 시스템의 미래

소프트웨어 모듈러 디자인

by 심야서점
제목을 입력해주세요_-001 (67).png


시스템에서 차지하는 소프트웨어 비중이 커지다 못해서, 시스템을 압도할 수준이 되면 어떤 변화가 있을까요?

기본적으로 과거에는 소프트웨어는 시스템을 구성하는 구성요소, 하나의 모듈, 하나의 툴로 존재했습니다.


시스템의 기능 변화에 따라서 모듈에 불과한 소프트웨어는 자신을 변화시켜야만 합니다.

얼마나 유연하게 변화하느냐가 소프트웨어를 제대로 만들었는지를 평가합니다.


반면에, 현재는 소프트웨어 외의 시스템은 소프트웨어의 기능을 구현하는 툴이자 모듈이 됩니다.

소프트웨어가 결정짓는 가치맵에 따라서 시스템은 따르는 툴이 됩니다.


이러한 변화 하에서 시스템의 경쟁력은 소프트웨어의 기능을 얼마나 제대로 발현하는지,

소프트웨어의 변화에 따라서 자신을 얼마나 유연하게 변화시킬 수 있는지에 따라 바뀌게 됩니다.


서로 위치가 뒤바뀌게 되는 거죠.


자, 과거에는 "시스템의 모듈 중 하나로 존재했던 소프트웨어"가 "시스템을 하나의 툴로 활용하는 소프트웨어"로 바뀌게 되면 어떤 변화가 있을까요?


먼저 플랫폼 기획, 제품군 기획, 제품 기획이라는 개념부터 바뀌어야 합니다.

과거에는 시스템 중심으로 플랫폼, 제품군, 제품 기획을 수립했습니다.


이제는 소프트웨어가 시스템과 독립적으로 로드맵을 수립하고, 라이프사이클 관리를 해야 합니다.

소프트웨어 라이프사이클 하에 시스템이 수행할 수 있는 자신의 역할을 로드맵에 담아야 합니다.


소프트웨어 로드맵이 먼저이고, 그다음이 시스템 로드맵이 만들어져야 합니다.


두 번째, 소프트웨어는 자신을 플랫폼으로 에코시스템을 만들 수 있습니다. 그것은 자신이 활용하는 툴인 시스템만을 포함하는 것이 아니고, 시스템, 서브시스템, 모듈, 부품으로 이어지는 공급망뿐만 아니라, 외부 파트너사, 고객 등과 연계된 가치망을 의미합니다.


과거에는 공급망 중심으로 가치가 발현되었다면, 가치망으로 이어진 에코시스템으로 가치가 발현됩니다.


세 번째, 소프트웨어는 재료비 개념이 없습니다.

과거의 경험만으로 소프트웨어의 원가를 재료비로 따지려고 하면 원하는 답을 얻을 수 없을 겁니다.

재료비로 접근하려고 하니, 코드 레벨로, 모듈 레벨로, 라이브러리 레벨로 쪼개서 무언가 과거 하드웨어, 기구처럼 무언가 결정하려고 합니다.

그러나, 아마도 답을 알고 있을 겁니다. 이렇게 해서는 답이 얻을 수 없습니다.


소프트웨어는 플랫폼의 개념으로 접근해야 합니다.


재료비가 아니라, 투자비로 접근하여 투자비를 어떻게 회수할 것인가 고민해야 합니다.

투자비는 소프트웨어 생애 주기동안 사용한 모든 비용이며, 이것을 회수하는 방식은 최대한 많은 시스템에 적용하여 해당 시스템의 매출에 기여하거나, 앞서 언급한 가치망, 에코시스템에서 얻을 부가가치에 대한 기여분으로 대응해야 합니다.


소프트웨어가 지배할 시스템의 개념은 과거의 경험을 버려야 할 것이 많을 겁니다.

고정관념을 먼저 깨는 것부터 시작해야 합니다.


Image by Gerd Altmann from Pixabay

keyword
매거진의 이전글바텀업 방식의 모듈화