2017년 2월 27일 월요일

IT 입장에서 바라본 기존 은행과 인터넷 은행의 차이점

Q: 한국카카오와 케이뱅크가 정식으로 은행 인가를 받은 상태입니다. 기존 은행과 차이점을 IT 입장에서 조금 더 자세히 설명 부탁합니다.

한국카카오 은행과 케이뱅크가 어떻게 구성되는지는 다른 자료를 참고하시고, IT 기술적 측면만 살펴보도록 하겠습니다. 기존 은행은 거의 모든 업무가 사람이 하게 됩니다. 서비스를 제공하고 여신을 관리하는 것과 같은 전반적인 은행 업무는 모두 사람의 손이 가야 합니다. 물론 컴퓨터로 업무를 볼 수는 있습니다.
인터넷 은행은 대부분 인터넷 상에서 자동으로 이루어지게 됩니다. 대출금리를 결정할 때도 빅데이터 기반으로 결정하고 송금이나 예금도 창구 직원의 도움없이 온라인 상에서 자동으로 처리되죠. 결제의 경우도 카드나 VAN, PG가 없이 처리되고 자산관리도 사람이 판단하는 것이 아니라 빅데이터 분석을 통해 가이드 하게 됩니다(그림2).

<그림2> 인터넷 은행의 특징
출처: 금융위원회

정리하면, 업무는 은행 업무지만 처리되는 모든 과정은 IT 기술로 이루어져 있고 소프트웨어에 의해 자동으로 이루어진다는 것입니다. 사람의 손을 안 거친다는 것은 그만큼 신속하고 정확한 처리가 이루어질 수 있고 사고의 위험도 줄어들 수 있습니다.

더보기


사례연구: BM Rational 소프트웨어로 Agile 방식을 구현하여 자산 재사용 확대

I사의 자산 재사용 확대



본 사례는 I사에서 개발팀 자원을 소프트웨어 혁신과 협업 능력을 향상시킬 수 있는 애자일 개발 프로세스를 마련하기 위해 IBM Rational 소프트웨어 중심으로 자산 재사용을 확대한 사례 보고를 발췌하였다.
I사는 아키텍처를 위한 기술 전략을 마련하여 소프트웨어의 일관성을 확보할 수 있도록 하기 위해 개발 팀의 효율성을 개선하기 위한 방법을 검토하였고, 그 결과 이터레이션 개발 접근법을 사용하는 팀이 있긴 했으나 많은 팀이 여전히 폭포수형(Waterfall) 개발 모델을 사용하고 있다는 것이 확인되었다.
폭포수형 개발 방식을 사용하는 팀은 요구사항의 설계가 지나치게 오래 걸렸고 개발 도중 요구사항이 변경될 경우 시간을 많이 허비하는 결과로 이어졌다. 개발에서도 설계를 변경하려면 막대한 비용 소모를 감수해야 했다. I사는 효과적인 협업과 자산 재사용을 위한 도구와 방법이 미비하여 코드 일관성, 품질과 생산성을 최적의 수준으로 유지하지 못한다는 결론을 내렸다. 프로세스의 혁신을 지원하고 고객의 요구에 보다 원활하게 대응할 수 있도록 애자일 개발을 촉진하고 협업을 효율화 하여 가시성과 자산 재사용을 확대하는 방법을 모색했다.

애자일 개발 방식 채택
애자일을 확대하기 위해 애자일 가이드를 개발자에게 제공하는 역량 증진 센터를 만들었고, 특히 애자일 개발의 3가지 측면인 사용자 스토리, 지속적인 이해 관계자 피드백, 짧은 타임박스 이터레이션에 주력했다.
사용자 스토리는 개발 팀이 반복 작업에서 얻으려는 성과를 쉽게 기술하도록 하고, 지속적인 이해 관계자 피드백은 개발 팀이 요구사항을 충족할 수 있도록 하며 짧은 타임박스 이터레이션은 진행 상황의 중간 목표를 설정하여 필요에 따라 중간 수정을 할 수 있도록 했다.
I사는 애자일 개발을 확대하기 위해 적정한 규모의 스크럼 팀을 만든 다음, 모든 스크럼 리더를 중간 협의체(scrum of scrums)로 통합하여 문제를 해결할 수 있다는 것을 발견했다. 애자일은 확장 가능하고 더 빠르고 효과적인 개발로 비용까지 절감할 수 있게 되었다.


