2017년 2월 28일 화요일

IT 입장에서 바라본 인터넷 은행을 도입하는 의미

Q: 은행 업무를 보는데 편리하다는 느낌은 있지만 인터넷 은행이 많은 장점을 가지고 있다는 생각은 잘 들지 않는데 인터넷 은행을 도입하는 의미를 IT 입장에서는 어떤 것으로 봐야할까요?

맞는 말씀입니다. IT 입장에서 볼 때 인터넷 은행 도입을 환영할 수 밖에 없는 것은 IT 기술이 전면 적용된다는 것도 있지만 그동안 막혀있던 금융권 제도가 많이 풀리면서 IT 기술이 그만큼 더 많이 적용될 수 있다는 점입니다.
그동안 인터넷 은행이 만들어지기 어려웠던 이유를 살펴보면, 첫째는 인터넷 은행은 IT 전문 기업이 운영을 해야 무리가 없지만 비금융권 회사의 의결권 제한 때문에 IT 전문 기업이 참여하기가 어려웠습니다. 두번째는 최저 자본금 때문에 쉽게 접근할 수 없는 이유도 있었죠. 마지막으로 IT 관련해서는 실명확인 관련입니다. 비대면 실명확인이 이전에는 전면 금지였기 때문에 인터넷 은행이 만들어질 수가 없었죠. 비대면 실명확인이 도입되면서 IT 관점에서는 많은 변화를 기대할 수 있습니다(그림3).

<그림3> 인터넷 은행 관련 변화
출처: 금융위원회

Q: 비대면 실명확인이 가능해지면 IT에서 많은 것을 적용할 수 있다는 얘기인가요? 비대면 실명확인이 매우 중요한 역할을 하는가 보네요?

네 그렇습니다. 우리나라에서 인터넷을 활용한 서비스에서는 보안 3종 세트라는 것이 있습니다. 공인인증서 보안, 키보드 보안, 안랩과 같은 인터넷 보안입니다. 우리가 인터넷에서 무엇을 하려면 액티브X 등으로 계속 설치되던 것들이 바로 이 것이죠. 보안을 강화하는 목적이지만 사용자 입장에서는 매우 불편합니다. 이미 공인인증서 의무 사용이 폐지되었지만 대부분의 온라인 금융 거래에서는 계속 적용되고 있습니다. 그만큼 보안 문제에 대해 부담을 느끼는 것이죠. IT 입장에서는 금융권이 IT 기술을 못 믿는다고도 볼 수 있고요.
비대면 실명확인이 이러한 제약을 대체하는 것은 아니지만 규제에서 조금씩 자유로워지게 되고, 인터넷 은행의 등장으로 복잡하고 불편한 부분들이 해소된다면 기존 금융권에서도 점차 IT 기술에 대한 신뢰도가 높아질 것이라고 기대하는 겁니다.
그림3에서처럼 규제가 어느정도 없어지게 되면 다양한 핀테크 산업이 지금보다 더 활성화 될 것이고, 그에 따른 다양한 금융 서비스가 지속적으로 나타날 것입니다. 사용자는 금융 서비스가 매우 편리해질 것이고요. IT와 소프트웨어 관점에서는 더 고난이도의 기술이 적용될 것으로 보입니다(그림4).


더보기


애자일 개발을 촉진하고 자산 재사용의 실질적인 이점

