Press

[세계일보] 소프트웨어를 키우는 힘 [2011.12.23]

작성자
isrc isrc
작성일
2017-02-09 02:59
조회
82
오류와 실패를 통해 성공하는 SW
‘스티브 잡스’ 탄생시킬 토양 필요

지식경제부 장관이 연구개발(R&D)의 실패율을 늘리겠다고 언급해 업계의 주목을 받고 있다. 지식경제부 연구개발 성공률이 98%에 이르는 것은 안전하게 성공 가능성이 높은 연구에만 집중하는 자세에 기인한 것인데, 이래서는 상상력을 발휘한 미래형 연구개발이 어려우니 실패율이 높아도 성과가 큰 과제를 찾아 지원하겠다는 것이다. 이러한 자세는 다른 분야에도 적용이 필요한 이야기이겠지만 소프트웨어(SW) 분야에는 매우 중요한 전기를 마련할 수 있다는 점에서 눈여겨볼 만하다.

소프트웨어 분야의 선구자인 프레드릭 브룩스는 이미 1986년에 소프트웨어 개발의 본질적인 문제로 네 가지를 지적하면서 소프트웨어의 개발은 오류와 실패를 통해서만 성공할 수 있음을 강조했다.

첫째는 소프트웨어가 그 사이즈에 비해 복잡한 구성으로 돼 있다는 점이다. 표준화된 부품으로 구성된 다른 산업시대의 산물과는 달리 소프트웨어의 각 부분이 고유한 특성과 모양새를 가지고 있어서 복잡하게 얽힌 구조로 이루어져 있다. 이러한 본질적인 복잡성(complexity) 때문에 수백억원이 투자된 BC카드 차세대시스템이 중도하차의 물망에 오르고 있고, 우리 고유의 모바일 플랫폼으로 역시 많은 돈을 들여 개발한 위피(WIPI)가 불완전성으로 인해 사장돼 가고 있다.

또 다른 특징은 합치성(conformity)으로 정보기술(IT)은 IT 자체로서의 가치보다는 외부의 다른 개체와의 연계와 융합이 중요한데 이러한 외부와의 연계성을 확보하기가 쉬운 일이 아니다. 치명적인 인명사고를 일으키곤 하는 자동차 급발진의 원인으로 전자제어장치(ECU)에 내장된 소프트웨어가 자동차의 다른 메커니즘과의 연계에 오류가 있지 않나 하는 의심을 받고 있다.

셋째는 변화성(changeability)인데 자동차나 건물과는 달리 소프트웨어는 납품 후에도 지속적으로 그 기능성을 바꾸어 줄 것을 요구받고 있다. 사용자가 보기에는 단순해 보이는 카카오톡 같은 소프트웨어에서도 지속적으로 그 기능이 추가되고 있다. 문제는 이렇게 기능을 추가하는 것이 복잡성과 합치성으로 인해서 쉬운 일이 아니라는 점이다. 더군다나 이러한 기능의 추가가 지속적으로 일어나야 한다는 점이다.

마지막으로 비가시성(invisibility)을 본질적 문제의 하나로 들고 있다. 겉을 뜯어내면 그 부품과 구성이 들여다보이는 다른 제품과는 달리 소프트웨어는 그 내용이 보이지 않고 모형을 만드는 것도 쉽지가 않아 다른 공학분야와는 달리 도식화의 표준도 정립되지 못하는 실정이다.

소프트웨어가 가지고 있는 본질적인 문제에도 불구하고 앞으로의 세상에서 소프트웨어의 중요성이 점점 더 커질 것은 두말할 필요가 없다. 기기들이 스마트해지고 네트워크로 연결돼 우리 전체의 삶을 좀 더 편하고 효율성을 높이는 방향으로 우리의 미래는 바뀌어 가고 있으며, 여기서 소프트웨어의 역할은 더할 나위 없이 중요하다.

세상을 떠나면서 우리의 미래를 어떻게 준비해야 하는지 다시 한번 돌아보게 만든 스티브 잡스. 본인이 만들었던 회사에서 몇 번을 쫓겨났었는지? 어떠한 실수와 실패를 겪었는지? 조금 더 살았으면 혹시 다시 실수를 하지 않았을까? 스티브 잡스 한 명이 나타나기까지 비슷하지만 실패한 사례들이 얼마나 많았을까?

‘진실은 헷갈림보다는 오류로부터 찾아내기가 더 쉽다’고 말한 프랜시스 베이컨의 말이 우리나라 소프트웨어 산업 발전의 단초를 제시하는 것 같다. 자라나는 디지털 세대들이 자유로운 상상력을 발휘해 용기를 내서 실수를 하고, 이를 통해 다시 일어설 수 있는 희망의 안전망을 어떻게 만들어 주어야 할지 마음을 모아 궁리하는 것이 기성세대의 책임이 아닐까 싶다.
전체 0