더보기

게임 소프트웨어 발전 전망


외산 게임의 국내 시장 점유율이 높아지고 확률형 아이템 규제 법안 발의로 인한 국내 모바일 게임사의 실적 감소가 나타나는 가운데 가상현실(Virtual Reality)과 증강현실(Augmented Reality)을 이용한 다양한 게임 컨텐츠가 개발되는 추세다.

소프트웨어 적인 부분

AR 게임인 포켓몬GO의 인기에 힘입어 국내 모바일 게임 시장도 AR과 VR를 활용한 다양한 컨텐츠가 개발 중에 있다. 한빛소프트는 미래 게임 산업의 핵심 콘텐츠로 AR / VR 게임인 오디션 VR을 개발 중에 있고, 드래곤플라이는 대표적인 자사 게임인 ‘스페셜 포스’ 등을 활용한 AR게임 개발에 주력하고 있다.
게임 업계의 차세대 성장 동력으로 꼽히는 VR은 국내 최대 게임 전시회인 올해 '지스타'의 최대 관심사였다. SUPERDATA는 2016년 가상현실 게임 시장을 총 51억 달러 규모로 예측하고 있는데 유럽이 19억 달러, 북미 15억 달러, 아시아 11억 달러 규모로 가상현실 게임 시장이 형성될 것으로 전망하고 있다.
SUPERDATA는 총 4가지 종류로 VR 관련 게임 분야를 전망했는데 모바일은 71%, VR 디바이스를 구매하는 경우가 17%, 삼성 기어 VR과 같이 프리미엄 모바일 VR 기기는 7%, 마지막으로 소니 플레이스테이션 VR처럼 콘솔 기기를 이용하는 VR이 5%를 차지할 것으로 보고 있다.

<그림5> VR 관련 게임 분야 전망
출처: 가상현실 VR 게임 대중화의 장애물들, 다쓰베이더

플레이스테이션 VR(PS VR)을 발매한 소니는 '바이오하자드7' '배트맨 아캄 VR' '파포인트' '화이트데이 스완송' 등 PS VR용 10여 종을 출시하였고, '검과마법' 등 모바일 게임으로 국내에서 인기몰이를 한 중국계 게임사인 룽투코리아도 총격·격투 VR 게임 '파이널포스'를 선보였다.

더보기


2017년 2월 24일 금요일

인터넷 은행이 소프트웨어 산업에 미치는 영향


전통적으로 가장 보수적인 분야로 알려진 은행도 IT 기술이 적용된 인터넷 은행이 16년말 출범해 운영을 준비중에 있다. 점포 없이 인터넷이나 콜센터에서 예금이나 대출 업무를 보는 은행으로 대규모 지점망 없이 운영되기 때문에 기존 은행에 비해 수수료나 마진율이 좋을 것으로 예측되고 있다. 인터넷 은행은 거의 모든 업무가 인터넷으로 이루어지기 때문에 기존의 인터넷 뱅킹과는 다른 기술적 요소가 필요할 것으로 보인다. 이번 회에서는 I은행 모바일 뱅킹 프로젝트에 참여한 팀원과 S은행의 스타트업 지원 프로젝트 팀원을 만나 이야기를 들어본다.

Q: 안녕하세요. 인터넷 은행이 발표되면서 기존의 인터넷 뱅킹과 무엇이 다른지 궁금증이 생기는데요. 차이점 중심으로 인터넷 은행에 대한 설명을 부탁드립니다.