자산 재사용 확대
I사는 다음으로 자산 재사용을 고민했다. 자사의 소프트웨어를 사용하여 개발자가 자산을 공유할 수 있는 커뮤니티 소스 사이트를 만들었다. 코드를 재사용하면 일반적으로 품질이 향상되고 개발 위험이 줄어들며 생산성을 높일 수 있을 뿐 아니라 더욱 일관성 있는 사용자 환경을 구축할 수 있다는 것을 강조하였다.
이 사이트를 통해 조직 내에서 자산 재사용이 크게 확대되었는데, 예를 들어 설치 프로세스로 만들어진 한 컴포넌트는 152개 제품에서 재사용되었고, 보안 컴포넌트는 175개 프로젝트에서 재사용되었다.
이러한 재사용은 막대한 비용 절감 효과를 가져왔다. 하나의 컴포넌트를 재사용하면 다시 만드는 것에 비해 140 People Years(1년 내에 개발하는데 140명의 인원 필요)의 노력이 줄어든다는 것을 알게 되었다. 재사용을 통해 개발자는 보다 많은 시간을 더 혁신적인 제품 기능을 만드는데 할애할 수 있었다.
커뮤니티 소스 사이트의 성공으로 툴킷, 참조서, 교육 자료 등 다른 자산으로도 확장하였고, 전 세계적으로 427,000여 명에게 유형의 자산을 저장하는 저장소를 만들고 3년이 지난 후 저장소는 80,000여 개 이상의 자산을 포함하고 있고 매주 7,000여 건의 다운로드를 지원하고 있다.

실질적인 이점
애자일 개발을 촉진하고 자산 재사용을 확대하면서 I사는 3억 달러 이상의 비용 절감 효과를 거둔 것으로 추정하고 있으며, 개발자 당 수익이 15% 증대되었고 지원 요청 건수가 줄어들었으며, 버그가 최소화되고 애자일 방식의 사용 범위가 개발 팀의 80%로 확대되었다. 이러한 적용 성공에 따라 개발 팀이 애자일 방식을 최대한 활용할 수 있도록 적절한 도구를 활용할 수 있는 자사 소프트웨어를 제공했다. I사는 애자일이 궁극적으로 고객에게도 이익이 된다고 강조하며 기업 특히 소프트웨어 개발 팀에서 개발자의 효율성을 극대화할 수 있다고 보고했다.


게임 산업의 소프트웨어 외적인 부분

VR 게임의 제작 장벽이 낮아지면서 다양한 게임들이 나오고, 이에 따라 게임의 전반적인 질도 좋아지는 선순환이 일어날 전망이다. 하지만, 넥슨, 넷마블 게임즈 등 국내 업체는 VR 열풍을 찾아보기 어렵다. 오히려 막강한 기술력을 투입한 모바일 대작 게임에 집중하고 있는 상황이다. VR 게임 시장의 인프라가 아직은 미성숙해 우리나라에서는 참여를 망설이는 측면이 있다는 의견이 지배적이다.

또 다른 기술로, 딥러닝을 통한 인공지능 기술이 발전하면서 게임에도 인공지능 기술이 적용되고 있다. 게임 인공지능은 인간의 지능을 모사하여 NPC(Non-Player Character)의 지능적 행동을 구현하는 분야에 적용이 가능하고, 특정 기능을 수행하기 위해 일정한 패턴을 주입시키거나 학습하기 때문에 고도의 지능적 추론이나 판단이 필요하지 않다. 또한 난이도 조절, 콘텐츠 자동 생성 등 게임의 퀄리티를 높이기 위한 도구로도 사용된다.
학습 기반의 인공지능으로 진화되면서 단순한 규칙 기반(rule-based)의 접근방법은 플레이어에게 쉽게 패턴이 노출될 수 있기 때문에 플레이 스타일을 학습하여 더욱 역동적인 NPC 구현 가능하다.
엔씨소프트는 다중접속역할수행게임(MMORPG) 블레이드&소울에 인공지능을 적용했다(그림7). 무한의 탑 NPC에 인공지능을 적용한 AI NPC를 적용하였고, AI NPC는 게임상에서 던전 내 게임 이용자 캐릭터에게 끊임없이 공격과 방어 기술을 사용한다. 게이머는 사실 인공지능과 싸우지만, 실제 이용자와 전투하는 느낌을 받는다.
또한 블레이드&소울은 인공지능의 기계학습 중 강화 학습 기술을 도입하여 게임 이용자의 실력을 분석해 난이도를 자동으로 정해준다. 탑 층이 높아질수록 더 강력한 AI NPC 와 대결을 펼치게 된다.

<그림7> 블레이드&소울의 개요
출처: 엔씨소프트

