금융 차세대 개발 플랫폼의 끝판왕이 등장했다기존 시스템 분석부터 개발 소스 코드 자동 생성그리고 테스트 및 프로그램 품질점검까지 개발의 모든 과정을 최적화한 개발 플랫폼이다. SK C&C가 최근 선보인 ASD(Automated Software Development)가 주인공이다. SK C&C의 ICT 역량을 집대성해 출시한 ASD는 개발 속도는 높이고비용은 낮추며 최적의 운영 효율성을 보장하는 최강의 금융 차세대 개발 플랫폼으로 주목 받고 있다.

ASD의 가장 큰 특징은 현재 국내 금융 차세대 시스템 구축사업에서 사용되는 핵심 개발 방법론인 MDA MDD의 장점을 한 데 모았다는 것이다. ASD의 출시에 맞춰 국내 개발 방법론의 현황과 한계, ASD의 강점그리고 개발 실무자들이 직접 들려주는 금융 차세대 시스템 구축사업의 전망 등을 총 5회에 걸쳐 시리즈로 살펴본다.

 


<1> “금융 차세대 시스템뭣이 중헌디?”

 

금융 차세대 시스템 구축사업은 단연 IT 서비스 업계의 최대 관심사다. 프로젝트의 규모도 규모지만 IT 인프라가 빠르게 발전하는 과정에서 시스템의 효율적 개발과 품질확보라는 두 마리 토끼를 한꺼번에 잡는 것이 여간 어려운 일이 아니기 때문이다. 이런 배경 때문에 금융 차세대 시스템 사업을 성공으로 이끌기 위한 다양한 개발 방법론이 대두되고 있다. 그리고 개발 방법론마다 각각의 강점과 차이점을 두고 논쟁도 뜨겁게 벌어지고 있다.

우선 개발 방법론이 무엇인지부터 이야기를 시작해보자. 개발 방법론이란 소프트웨어 개발 과정에서 생산성과 품질을 높이고 유지하기 위해서 만든, IT 시스템 구축 전 과정에서의 방법이나 절차, 기법들을 통칭한다. 멋진 건물을 짓기 위해 설계도를 준비하고 건설 회사 고유의 건축공법을 활용해 시공에 들어간다고 가정해보자. 이를 금융 차세대 시스템 구축과 비유하자면 설계도는 모델에 해당하며, 건축공법이 개발 방법론’, 그리고 시공이 개발에 해당한다. 즉 개발 방법론은 일종의 건축공법이라고 생각하면 된다. SI 기업은 저마다 자기 회사의 소프트웨어 개발이나 시스템 구축의 기술과 철학, 경험, 노하우들을 집대성해 고객사의 특성에 최적화한 건축공법을 내세워 고유한 개발 방법론을 선보이고 있다.

 

 금융권 차세대 시스템 구축에서 설계도에 해당하는 개발 방법론 중요성 대두

금융 분야 차세대 시스템의 개발 및 운영은 서비스, 기능, 세부 시스템과 같은 면에서 다른 산업분야보다 훨씬 복잡하고 요구사항도 많다. 따라서 무엇보다 금융 고객사에 최적화된 건축공법’, 즉 개발 방법론이 중요하다고 볼 수 있다.

이런 맥락에서 최근 몇 년 동안 국내 금융 차세대 시스템 구축 사업에서는 MDA(Model Driven Architecture, 모델 중심 아키텍처) MDD(Model Driven Development, 모델 중심 개발)라는 개발 소스 코딩 자동화 기술이 주목을 받아왔다.

우선 MDA는 지난 2001년 객체 컴포넌트 표준 그룹인 객체관리그룹(OMG)’ CEO 리차드 솔리에 의해 처음 공개된 학술 용어이자 개념이다. 당시 특정 인프라나 플랫폼에 국한하지 않고 마음껏 소프트웨어를 개발할 수 있도록 돕는 SW 개발 기술을 가리키는 용어로 등장했다. MDA는 각 도메인 전문가들이 완성한 표준 모델과 코드 자동 생성 기능을 기반으로 다양한 소프트웨어 개발 플랫폼에서 대략적인 프로그램을 생성하면 이후 해당 프로그램을 활용해 세부 기능을 개발하는 방식을 의미한다. 소프트웨어 모델을 중심으로 개발의 유연성과 모델간 호환성을 강조한다.

