한국IBM 이승재 본부장

스마트폰 단독 앱에 관심이 쏠려있는 지금은 1990년에 윈도즈 1.0이 출시되었던 때와 상황은 비슷하지만 벌써 비즈니스 모델은 멀티 디바이스 간 연동이 필수적인 고부가가치 서비스로 옮아가고 있다.

이런 환경에서, 각 디바이스를 별도로 설계하는 사일로 접근 방식으론 품질과 생산성, 민첩성을 확보할 수 없다.

예를 들면 나이키 운동화 깔 창에 숨겨진 센서가 블루투스를 통해 안드로이드 스마트폰에 정보(조깅거리, 맥박 등)를 전송한다고 가정하자.

이 때 스마트폰에서 보여줄 수 있는 것을 기기 자체에서 처리하기도 하고, 해당 사용자의 건강 데이터나 더 심도 깊은 핼스케어 앱을 접속하기 위해 서버에 있는 애플리케이션과 접속한다면, 결과적으로 다중-티어가 만들어질 수 밖에 없다.

이런 다중-티어 전체 그림을 한꺼번에 조망하고 설계하고 또한 해당특정 디바이스 수준까지 상세 개발하지 않고도 아키텍처와 동작을 사전 검증해 볼 수 있다면 일일이 디바이스까지 내리고 나서야 오류를 발견하는 시간과 비용을 줄일 수 있게 된다.

또한 그런 비즈니스 모델이 가능하기에 다른 비즈니스 펌들과 다양한 협력관계를 시뮬레이션 해보는 등 더 다양하고 가치가 높은 서비스--단순 앱(app)이 아니라는 뜻에서 서비스라는 표현을 사용--를 제공할 수 있을 것이다.

IT운영인프라는 ITSM으로 거버넌스(governance)를 도입하고 있으나 애플리케이션 전체 라이프사이클에선 거버넌스가 도입되지 않고 있다. 당장 눈에 띄는 급한 개발(coding, programming)만 주시하니 기업과 개발자 모두 미래를 보장하기 어렵다.

이런 불합리한 환경 아래, 회사는 관리 체계의 부재로 인해 재사용이 가능한 자산 확보가 불가능하고, 개발자 입장에서 보자면 고부가가치 엔지니어로 이전해 가기보단 당장의 코딩 기술자로서 존재에 그칠 수 밖에 없다.

문제의 원인은 국내 IT교육과 IT산업이, 프로그램으로 시작해 프로그램으로 끝나는 구조를 추구해왔기 때문으로 볼 수 있다.

프로그래머란 이름을 걸고 있는 한, 무엇을 처음부터 만드는 것에 초점을 맞추기 마련인데, 이제는 구조(architecture)를 생각하고 기존 자산을 정련해 축적하고 조립하는 새로운 모델을 조속히 체화(體化)해야 한다.

"프로그래밍으로 불가능한 건 없다"라는 정신으론 앞으로 전개될 소프트웨어 산업에서 결코 생존할 수 없다. 현대의 소프트웨어 산업은 단순히 “나에게 시간만 주면 코딩해서 무엇을 개발할 수 있어”와 같은 수준이 더 이상 아니기 때문이다.

지금 소프트웨어 산업은, 규모의 경제와 IT전문가의 상향평준화, 전세계적 개방형 표준공유시스템, 글로벌 베스트 프랙티스를 받아들일 수 있는 구조, 전체 라이프사이클 통합 자동화, 정련된 지식의 축적 가능 구조로 변화해가고 있다.

전체 라이프사이클에서 거버넌스를 한꺼번에 구축하지 않더라도 첫 관문인 요구사항을 엔지니어링하는 것 만으로도 큰 효과를 볼 수 있다. 요구사항도 아키텍처로 만들 필요가 있다는 설명이다.

지금까진 단위요구사항 변경에만 신경 썼기에 문제가 계속 발생할 수 밖에 없었다. 요구사항의 상세정의, 추적성, 상호영향도분석, 검증이 엔지니어링되면 결함을 조기에 발견 조치할 수 있어, 생산성과 품질을 동시에 도모할 수 있다.

임영규 기자
저작권자 © 데일리그리드 무단전재 및 재배포 금지