소프트웨어 외적인 부분

블리자드 엔터테인먼트의 오버워치 출시 이후 국내 온라인 게임 시장에서 외산 게임이 과반을 넘는 점유율을 차지하게 되었다. 오버워치가 국내 PC방 점유율을 33%까지 차지하며 1위를 수성하고 있고 리그오브레전드(lol)와 함께 상위 2개가 외산 게임이다. 전체 온라인 게임 시장의 약 60.5%를 차지하고 있다.
우리나라 게임인 넥슨의 서든어택과 네오플의 던전앤파이터, 엔씨소프트의 리니지 등은 게임의 주요 수익을 차지하고 있는 인앱 결재 방식의 무작위 아이템 판매에 제동이 걸려 수익에 영향을 받고 있는 상황이다. 향후에도 국내 게임 산업 규제로 인해 게임 산업 전반이 외산 게임에 다소 고전할 것으로 예상된다.

더보기


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).


게임 산업 동향과 적용 기술 분석


온라인 게임이 주류를 이루고 있는 지금 다양한 IT 신기술이 나타나면서 게임 산업 전반적인 변화가 감지되고 있다. PC나 모바일 디바이스를 손으로 제어하면서 즐기던 게임에서 VR이나 인공지능이 가미된 직접 참여적이고 지능형 게임이 소개되고 있다. 이번 회에서는 게임 산업의 동향과 그에 따른 신기술에 대해 살펴보기로 한다.
게임 산업 동향

국내외 게임 산업 동향

세계 게임 시장은 평균 5% 대의 안정적 성장세가 지속되고 있다. 2016년 세계 게임 시장 규모는 2015년 대비 4.6% 성장한 1,359억 달러 규모로 나타났으며 2017년에는 3.8% 성장한 1,411억 달러 규모로 추산하고 있다(그림1).

<그림1> 세계 게임 시장 규모
출처: PWC(2015), Enterbrain(2015), JOGA(2015), 한국콘텐츠진흥원(2015), 문화관광체육부(2015), 대한민국 게임백서(2015)

국내 게임 시장은 모바일 게임이 본격적으로 시작된 2014년과 2015년에 10% 가까운 성장을 보였으나 게임 산업 규제로 인해 성장세가 크게 꺾이면서 2016년에는 전년도 대비 5.6% 성장에 그칠 것으로 보인다. 2017년에도 성장률 둔화가 지속될 것으로 전망되고 있다(그림2).

<그림2> 국내 게임 시장 규모
출처: PWC(2015), Enterbrain(2015), JOGA(2015), 한국콘텐츠진흥원(2015), 문화관광체육부(2015), 대한민국 게임백서(2015)



SK C&C Agile 방법론(SKPE-Agile)

출처: http://skccblog.tistory.com/299
해당 사례에서는 SK C&C Agile 방법론으로 SI에 애자일을 적용하고 있다. 해당 사례에서 애자일 프로세스를 적용하는 방법은 아래 사이트를 참고 바란다.
해당 사례에서 애자일을 적용하는 주요 목표는 짧은 개발 주기를 반복하여 서비스를 조기에 출시한다는 것이다. 이 목표를 달성하기 위해 반복 점진적 개발을 통해 제품의 완성도를 향상하고자 하였고, 매 이터레이션마다 고객의 참여 시연을 유도해 요구사항과 제품의 구현 검증, 평가를 하고자 하였다. 이터레이션의 기본 프레임은 이터레이션 계획, 수행, 검토로 구성되고, 반복 주기는 2~N회, 주기당 기간은 2~4주, 스크럼 별 데일리 스크럼 회의를 실시하였다(그림7).

<그림7> 애자일 기반 개발의 스크럼
출처: http://skccblog.tistory.com/299

