LG CNS vs SK(주) C&C, 개발방법론 격돌

2천억대 KDB산업은행 차세대에서 판가름

컴퓨팅입력 :2016/11/07 09:56    수정: 2016/11/07 11:41

송주영 기자

LG CNS와 SK주식회사 C&C가 2천억원대 KDB산업은행 차세대시스템 구축 프로젝트를 두고 격돌한다. 이번 프로젝트에 개발방법론이 경쟁의 핵심 요소로 떠오르면서 LG CNS는 홈페이지에서 ‘모델 지향 개발(Model Driven Deveolpment, MDD)’ 방법론 홍보를 강화하고 SK주식회사 C&C는 '자동화된 소프트웨어 개발(Autiomted Software Development, ASD)' 방식을 새롭게 선보이는 등 프로젝트 수주에 사활을 걸고 있다.

MDD는 2000년대 초 객체지행 개발방법과 함께 부각된 기법으로 LG CNS가 도입해 플랫폼으로 개발했다. LG CNS는 2012년 이후 MDD를 차세대시스템 개발방법론으로 활발히 제안하고 있다. ASD는 SK주식회사 C&C가 개발한 방법론으로 MDD와 ‘모델 지향 아키텍처(Model Driven Architecture MDA)’ 방법론을 통합했다.

3일 IT업계에 따르면 LG CNS와 SK주식회사 C&C는 대기업 공공사업 참여 제한으로 외부 사업 수주 기회가 눈에 띄게 줄어든 가운데 하반기 금융권 최대 프로젝트인 KDB산업은행 사업 수주에 큰 기대를 걸고 있다.

KDB산업은행은 오는 11일 차세대시스템 구축 제안서를 접수를 마감할 예정이다. 마감 시한까지 일주일 남짓 남았다. KDB산업은행 은 15, 16일로 예정된 제안설명회를 거쳐 18일 차세대 프로젝트 우선협상대상자를 선정할 계획이다.

LG CNS는 이 프로젝트에 MDD 방법론을 담아 제안서를 제출할 예정이다. 전북은행, 광주은행 프로젝트 수주 당시 제안했던 방법론을 KDB산업은행에도 이어갈 계획이다.

SK주식회사 C&C는 KDB산업은행 차세대시스템 사업자 선정에 맞춰 LG CNS MDD 대항마인 ASD 방법론을 새롭게 선보여 이를 제안할 예정이다. ASD에는 MDD와 SK주식회사 C&C는 ASD가 아키텍처 정합성과 소스코드 개발 자동화를 동시에 달성했다고 강조하고 있다.

KDB산업은행이 발주한 2천억원대 차세대시스템 개발을 두고 SK주식회사 C&C와 LG CNS가 격돌한다

SK주식회사C&C가 적극적으로 새로운 개발방법론까지 선보인 것은 올해 초 수주 마지막 단계까지 간 대형 프로젝트를 LG CNS에 빼앗긴 뼈아픈 경험 때문으로 보인다.

교보생명은 차세대시스템 구축 주사업자 우선협상대상자로 SK주식회사 C&C를 선정했다가 LG CNS MDD 개발 방법론을 재평가하며 주사업자를 교체했다. LG CNS가 교보생명 차세대의 새로운 주 계약자가 된 것이다. 금융 차세대 프로젝트에는 점점 더 이 같이 개발방법론의 경쟁의 주요 요소로 부각될 전망이다.

■LG CNS MDD 모델링 기반 개발

교보생명 차세대 프로젝트 사례가 아니더라도 개발방법론은 차세대시스템 개발에 주요 요소로 자리매김했다. 개발방법론은 차세대시스템처럼 범위도 크고 기간도 2년씩 걸리는 길고 복잡한 프로젝트를 수행하면서 성패를 가르는 요소 중 하나가 됐다.

과거 기업들의 제안요청서 시스템 개발 요건이 기능 위주였다면 최근에는 프로젝트 개발부터 운영까지 큰 영향을 줄 수 있는 방법론까지 꼼꼼히 따져보는 추세가 됐다.