한편 MDD는 개발자가 프로그래밍 언어로 직접 일일이 코딩을 하는 것이 아니라 소프트웨어 설계 모델을 통해 소스 코드를 자동 생성하는 개발 방식을 말한다. 완성된 표준 모델을 제공해 개발 소스 코딩의 자동화를 지향하는 개념이다.


MDA와 MDD는 지난 2001년 객체관리그룹(OMG)의 CEO 리차드 솔리에 의해 처음 공개된 SW 개발 기술 용어로 특정 인프라나 플랫폼에 국한하지 않고 소프트웨어 개발을 도와준다


MDD의 장점은 시스템 개발 도중 잘못된 분석에 의한 오류나 수동 코딩으로 인한 실수를 최소화시켜 준다는 데 있다. 이는 분명히 개발자들에게 아주 유용한 툴이다. 뿐만 아니라 개발 과정을 분리하지 않고 모델 하나를 만들고 그 안에 세부 소스 코드를 강하게 결합해 단일화된 프로세스를 만들 수 있다.

따라서 기업이 요구하는 좋은 품질의 IT 서비스를 제공할 수 있게 해준다. 즉 정형화된 코드와 프레임워크를 통해 안정성을 높이며 개발 소스 코드를 자동으로 빠르게 만들어준다. 또 모델의 디자인 패턴을 만들어 놓고 그 패턴을 그대로 다시 사용할 수 있게 함으로써 재사용성을 확보할 수 있게 해준다.

 

 논란 많은 MDD, 장점 많지만 유연성과 안정성에서 우려 목소리

이처럼 여러 장점을 가진 MDD지만 단일화된 모델에 대한 우려의 목소리도 있다. 잘 갖춰진 하나의 모델에 단단하게 결합되어 있는 세부 소스 코드가 양날의 칼이 될 수 있다는 시각이다. 빠르게 발전하는 IT 기술에 대응하거나 프레임워크 등 각 단위 공정 교체와 같은 여러 변수에 유연하게 대처할 수 있냐는 지적을 받는 것이다.

특히 금융 서비스 기능을 변경하려면 소스 코드가 아닌 소프트웨어 모델을 직접 조정해야 된다. 그 과정에서 시스템 전반의 안정적인 운영에 차질을 빚을 수 있다는 것이 MDD의 큰 단점이자 한계로 꼽힌다. 또 기존 MDD의 자동화 방식은 소프트웨어 모델링이 제공하는 개발 소스 코드 자동화만 가능하기 때문에 시스템 구축을 마친 뒤 추가 기능 개발이 필요한 경우 문제를 일으킬 수 있다. 시스템 아키텍처나 모델링 전문가를 통해 해당 소프트웨어 모델링은 물론 금융 시스템 전체 소프트웨어 모델링을 변경해야 하는 어려움이 있기 때문이다

앞서 개발 방법론은 건축공법이라는 비유를 떠올려보자. 만약 시공 후 건축물 변경이 필요할 때 MDD는 건축을 중단하고 일일이 설계도부터 바꿔나가야 한다. 잘 갖춰진 하나의 설계도(모델)에 그대로 맞춰 지었기 때문에 이러지도 못하고 저러지도 못하는 상당히 난감한 상황이 발생해버리는 것이다. 이 같은 이유 때문에 업계에서는 이미 개발 방법론으로서 MDD는 더 이상 환영 받지 못한다. 이미 10년 전에 한 물 간 방법론이다는 혹평이 있는 것이 사실이다.