그리고 해당 사례에서는 반복과 점진(증분)을 위해 그림8과 같은 활동을 하였는데 이 활동은 고객의 참여로 인해 스토리 단위로 구현에 필요한 아키텍처, 설계, 코딩 및 테스트 등의 필요한 모든 작업들을 유기적으로 수행한 것으로 확인되고 있다.
본 사례의 성공 요인은 스토리 단위로 모든 개발 프로세스가 진행되었고 반복과 점진적으로 빠르게 개발하면서 완성도를 높인 점이다. 이러한 점은 고객의 이해도를 높여줬고 완성된 서비스 또한 만족도가 높을 수 있게 했다.


더보기


2017년 2월 22일 수요일

봇넷과 IoT로 인한 보안 문제

Q: IoT 장비에 PC처럼 공격 명령을 내릴 수 있다는 것인가요? 카메라 같은 장비를 통해 가능하다는 것이 놀랍네요.

네 그렇습니다. IoT 장비 뿐만 아니라 IP 주소가 배정되는 모든 디바이스에는 가능한 얘기입니다. IoT 장비를 통한 봇넷이 왜 더 위험하냐 하면 PC나 모바일 디바이스의 경우는 경험에 의해 자체적인 보안 설정을 만들 수 있지만 IoT 장비들은 아직 시작 단계일 뿐만 아니라 IoT 장비를 움직이는 최소한의 설정만 되어 있는 경우가 많아 보안 자체가 없는 경우도 있습니다. 봇 마스터가 이를 이용하기는 더 쉬운 것이지요. 카메라 뿐만 아니라 집에 있는 냉장고나 자동차가 DDoS 공격을 하는 사례가 나올 수도 있는 상황입니다.

Q: 영화에서나 보던 보안 사고가 날 수도 있는 여지가 생겼다는 것에 대해 매우 심각해 보이는데요. IoT로 인한 보안 문제에 대해 조금 더 자세히 설명 부탁합니다.

불과 얼마 전에 미라이(Mirai) 봇넷이 이슈가 되었습니다. 원래 봇을 만들기 위해서는 이메일을 수도없이 보내고 그 중에서 악성 코드를 실행한 PC만 가능했는데 미라이 봇넷의 경우는 62개의 아이디와 패스워드만으로 거대한 봇넷을 구축했다는데 주목해야 합니다. PC의 경우는 손댈 것이 너무 많은데 IoT는 아이디와 패스워드만 알아도 봇으로 만들 수 있다는 것과 IoT 장비의 아이디와 패스워드는 사용자가 관심있게 관리하지 않는 단점도 있어 미라이 봇넷이 확산 여지가 충분하다는 것입니다.
미라이 봇넷은 일반적으로 쉘을 제공하는 22번이나 23번 포트를 통해 침입하는데 접속하기 위해 자주 사용하는 아이디와 패스워드 테이블을 미리 만들어 랜덤하게 대입합니다. 이 때 만든 아이디와 패스워드 셋이 62개 정도였습니다(그림4).

<그림4> 미라이 봇넷에서 사용된 아이디와 패스워드
출처: IT World

침입 방식을 정리해 말씀드리면 접속된 IP를 스캔하면서 IoT 장비를 찾고 랜덤하게 대입한 아이디와 패스워드로 접속이 되면 텔넷 포트를 닫아 다른 공격자나 관리자 접속을 차단합니다. 봇 마스터는 감염시킨 봇을 찾지 못하도록 무작위로 IP 주소를 변경하는 경우도 있어 감염 여부를 확인하거나 공격자를 찾기가 쉽지 않은 경우도 있습니다.

더보기


SI에서 애자일 적용하는 방향성


위에 언급된 3가지 말고 SI 개발과 애자일 개발의 차이점은 많이 있지만 SI에 애자일을 적용하는데 필요한 최소 요건으로 볼 수 있다. SI에서 애자일을 적용하기 위해서는 다음과 같은 사항을 주의 깊게 정리해야 한다.

요구사항의 스토리화

