2015년 7월 22일 수요일

드론 소프트웨어 개발

드론은 유통, 광고, 측량, 보안, 안전관리, 셀피, 게임, 헬스 등 우리 일상은 물론 국방, 행정 등에서도 다양한 변화를 만들어 낼 것입니다. 

Flyver 회사는 드론 소프트웨어 개발용 SDK를 GitHub에 오픈하고 다양한 드론 소프트웨어 개발에 도전하고 있으며 자신들의 App Gallery에서 드론이 가져올 일상의 변화를 이해하기 쉬운 컨셉으로 제시하고 있습니다(그림1). 그리고, 이 컨셉 중에는 이미 실현된 앱도 있습니다.

그림1. Flyver App Gallery: 일상을 변화시킬 드론 앱
출처: http://flyver.co/drone-apps/
국내에는 2015년 3월 기준으로 UAV(Unmanned Aerial Vehicle, 무인항공기) 전문 소프트웨어를 생산하는 기업은 안타깝게도 없습니다. 전량 외국에서 수입합니다. AI(인공지능), 운영체제 기술, 충돌 회피 알고리즘 등 고도의 기술력이 요구되는 드론 전문 소프트웨어는 드론 생산 비용의 40% 이상을 차지합니다.

현재 중국 기업 DJI가 세계 드론 소프트웨어 시장의 50%를 차지할 정도로 거의 독점하고 있습니다. 이 회사는 2006년에 설립된 이래 정부의 지원과 지속적인 연구개발로 2014년에는 매출 5,503억원을 달성하는 등 이 분야에서 세계적 기업이 되었습니다. SW품질은 선진국 수준이고, 가격은 경쟁업체 대비 10분의 1에 불과합니다. DJI는 자신들의 드론 사용을 확대하고 좀 더 창의적인 드론 개발 아이디어를 얻고자 SDK(Software Development Kit)를 공개했습니다. 이 SDK로 개발자는 DJI 드론뿐만 아니라 드론 카메라, 짐벌(나침반·크로노미터를 수평으로 유지하는 장치), 공중 커뮤니케이션에 대한 컨트롤을 수행할 수 있습니다. 더군다나 이 SDK는 iOS 및 Android systems과 호환이 됩니다.

SW사업 선진화를 위한 SW발주기술 지원 사업

최근 몇 년간, 범국가적으로 SW산업 활성화가 눈에 띄게 가시화되고 있습니다. SW산업진흥법, SW중심사회, SW제값주기 등 발주분야뿐만 아니라 SW분야 전반에 걸쳐 제도적인 개선을 추진해 온 것입니다. 하지만 이런 움직임 이후에도, 기대와는 달리 여전히 SW기업들이 적정사업기간과 적정대가를 보장받지 못하고 있으며, 새롭게 공공 정보화 시장에 참여한 중견기업들도 여전히 발주관행, 대가체계, 일하는 방식 등 후진적 환경구조를 답습하고 있습니다. 

 이것은 SW기업의 문제라기보다는 보다 근본적으로 발주환경과 잘못된 관행에 큰 원인이 있다고 할 수 있습니다. SW사업에 대한 이해와 전문성이 부족한 발주자가 요구사항을 명확히 제시하지 못하면 해당 SW사업은 물론 관련 조직의 존폐에도 영향을 미칠 수 있습니다.


SW 발주 전문성이 부족할 때 초래하는 문제점 

l  개발중에 잦은 과업변경과 그로 인한 개발기간 지연
l  SW 사업의 부실과 더불어 참여기업 수익성 악화
l SW 개발자의 노동환경 악화
l  개발을 담당한  SW기업과 사업에 참여한 솔루션 업체들의 생존 위협


발주역량 강화와 발주환경의 체계를 선진화하기 위해, 
[SW발주기술지원센터] 출범

공공부문 정보화 사업 발주/관리의 모든 단계에서 상세요구사항도출, 사업기간 및 비용산정 등 발주자가 어려워하는 업무지원을 위해 해당 분야의 전문가를 투입하여 지원하는 내용을 골자로, 공공SW 사업의 발주담당자 역량강화를 위한 제도적인 지원 장치를 마련한 것입니다.

자세히 보기 →

사용자 의도를 정확히 파악하여 소프트웨어를 개발하는 TDD(Test Driven Development) 활용법

사용자 스토리 워크샵은 사용자와 소프트웨어 개발자 간의 커뮤니케이션을 활발하게 하여 만들려는 소프트웨어의 비전을 공유하고, 기능을 구체화한 사용자 스토리를 정리하는 활동이다. 사용자 스토리 워크샵의 가장 큰 목적은 “사용자의 요구사항을”, “사용자와 함께”, “사용자의 용어”로 정의하는 것입니다.

이렇게 만들어진 사용자 스토리를 기초로, 소프트웨어 개발자는 사용자의 요구사항을 프로젝트 초기부터 명확히 반영한다면, 사용자의 요구사항이 제대로 반영되지 않아 재개발을 해야 하는 문제가 발생하지 않을 것입니다. 최근의 소프트웨어 개발 트랜드는 소프트웨어 개발자의 개발 역량에 치중하는 것이 아니라 사용자의 요구사항을 명확히 반영하여 사용자의 만족도를 높이는 것으로 변하고 있습니다. 다시 말해, 소프트웨어를 개발자의 관점이 아닌 사용자의 관점으로 개발하는 것이 소프트웨어 개발자에게 요구되고 있는 것입니다.

사용자 스토리를 작성한 후 소프트웨어 개발자가 어떤 활동을 해야 하는지를 살펴보고자 하며, 그 중에서도 소프트웨어 개발자 주도로 진행되던 테스트를 사용자 관점으로는 어떻게 해야 하는지 알아보도록 합니다.

<소프트웨어 개발자의 필요역량 변화>