은행과 뱅킹이 같은 말이라 혼란이 있으실 겁니다. 가장 큰 차이로 보면 인터넷 뱅킹은 오프라인인 은행 지점에서 통장을 만들어 인터넷 뱅킹을 신청해야 합니다. 오프라인 은행 업무를 보기 위한 방법의 하나로 인터넷 뱅킹을 하는 것이죠. 그런데 인터넷 은행은 자체가 인터넷으로 만들어져 있기 때문에 통장 만드는 것부터 예금이나 대출과 같은 업무를 인터넷으로 하게 됩니다.
은행 업무는 전통적으로 계좌개설, 이체, 결재, 여신, 수수료 등이 있는데 그림1과 같은 차이점을 나타냅니다. 업무 측면에서 본다면 거의 똑같고 비즈니스 측면에서는 이용자에게 좀 더 편리한 서비스를 제공하게 됩니다.

<그림1> 기존 은행과 인터넷 은행의 차이점 비교
출처: Brain & Company, 교보증권 리서치센터



애자일에서의 개발 문화와 재사용 연결

애자일 기반으로 개발을 할 때는 사용자 스토리(Story)를 정의하고 개발 단위인 일(Task)을 만든 후 개발(In Process)을 한다. 개발이 완료되면 테스트(Testing)을 거쳐 사용자와 개발자가 완료가 되었다고 인정하면 완료(Done)을 하게 된다(그림3).

<그림3> 애자일 기반의 개발 프로세스
출처: Technology Unplugged

재사용 관점에서 주목해야 할 부분이 바로 완료(Done)이다. 완료는 단순히 개발을 완료했다는 의미가 아니라 하나의 사용자 스토리나 태스크가 완료되어 더 이상 작업할 필요가 없다는 것을 의미한다. 다시 말해 프로젝트가 종료할 때까지 수정하거나 건드리면 안되는 것을 나타낸다.
이전의 SI(System Integration)에서는 개발이 완료되어도 통합 테스트나 프로덕트 테스트 이후에 수정하는 경우가 많았다. 다시 말해 ‘완료(Done)’이 아니라 ‘거의 완료(Almost Done)’로 봐야한다.
재사용을 위해서라면 객체화, 모듈화, 컴포넌트화가 되어야 하는데 단 한번이라도 수정할 여지가 있다면 재사용 객체라고 할 수 없다. 애자일에서 개발이 완료된 이상적인 태스크는 더 이상 수정이 필요 없고 언제 어디서든 재사용할 수 있어야 한다. 그림4와 같이 애자일 기반으로 스크럼이 수행되면서 좌측 상단에 ‘Done’이 계속 쌓이게 되고 최종 목표로 하는 소프트웨어가 모두 완성이 된다.

더보기


게임 소프트웨어 동향


디바이스 발전에 따른 게임 소프트웨어의 변화

그림3에서 보는 것처럼 모바일 게임으로 시장 중심 이동이 가속화되고 있어 스마트폰 보급 활성화에 따라 게임 시장의 중심축이 온라인 게임에서 모바일 게임으로 변화하고 있다.
모바일 게임은 간단하게 즐길 수 있는 캐주얼 게임들이 주류를 이루면서 이동 중에 할 수 있는 게임들 위주로 인기를 끌었으나 최근에는 RPG(Role Playing Games)장르에서 대작 게임이 잇따라 출시되면서 PC 온라인 게임 수준의 다양한 아이템과 콘텐츠, 고품질의 그래픽과 사운드, 시나리오, 대규모 멀티플레이 등으로 무장한 레이븐, 이데아, HIT 등의 게임들이 출시되었고 이용자의 접근성이 온라인 게임보다 편리하기 때문에 이용자들의 계속 이동하는 추세다.
모바일 게임은 경쟁에서 온라인 게임에서 유리하기 때문에 앞으로도 이동이 가속화될 것으로 보이는데 시간 및 장소에 대한 제한이 없기 때문에 수시로 다양한 모바일 게임이 출시되고 있고, 계절적 요인도 PC나 온라인 게임에 비해 자유롭다는 장점도 있다.

<그림4> 모바일 게임 장르 분포
출처: 티버즈, 2016

자율 규제에 의한 소프트웨어의 변화