SI를 시작하는 기본 요소는 요구사항 리스트다. SI를 했던 개발자는 요구사항을 엑셀에 기능 단위로 정리하는 경우가 많다. 분석, 설계, 개발을 수행하며 요구사항이 제대로 반영되었는지 확인하는 정도로 마무리 되도 프로세스로는 문제가 없는 것으로 보인다. 하지만 기능적으로는 모두 완료가 된 것으로 보여도 고객의 업무상으로는 확인하지 않았기 때문에 오류를 보일 확률이 매우 높다.
애자일에서는 이러한 오류를 줄이고 고객의 개발 이해도를 높이기 위해 개발 단위를 스토리로 하는 것이다. 스토리 정의를 위해서 프로젝트 시작 전에 사용자 스토리 워크샵을 하는 것을 권장하지만 일정상 무리가 있다면 프로젝트 시작 후에 진행해도 무방하다.
스토리 형태로 만들어지면 그림4와 같이 점진 단위의 개발이 이루어지고 테스트도 사용자 스토리 단위로 가능해지기 때문에 하나의 시나리오로 수행되는 TDD(Test Driven Development)도 가능하게 된다(그림5).

<그림5> 사용자 스토리 vs. 시나리오. TDDs 맵핑


더보기


유저테스팅을 해야하는 이유와 기대효과






더보기

2017년 2월 21일 화요일

IoT로 인한 더 큰 DDoS 재앙

Q: IoT 장비에 대해서도 제공 업체뿐만 아니라 사용자도 관심있게 지켜봐야 하겠네요. IoT로 인한 더 큰 DDoS 재앙을 예측하는 사람도 많은 이유가 여기에 있는 것 같습니다.

앞으로도 ICT 기술이 발달한 나라일수록 DDoS에 대한 위험도는 더 높을 것입니다. 게다가 IoT 장비가 늘어날수록 DDoS에 대한 위험도 더 늘어나겠지요. 그림5에 나타난 것처럼 DDoS 발원지로 우리나라가 전세계의 4%나 차지하고 있습니다. 절대량을 나타내는 것이기 때문에 매우 높은 수치라고 볼 수 있습니다.

<그림5> DDoS 공격 발원지
출처: 아마카이코리아

아마카이코리아에서 발표한 2016년 인터넷 현황 보안 보고서에 따르면 2016년 3분기에만 4,556건의 DDoS가 발생했는데 지난해에 같은 기간에 비해 71%나 증가한 수치고 이 중에서 500Gbps 이상이 2건 발생했는데 모두 미라이 봇넷이라고 합니다. 그만큼 IoT를 이용한 봇넷 공격이 상상을 초월하는 결과를 가져온다는 것이죠.

Q: PC의 경우는 백신 프로그램이라도 있는데 미라이 봇넷에 감염되었는지는 어떻게 확인할 수 있나요?

일단 텔넷 포트 22번과 23번이 닫혀 있다면 미라이 봇넷에 감염되었다고 판단해야 합니다. 미라이 봇넷은 메모리에 상주하기 때문에 IoT 장비를 리부팅해도 다시 실행되기 때문에 일단 오프라인 상태로 리부팅하고 관리자 아이디나 비밀번호도 변경해야 합니다.

더보기


프로그램(Program) 단위 개발과 점진(Increment) 단위 개발

SI는 개발을 프로그램 단위로 한다. 프로그램 ID를 순서대로 개발하고 시스템을 완성해 나가는 방식이다. 물론 필요에 따라 프로그램 ID 순서와 관계없이 개발하는 경우도 있지만 중요한 방향성은 단위 프로그램을 개발하고 완료된 프로그램들을 모아서 시스템으로 구성하는 것이다.
애자일은 점진 단위로 개발한다. 하나의 스토리를 먼저 구성해 놓고 스토리를 점진적으로 완성해 나가는 방식이다(그림4). 하나의 스토리를 완성하게 되면 고객의 확인을 받아 최종 개발 완료(Done)된 건으로 분류하여 관리하게 된다.

<그림4> 애자일의 점진적 개발
출처: Agile methods for better and faster UX solutions