결국 금융 차세대 시스템 구축 사업의 성패를 가르는 핵심 요소는 건축공법과 고객의 요구에 유연하게 대응할 수 있는 역량이다. 시스템의 구축에서부터 개발, 운영, 테스트까지 전 과정에서 서비스 제공 기업의 기술과 철학, 경험과 노하우가 가장 중요하다는 것이다. 예를 들어 확실한 건축공법 없이 소스 코드를 무턱대고 개발하면 여러 문제가 발생할 수 있다. 시스템 구축 이후 고객의 요구가 생기면 개발한 소스나 프로그램을 손보거나 변경해야 하는데 그 과정에서 전체 시스템에 어떤 영향을 줄 것인가를 확인하기가 어렵기 때문이다. 또 이 과정에서 오류가 발생하거나 유지 보수에 어려움을 끼칠 수 있으며 불필요한 시간과 비용을 들일 수도 있다.


 

 ASD는 기존 개발 방법론의 장점을 모두 수용해 개발의 유연성과 모델간 호환성 강조

이처럼 시스템의 안정적 확장과 관리를 위해서는 기존 시스템 분석부터 초기 구축, 개발 소스 코드 생성, 프로그램 품질점검, 테스트까지 개발 전 과정에 이르는 개발 방법론이 중요하다. 물론 그 방법론은 고객의 모든 요구를 한 번에 수용하는 유연성을 확보해야 한다. SK C&C가 새로 선보인 금융 차세대 시스템 자동 개방 플랫폼 ASD는 이 같은 요구를 반영한 새로운 무기라고 할 수 있다. ASD는 금융 기관들의 시스템 개발 관련 다양한 요구를 모두 수용할 수 있는 끝판왕으로서의 면모를 자랑한다.

SK C&C ASD는 기존 MDD MDA의 장점을 모두 결합한 개발 방법론으로 주목을 받고 있다. MDD가 지향하는 개발 소스 코딩 자동화를 최대한 수용하면서도 소프트웨어 모델을 중심으로 개발의 유연성과 모델간 호환성을 강조하는 MDA의 장점을 한 데 모았다. 따라서 금융 고객이 원하는 복잡한 금융 서비스를 빠르게 현업에 적용할 수 있도록 시스템을 빠르게 개발하게 해준다. 또 운영 비용 절감의 요구에 정확히 부응하며 차세대 시스템 개발 생산성과 품질 확보를 위한 최적의 대안으로 평가 받고 있다.

실제 금융 차세대 시스템 개발에 착수하면 ASD는 먼저 고객이 운영중인 금융 시스템의 설계 구조와 소프트웨어 모델, 개발 소스 코드들을 자동으로 분석한다. 여기에 고객의 새로운 요구사항을 추가하면 플랫폼 독립적인 소프트웨어 모델링이 완성되고 설계 구조, 소프트웨어 물리 모델, 개발 소스 코드 등이 자동으로 진행된다.

종전 MDD는 금융 서비스 설계자가 금융의 복잡한 모든 업무 로직을 미리 모델링 해놓는다. 따라서 단순 예금 등 정형화된 기존 금융 프로세스 구축에서는 장점을 발휘한다. 그러면서 ‘100% 자동화를 강조한다. 하지만 ASD 100% 자동화를 고집하지 않는다. 빠르게 발전하는 IT 환경과 점점 복잡해지는 금융 서비스를 감안하면 시스템 구축 이후 로직의 추가나 수정이 중요하기 때문이다. MDD 방식은 시스템 구축 후 추가 기능 개발을 위해 시스템 아키텍처나 모델링 전문가가 직접 나서 해당 소프트웨어 모델링은 물론 금융 시스템 전체 소프트웨어 모델링을 변경해야 하는 어려움이 있다. 그러나 ASD는 유연성과 개발자의 자율성을 보장해 안정적인 운영과 관리를 보장한다.

ASD MDA의 개발 방법론을 고도화시켜 개발 소스 자동생성 범위를 고객의 요구 조건에 따라 60~100% 수준으로 대폭 끌어올렸다. 시스템의 설계 구조와 틀을 잡는 금융 서비스별 소프트웨어 모델링이 독립적으로 이뤄지고 자동으로 통합 관리되기 때문에 개발자들은 자신이 맡은 분야만 살펴보면 된다. 



 


저작자 표시 비영리 변경 금지
신고

티스토리 툴바