확률형 아이템을 둘러싼 논쟁과 자율 규제가 도입되면서 2015년 3월 확률형 아이템을 판매할 때 획득 가능한 아이템의 종류와 구성 비율, 획득 확률 등을 공시토록 하는 ‘게임산업진흥에 관한 법률’ 개정안이 발의되면서 확률형 아이템이 논란이 되었다.
확률형 아이템은 게임에서 임무를 완수하면 얻거나 돈을 주고 구입해야 하지만 열어보기 전까지 내용물을 알지 못하는 아이템이다. 개정안 배경에는 확률형 아이템을 획득하기 위해 베팅과 획득한 아이템을 거래하여 현금화시키는 등의 사행성 문제가 대두되었기 때문이다.
확률형 아이템이 모바일 게임의 매출에 상당 부분을 차지하고 있는 현 상황에서 해외 게임과의 역차별과 확률 기준에 대한 개선 요구가 높아지면서 논란이 발생되고 있다. 2015년 7월 한국인터넷디지털엔터테인먼트협회에서 확률형 아이템 자율규제를 도입하면서 논란이 다소 진정된 상태다. 구매 상품에 대한 알 권리를 충족시키고 이용자의 신뢰를 확보할 수 있는 최적의 방안 마련이 필요한 상황이다. 그렇지 않다면 수익 구조가 취약한 국내 모바일 업체 규모가 줄어들 수 있기 때문이다.

더보기


2017년 2월 23일 목요일

SI 프로젝트의 애자일 적용 사례 연구 - 재사용

재사용을 하려는 이유

개발팀의 가장 큰 바램은 이전에 개발했던 것을 다음 프로젝트에서 재활용하는 것이다. 개발 시간과 비용도 낮아지지만 이미 검증이 되어 개발팀의 품질 부담을 줄이는 것이 가장 큰 이유이다. 재사용을 위해 객체(Object)와 컴포넌트(Component) 개념을 기반으로 한 OO(Object Oriented), CBD(Component Based Development) 방법론 등이 많이 활용되었고, 최근에는 아키텍처와 어플리케이션까지 재사용이 확대되는 추세다.

재사용을 망설이는 이유

재사용의 장점은 매우 높지만, 최근까지도 잘 활성화 되지 않고 있다. 처음부터 재사용을 위한 개발을 해야 하기 때문에 추가적인 비용과 시간이 많이 들고 재사용 전문가가 반드시 개발에 참여해야 하기 때문이다. 재사용 소프트웨어를 만들어도 유지 보수하는데 어려움이 매우 크고 들어간 노력 대비 재사용되는 횟수가 적은 것도 재사용을 망설이는 요인 중 하나다. 그 중에서도 가장 큰 요인은 다른 사람이 개발한 것을 믿지 못하는 개발 문화에 있다.

재사용의 단위

재사용은 검증된 소프트웨어를 사용하여 프로젝트 실패 위험을 감소시키고 개발 시간을 단축하는데 목적이 있기 때문에 다른 프로젝트에 잘 적용되도록 범용성이 높아야 하고 재사용을 위해 별도의 수정작업을 거치지 않도록 모듈화가 되어야 한다(표1). 하나의 퍼즐을 완성하기 위해서는 전체 그림을 보면서 조각을 맞추듯이 전체 아키텍처를 그려놓고 처음부터 재사용을 위한 모듈화를 시작해야 한다.

<표1> 재사용을 위한 모듈화의 조건

모듈(Module), 객체(Object), 컴포넌트(Component)는 엄밀히 말하자면 차이가 있는 개념이지만 소프트웨어를 구성하는 단위이고 재사용이 가능하다는 점에서는 같은 개념이라고 볼 수 있다.
하나의 객체는 기능을 나타내는 오퍼레이션(Operation)과 오퍼레이션이 동작되도록 하는 로직(Logic)으로 구분되어 코딩 되는데 많은 테스트를 거쳐 검증이 완료된 객체의 사용은 시간과 비용이 낮아질 뿐만 아니라 오류를 줄이고 신뢰도를 높이는 효과를 얻을 수 있다.
이렇게 만들어진 객체는 재사용을 하는 부분에 따라 3가지로 구분을 하는데 오퍼레이션을 재사용하는 라이브러리(Library)와 로직을 재사용하는 프레임워크(Framework), 자주 사용되는 개발 형태를 패턴으로 정의한 디자인 패턴(Design pattern)이 있다(그림1).