점진 단위 개발의 장점은 점진적 개발이 완료되면 개발자나 고객이 이해하기 좋은 스토리 단위로 완성이 된다는 점이다. 프로그램 단위 개발은 프로그램 하나가 개발이 되어도 개발자 말고는 이해하기 어렵기 때문에 시스템이 완료되어 통합테스트가 끝나기 전까지 개발자나 고객이 제대로 개발되었는지 확인하기 어렵다.
실제 애자일을 적용한 경우에도 스토리 별 점진적 개발이 이루어지지 않으면 프로젝트 내에서 리뷰와 피드백 활동이 어렵게 된다. 사용자 스토리 워크샵이나 프로젝트 초기에 스토리 정의가 매우 중요하다.


더보기


유저테스팅 조기에 해야하는 4가지 이유


  • 왜 유저테스팅인가?








더보기


2017년 2월 20일 월요일

봇넷의 근본적인 이유와 최근에 다시 이슈가 된 이유

Q: 봇넷이 나타난 것이 꽤 오래 전으로 알고 있습니다. 아직까지도 봇넷의 근본적인 해결이 안되는 이유와 최근에 다시 이슈가 된 이유에 대해 설명 부탁합니다.

봇넷은 90년대초에 EggDrop이라는 것으로 처음 나왔습니다. 그 이후에도 Forbot, PBot, Toxbot 등 많은 변종 봇들이 나타났고 최근에는 그 숫자도 더 늘고 있어 대응에 매우 어려움을 겪고 있습니다. 근본적인 해결이 어려운 이유는 감염만 시키면 타겟팅 된 PC를 손쉽게 제어하면서 다양한 2차 공격을 할 수 있기 때문에 신종 봇들을 계속 만들어내기도 하고 이미 감염된 수많은 좀비 PC들을 한꺼번에 치료할 수 있는 것도 아니기 때문에 감염이 꼬리를 물면서 유지되는 것이지요.
관심도가 떨어진 적도 없지만 최근에 다시 이슈가 되고 있는 이유는 초고속 인터넷 망이 구축되면서 네트워크 속도도 빨라지고 더 많은 PC들이 접속되고 있기 때문입니다. 특히 우리나라처럼 인터넷 망이 우수한 곳에서는 봇넷이 더 많이 활동하고 있다고 봐야 합니다.
봇넷의 주된 확산지였던 이메일 뿐만 아니라 SNS를 통해 더 많은 확산 방법이 생겨나면서 최근의 위험성이 더 강조되고 있습니다. 특히 IoT의 확대로 앞으로 더 큰 걱정인데요. 무제한으로 데이터를 수집하는 창구인 IoT는 기존 기술들에 비해 보안성이 상대적으로 낮아 봇넷의 집중 타겟이 될 수 있습니다.

Q: 봇넷의 주된 공격 방법이 좀비 PC를 이용한 DDoS로 알고 있는데요. 모두 그런 것은 아니지만 DDoS에 대한 대응 방법이 어느 정도 성공을 거둔 사례도 있고 툴도 나와 있는 것으로 알고 있습니다. 다시 봇넷의 심각성이 왜 대두가 되고 있는 것인지 조금 더 자세한 설명 부탁합니다.

네 맞습니다. 이전에 봇넷은 감염된 좀비 PC를 활용해 DDoS나 스팸 발송 등의 공격을 하고 공격과 동시에 봇을 더 확대하는 형태가 일반적이었습니다. 그림2에서 보는 것처럼 감염된 좀비 PC를 C&C 서버를 통해 수시로 제어하면서 다양하고 빈번한 공격이 가능했습니다.

<그림2> 봇넷의 공격 방법
출처: KISA

더보기


한번에 개발과 반복(Iteration)을 통한 개발(Sprint)

