2016년 6월 14일 화요일

CMMI 절차와 적용사례 [상]

소프트웨어 개발 중 개발팀과 사용자간의 커뮤니케이션 활성화 방법

최근에 소프트웨어 개발에서 가장 관심을 받고 있는 것이 소통(커뮤니케이션;Communication)입니다사용자(고객) 커뮤니케이션을 위해 프로젝트관리자는 많은 시간과 비용을 할애하는 경우가 많았습니다하지만사용자는 자신들의 의견이 올바르게 반영되지 않는다고 불만이 끊이지 않았는데요애자일이 도입되면서 사용자와 개발팀 간의 커뮤니케이션이 더욱 강조되고 있습니다커뮤니케이션을 활성화 시킬 방법에 대해 널리소프트의 천진혁 대표를 만나 이야기를 들어보겠습니다.

 
<널리소프트 천진혁 대표>

Q: 사용자와 개발팀 간의 커뮤니케이션이 중요한 이유에 대해 말씀해주세요.

소프트웨어는 사용자가 원하는 기능을 만드는 것이기 때문에 사용자가 원하는 것이 무엇인지 찾아내는 것이 가장 중요하다고   있습니다예전의 SI IT 아웃소싱에서는 사용자의 요구사항을 개발팀 주도로 정리하였습니다이렇게 요구사항을 정리하면  것을 분석하고 설계해서 개발하는 것이죠그림1처럼 단순한 프로세스이지만 요구사항이 제대로 정리되었는지분석설계나 개발에  반영되었는지 사용자가 확인하려면 요구사항정의서나 문서들을 봐야 하는데  모든 것이 개발팀 관점이라 사용자가 이해하기는 너무 어렵습니다사용자는 눈으로 보이는 것이 자신들이 쓰고 있는 말로 되어 있기를 원합니다.

<그림 1> 요구사항 기준의 소프트웨어 개발 프로세스
 

요구사항을 정의할  사용자는 개발팀과 회의하면서 문서나 자료보다는 개발팀이 직접 말해주는 것만 이해하는 경우가 많습니다그런데개발팀은 문서만 보여주었으면 합니다사용자와 잘못된 커뮤니케이션의 시작인 셈이지요사용자가 원하는 것이 무엇이지 정확히 정리하는 것은 사용자에게도 중요한 일이지만 개발팀에게도 무엇과도 바꿀  없는 중요한 요소입니다요구사항이 잘못 정의되는순간소프트웨어 개발기간 내내 반드시 터질 폭탄을 안고 가는 것과 마찬가지이기 때문입니다소프트웨어의 품질도 커뮤니케이션에달렸다고 해도 과언이 아닙니다이것이 사용자와 개발팀 간의 커뮤니케이션이 중요한 이유입니다.


핀테크 사례 연구 - 개발 프레임워크 편

프레임워크는 소프트웨어를 구성하는 뼈대를 나타낸다다른 소프트웨어나 라이브러리, API 등을 모아 전체 소프트웨어의 틀과 구조를결정하고개발자 코드나 확장 가능한 코드까지 포함한다복잡한 소프트웨어를 개발할 때는 처음부터 새로 만드는 것이 아니라 어느정도 만들어진 프레임워크를 가져와 뼈대 위에 개발하면 비용과 시간을 절약할  있기 때문에 대규모 SI(System Integration) 프로젝트의 경우에는 프레임워크를 포함하는 것이 좋다.
기존 금융 서비스를 연계하고 사업자가 쉽게 서비스를 연결할 필요가 있는 핀테크는 연계성과 확장성이 높은 프레임워크가 절대적으로필요하다이번 회에서는 금융 서비스를 위해 개발된 프레임워크 사례와 1금융권에 적용된 핀테크 사례를 살펴보면서 핀테크 관점의프레임워크 활용 방안에 대해 정리해본다.

 사례 연구  확인 사항

개발 프레임워크와 유사한 것들 
소프트웨어를 개발하다 보면반복되는 코딩이 무수히 많이 나타나고 트랜잭션 관리와 보안 관리  복잡한 고급 기술을 필요로 한다그래서재사용할 확률이 높거나 확장할 필요가 있는 경우 이를 고려해 코딩하는 경우가 많다이것을 다른 소프트웨어나 프로젝트에서다시 사용하면 성능이 검증된 것이라 다시 개발할 필요가 없기 때문에 개발 생산성을 높일  있다.
이와 같은 역할을 하는 것이 라이브러리프레임워크  여러 개가 있다(1). 반드시 구분해서 사용되어야 하는 것은 아니지만 혼용해서 사용되는 경우가 많아 정확한 정의는 기억해두는 것이 좋다플랫폼과 프레임워크아키텍처는 유사한 정의로 사용되기도 한다.

< 1> 프레임워크와 유사한 개념들