KDB산업은행은 ▲모델링 언어인 UML(Unified Modeling Language) 표준 지원 기능 ▲템플릿 기반 애플리케이션 설계서 작성 및 관리 ▲모델과 소스간의 순공학 및 역공학 지원 기능 ▲영향도 분석 가능한 개발언어 범위 제시 등 개발과 관련한 사항들을 요구했다. 개발방법론에 대한 요구조건을 비교적 상세히 명시했다.

LG CNS가 제안하게 될 MDD는 지난 2011년 100% 자동으로 소스코드를 생성해주는 레벨3까지 발전했다. MDD레벨3는 지난 2012년부터 실제 프로젝트에 적용되기 시작했다.

MDD의 장점은 현업 중심의 언어와 소스코드 자동화 기능이다. 모델링을 기반으로 소스코드를 자동 생성하기 때문에 영어 기반의 C나 자바가 아니더라도 한국어로도 시스템 개발을 할 수 있다. 또 개발이 소스코드 프로그래밍 기반이 아니기 때문에 현업 용어에 더 충실한 개발이 가능하다.

기존 개발 방법론은 현업의 요건을 정의한 모델을 보고 전문 개발자가 프로그램 코드로 개발하는 방식이었다. 코드를 해석하지 못하면 어떤 기능을 하는지 알 수 없고 문제점이 있어도 발견하기 어려웠다. MDD는 모델을 이용해 개발을 하면서 현업 담당자에게 더 쉬운 언어로 개발할 수 있다.

(자료=LG CNS 블로그)

프로그램 소스코드는 모델을 기반으로 자동 생성된다. LG CNS MDD는 공통 기능을 자바 컴포넌트로 미리 구축해둬 소스코딩 단계를 줄였다.

더불어 LG CNS는 MDD 플랫폼을 순공학과 역공학으로 구분해 양방향 개발이 가능하도록 했다. 플랫폼은 MDD-F(MDD-Foward)와 MDD-R(MDD-Reverse)로 구분돼 있다. MDD-F는 UML 모델을 기반으로 한 개발 플랫폼이고 MDD-R은 역공학 기술로 소스코드를 UML로 전환하는 역할을 한다.

JB우리캐피탈은 최근 한 세미나에서 MDD의 장점으로 “간단한 교육만으로 개발이 가능하고 프로그램 언어를 몰라도 코딩이 가능하다”고 강조했다. 초급자도 쉽게 개발할 수 있고 논리 모델이라 업무 파악이 쉽다는 점도 장점으로 꼽았다. JB우리캐피탈은 차세대시스템 구축에 MDD를 도입한 바 있다.

그러나 MDD도 단점은 있다. 컴포넌트 간의 호출을 중재하기 위해 DSL(Domain-Specific Language)이라는 개발 언어를 별도로 배워야 한다. 숙련되기까지 기간이 필요하고 논리코드 단위 분석이 힘들다는 점도 약점으로 꼽았다.

■SK(주) C&C 아키텍처 기반 ASD

LG CNS MDD에 맞서 SK주식회사 C&C가 내세우는 개발방법론은 ASD다. ASD는 MDD와 지향하는 바가 다르다. MDD가 모델 중심으로 접근했다면 ASD는 앞서 언급한 것처럼 아키텍처를 기반으로 출발했다.

ASD가 중점을 둔 부분은 민첩성이다. SK주식회사 C&C는 ASD를 개발하면서 금융 업무가 융·복합화되며 설계 변경, 신속한 대응 능력이 중요해졌다는 점을 겨냥했다.

민첩성을 강점으로 내세우기 위해 자동화 기능에도 중점을 뒀다. ▲설계모델의 정합성 ▲업무 변경에 따른 영향도 분석 ▲개발 공정 연계가 프로젝트 대형화, 복잡성 증가에 따라 더 중요해지고 있다는 점을 노려 아키텍처와 소스코드간 정합성을 자동으로 맞추도록 했다.

SK주식회사 C&C는 금융권 차세대시스템 구축 시장을 겨냥해 ASD를 내놨다

또 기존 시스템 분석 자동화를 통해 모델을 자동으로 생성하고 소프트웨어 모델 변환과 개발 소스코드 생성도 자동으로 이뤄지도록 했다. 프로젝트 성격에 따라 60~100% 수준의 소스코드를 생성할 수 있다.