SI는 프로세스 상 분석, 설계, 개발을 한번에 진행하는 폭포수(Water-fall) 방식을 취한다. 한번에 분석하고 한번에 설계하고 한번에 개발하기 때문에 계획한대로 끝난다면 한번의 프로세스로 마칠 수 있어 시간이 매우 절약될 수 있지만 개발되는 중간이나 이후에도 고객과 의견이 맞지 않아 마찰이 빈번하게 발생한다.
애자일은 3차례 정도 반복해서 개발하는 방식을 취한다. 한번 개발이 끝나는 것을 이터레이션이라고 하고 한번의 스프린트가 완료되었다고 말한다. 스프린트의 단위는 계획(또는 커뮤니케이션), 디자인, 빌드(개발), 테스트, 리뷰로 이루어진다(그림3). SI와 같이 요구사항 분석, 분석, 설계, 개발, 테스트로 구성되어도 무방하다.

<그림3> 애자일 스프린트의 예
출처: 노나카 이쿠지로 - 애자일 개발과 스크럼

스프린트 모델의 장점은 개발 결과물에 대한 고객의 피드백을 받아 반영할 시간이 보장되어 있다는 것이다. 폭포수 모델의 경우 한번 개발이 완료되면 잘 못 개발되었다고 하더라도 수정하기가 매우 어렵다. 반면에 스프린트 모델은 하나의 스프린트가 끝날 때마다 고객에게 제대로 개발되었는지 확인하고 보완사항을 반영하여 다음 스프린트를 수행하게 된다. 일반적으로 3회 정도의 스프린트라면 고객이 만족할만한 개발이 된다고 알려져 있다.
SI에서도 CBD(Component Based Development) 모델이나 애자일 초기 시점에 이터레이션을 활용한 적이 있었지만 크게 성공하지는 못했다. 한번의 이터레이션이 종료될 때 개발의 주체에 고객이 없어 고객의 피드백을 받지 못했기 때문에 이터레이션의 효과를 보지 못했다. 하이브리드 형 애자일도 성공하지 못한 것도 비슷한 이유 때문이었다. 애자일의 기본 방향성은 고객의 참여이기 때문이다.

더보기


User Testing Brain & Software



  • 유저테스팅이란?


  • 유저테스팅 프로세스





  • 유저테스팅 대상




더보기

2017년 2월 17일 금요일

봇넷의 현황과 대응기술 방향


스마트 디바이스의 보급으로 사이버 공간이 지속적으로 확대되고 있고 수많은 정보가 옮겨지고 있다. 개인정보를 수집하여 악용하거나 경쟁사의 시스템을 못쓰게 하는 등 네트워크로 연결된 곳에서는 언제나 위험이 산재해 있다. 이번 회에서는 보안과 관련하여 많은 이슈가 되고 있는 봇넷(botnet)에 대해 글로벌 아웃소싱센터를 구축하고 담당하는 한용만 박사와 단국대학교 컴퓨터보안연구센터원을 만나 이야기를 들어본다.

Q: 안녕하세요. 봇넷은 인터넷 세상에서 가장 위험한 공격으로 알려져 있습니다. 봇넷에 대한 정의를 부탁합니다.

스팸 메일이나 악성 코드를 전파하도록 하는 봇(bot)에 PC가 감염되어 해커(bot master)가 마음대로 제어할 수 있는 좀비 PC들로 구성된 네트워크를 말합니다(그림1). 일단 악성 코드 하나가 심어지고 나면 순식간에 전파될 수 있어 최근에 가장 위험한 공격 중 하나로 꼽히고 있습니다.

<그림1> 봇넷의 공격 개념
출처: 인터넷침해대응센터

일단 좀비 PC로 감염이 되고 나면 봇 마스터가 지속적으로 좀비 PC를 제어할 수 있기 때문에 침해 사고의 범위가 무한대로 늘어날 수 있다는 높은 위험성을 가지고 있습니다. 봇넷의 경우 원천적으로 차단하거나 감염된 PC를 쉽게 치료할 수 있는 기술이 있는 것은 아니기 때문에 이번 회에서는 기술적 요소보다는 봇넷의 위험성과 위험에 노출되지 않기 위한 방법 등에 대해 기억했으면 합니다.


SI와 애자일에서 요구사항 수집

SI와 애자일에서 가장 크게 차이가 있는 부분이다. SI는 고객이 요청하는 요구사항을 기반으로 하기 때문에 요구사항 정의에 신중을 기하고 고객이 요구하는 것 외에는 개발에 반영하려는 노력을 하지 않는 것이 현실이다. 요구사항이 한번 정해지면 프로젝트 종료할 때까지 번복하기가 매우 어렵고 고객과 협의도 쉽지 않기 때문이다.
애자일은 커뮤니케이션을 기본으로 한다. 요구사항을 수집하기는 하지만 사용자 스토리 단위로 요구사항을 정리하기 때문에 고객이 미처 생각하지 못한 부분을 찾아내어 함께 정의할 수 있다. 그리고 프로젝트 중간에도 요구사항이 맞지 않으면 빠르게 변경하여 대응한다.
애자일에서는 요구사항을 사용자 스토리 단위로 정의하여 필요한 기능들을 정의하게 된다. 하나의 스토리에 필요한 기능이 정의되고, 기능이 모두 개발되면 한 개의 사용자 스토리가 완성이 되는 것이다(그림2). 사용자 스토리를 체계적으로 정리하기 위해 사용자 스토리 워크샵이라는 활동을 따로 하는 경우가 일반적이고, 이렇게 정리된 사용자 스토리를 개발 일정에 맞춰 프로젝트 계획을 수립하게 된다.

<그림2> 애자일의 사용자 스토리 기반 요구사항 정의

요구사항이 정의되는 시점에 SI와 애자일의 가장 큰 차이점은 SI는 단편적인 요구사항만 정의되는 경우가 많고 애자일은 스토리 단위로 정의되는 것이다. 스토리 단위로 정의하는 것의 장점은 고객이 얘기하지 않아도 스토리 전개 상 필요한 것들이 한 눈에 들어오고 설사 얘기되지 않은 기능들도 찾아낼 수 있는데 있다.



더보기

디자인 씽킹 - 펩시콜라와 코카콜라 이야기

  • 펩시콜라와 코카콜라 이야기


  • 문화인류학적 조사를 시행하라


  • 문화인류학적 조사를 시행하라



2017년 2월 16일 목요일

ICBM 기반의 산업

Q: ICBM이 오늘 주제에서 나오리라고 생각은 못했습니다. 앞으로 인더스트리 4.0에 맞춰 재구성되는 산업은 ICBM 기반으로 만들어지겠다는 생각이 듭니다.

ICBM을 얘기하면 IT나 소프트웨어 전문가조차도 너무 개념적인 이야기라고 말을 많이 합니다. 하지만 ICBM은 미래형 산업에 가장 잘 적용되는 구성 방안이라고 볼 수 있습니다. 어느 미래 산업이든 빅데이터를 생산해낼 것이고 이를 위해서는 수집하는데 필요한 IoT 센서가 필요하고 체계적으로 분석하고 성장하기 위해 머신 러닝이 꼭 필요하기 때문입니다. 클라우드는 이 것들을 하나로 묶어주는 역할이겠지요.

Q: IT 기술이 발전하면서 여러 산업들은 더 많은 발전을 이루기 때문에 상상하지 못하는 형태의 제품들이 많이 나올 것이라 생각했는데 소프트웨어 입장에서 보면 표준화된 틀 내에서 움직이는 것 같습니다. 이번 이야기의 마무리를 부탁드립니다.

이번 이야기의 주제는 보는 시각에 따라 다양하게 해석될 수 있습니다. 아직 체계가 덜 잡힌 개념이라고 볼 수도 있지만, 그만큼 기대되는 것들이 많다는 얘기도 됩니다. 점점 단순해져 간다고 느끼던 소프트웨어가 산업 변화의 중심이 된다는 것은 매우 흥미롭고 장미빛 전망을 주기도 하지만 체계적이고 효율적인 접근이 없다면 모든 산업을 망칠 수도 있다는 위험도 안게 됩니다. 이러한 위험을 줄이기 위해서는 소프트웨어 개발자들이 소프트웨어만 공부할 것이 아니라 소프트웨어가 필요한 다양한 산업에 대한 심도 있는 학습이 필요한 시점입니다.