개발 과정에서 프로그램 추가 개발 및 소프트웨어 모델도 자동으로 변경되고 품질 도구를 이용해 빌드, 테스트, 배포도 자동화했다.

여기에 품질 자동 점검 기능도 들어갔다. 설계 모델에 표준화된 정보를 실시간 적용해 설계 표준 규칙, 거래패턴을 자동화 도구에 반영하도록 했다. 이를 통해 설계 모델에 대한 품질이 자동으로 점검된다. 프로그램을 개발할 때도 별도의 테스트 코드를 자동으로 생성해 단위 테스트가 가능하도록 하는 등 테스트 자동화 부분에도 신경썼다.

■As-is시스템 분석 모델부터 자동생성

프로젝트 개발 과정을 살펴보면 ASD는 프로젝트 개발을 할 때 아키텍처 중심의 현행 시스템 모델링부터 시작한다. 현행 시스템을 분석하고 아키텍처를 그리는 과정을 자동화하는 것이 프로젝트의 출발점이다.

현행 시스템을 UML로 그리고 이 모델을 기반으로 To-Be 시스템의 요구사항을 반영해 미래 시스템을 그려나간다. 현행 시스템을 중심으로 개발한 모델은 향후 시스템 요구사항 반영과 변경의 기반이 된다. 이를 통해 개발 변경사항을 반영할 때 연관관계가 자동으로 수정될 수 있도록 했다.

(자료=SK주식회사 C&C)

모델링에서 나온 프로그램 목록, 명세, 상호호출관계, 생성·읽기·경신·삭제(CRUD) 매트릭스, 공통 모듈 후보 목록 등 As-Is 시스템 분석산출물은 엑셀파일 형태로 생성된다.

As-Is 분석모델/산출물과 To-Be 개선사항으로부터 To-Be 시스템 분석 모델 구성요소, 식별 유스케이스, 인터페이스 등이 나온다. 데이터 표준화를 위한 후보 표준 단어, 용어도 As-IS 분석 산출물에서 추출된다.

개발과 테스트 과정에서 소스 코드 작성과 동시에 테스트 코드가 자동 생성돼 개발 코딩에 대한 자동 점검, 소프트웨어 모델링 반영 및 확인이 이뤄지도록 했다. 이를 위해 다양한 대시보드에서 ▲테스트 시나리오 설계·시행 ▲테스트 결함 관리 ▲시스템의 개발 진척도 관리를 한 번에 진행한다.

ASD는 개발자가 개발 소스 코드를 새로 추가하면 소프트웨어 모델링이 자동 변경돼 개발의 안정성은 높이고 유지보수 비용은 낮췄다. 가령 코딩이 더 편한 수정사항의 경우 개발자는 코딩을 통해 기능을 추가할 수 있고 프로그램의 변화는 자동으로 아키텍처에 반영되는 형태다.

코딩 개발자들의 저변도 더 많이 확보할 수 있다. LG CNS가 채택하고 있는 모델링 언어인 DSL의 경우 한글이 가능하긴 하지만 새로 언어를 배워야 한다. ASD는 자바 기반으로 개발자를 손쉽게 구할 수 있다.

관련기사

그러나 ASD도 단점이 있다. 아직 구현 사례가 없다는 점이다. MDD는 실제 프로젝트 담당자들의 적용 사례를 들어볼 수 있다. 전북은행, 광주은행, JB우리캐피탈 등 일부 금융권에 적용됐기 때문이다. ASD는 아직까지 개발방법론으로만 존재해 프로젝트 적용 경험이 없다는 점은 약점으로 꼽힌다.

한편 개발 모델링 전문가들은 LG CNS MDD와 SK주식회사 C&C ASD 어느 한쪽의 손을 들어주는 것을 주저했다. LG CNS MDD와 SK주식회사 C&C ASD는 그보다는 태생과 접근방식이 다른 개발방법론으로 쉽게 장단점을 분석하기 어렵다는 것이다. 소프트웨어공학 전문가는 MDD와 ASD에 대해 “개념과 태생이 다른 개발방법론”이라며 “어느 방법이 더 낫다고 얘기하기는 어렵다”고 말했다.