2016년 6월 3일 금요일

자동차 분야 기능안전성(Functional Safety)표준과 소프트웨어 테스팅 표준

더보기

소규모 개발업체의 협업 프로젝트 관리상의 문제점과 극복 사례

  시간, 비용, 품질. 이 세가지는 소프트웨어 개발 프로젝트에서 가장 중요한 요소이다. 특히 소규모 IT 업체의 경우 주로 소규모 프로젝트를 수행하게 되는데, 소규모 프로젝트에서의 시간적인 요소는 투입되는 비용과 산출물 품질에 큰 영향력을 미친다. 비용은 일정과 투입 인원에 종속되어 있기 때문에 일정에 따라 비용이 변경되고, 품질은 투입 인원의 노력 및 투입된 시간에 따라 달라질 수 있다. 즉, 일정에 따라 추가적인 비용 발생, 그리고 개발자들의 심리적 납기 압박으로 인한 품질 저하를 가져 올 수 있다는 이야기가 된다. 따라서, 소규모 IT 업체가 수행하는 프로젝트의 성공 여부는 일정 관리의 성패와 매우 밀접하게 연관되어 있다고 할 수 있다.
창업 7 년 차, 4 명의 인원으로, 네트워크를 통한 효율적인 컴퓨팅 환경을 제공하기 위하여 고군분투하고 있는 (주)아인스웨어의 한창호 대표를 만나 그동안의 어려움과 극복사례를 들을 수 있었다.

 
1. 소규모 개발 업체들이 겪는 어려움과 손실
2. 문제점을 해결하기 위해 시도해 본 노력
3. 레드마인과 같은 협업툴을 이용하여 얻은 효과
4. 소규모 개발 업체를 위한 제언

Q: 소규모 개발 업체들이 가장 어려움을 겪는 부분은 어떤 것인가요?
저희 같은 소규모 개발 업체들이 안고 있는 문제점 중에서 가장 큰 부분 중의 하나가 ‘개발인력의 부족’과 ‘개발시간의 부족’일 것이라고 생각합니다.
작은 회사들은 외주용역을 통해 수익을 발생시키는 구조로 되어있는 곳이 많기 때문에 대부분이 협업으로 진행됩니다. 모든 회사들이 아이디어 및 개발 시 발생하는 다양한 문제점들에 대해서 미팅을 진행하지만 사내 미팅이 아닌, 고객사와의 협업, 게다가 디자인 담당회사 등 다른 업체들까지 함께 협업을 해야 하는 상황이 되면 문제는 훨씬 더 복잡해집니다.
‘미팅’이라는 것이 생각보다 비효율적으로 진행되는 부분이 많은데요. 저희도 창업 초기에는 이 부분에 너무 많은 시간이 할애되어 낭비되는 시간이 많았습니다.
특히, 소규모 IT 업체들은 저희처럼 대표자도 개발에 직접 참여해야 하는 경우가 많은데요. 공동 개발하는 업체로 미팅을 하러 나간다면, 1 시간의 미팅을 위해서 교통 시간과 자료 준비 시간 등을 감안, 최소 2 시간 정도의 시간을 추가로 소비하게 됩니다.

중요한 점은, 미팅을 진행한 이후에 바로 프로그래밍에 집중을 할 수 있는 개발자는 많지 않다는 것인데요. 개발자들의 경우, 프로그래밍 중간에 그 맥을 끊고 다시 프로그래밍을 시작하게 되면 예열이 되는 시간이 필요하게 됩니다. 그러다 보면 정작 개발에 필요한 시간은 점차 줄어들어 시간에 쫓기게 되고, 한정된 시간동안 납기일에 맞춰 개발을 진행하다 보니 인력들은 지치고, 품질도 떨어질 수 있는 어려움이 반복될 수 있는 것이죠. 사실 큰 규모의 회사들처럼 시간과 비용이 넉넉하다면 크게 문제되지 않을 부분일 수 있지만 그렇기에, 소규모 개발 회사일수록 가능한 많은 시간을 개발에 투자할 수 있도록 환경을 구축하는 것이 그 무엇보다도 중요하다는 것을 뼈저리게 느꼈습니다.


인공지능 - 머신 러닝 편

지난 공학트렌드에서는 인 공지능의 한 분야 인 딥 러닝 에 대해 살펴보았다 . 딥 러닝의 정 의와 학습 방법 의 유형 에 대해 알아 보고 적용 사례를 살펴보면서 활 용 방법을 고민해보았다 . 이번 공학트렌드에서는 머신 러닝에 대해 알아본다 . 머신 러닝에는 다양한 개념과 방법이 존재하기 때문 에 주요 한 개념과 자 주 사용되는 알고리즘 중심으로 알아본다 . 지난 공학트렌드의 딥 러닝도 머신러닝의 한 부 분이다 .

머신 러닝의 정의
사전적인 정의를 살펴보면, 백과사전에서는 머신 러닝을 “인공지능의 연구 분야 중 하나로, 인간의 학습 능력과 같은 기능을 컴퓨터에서 실현하고자 하는 기술 및 기법이다” 라고 정의한다. 조금 좁혀서 정의하면 “엄청난 양의 데이터를 스스로 학습하고 정리하여 문제에 대한 해답을 찾아내는 기법이다” 라고 할 수 있다. 최근에는 “학습된 내용을 기반으로 미래를 예측” 하는 것까지 범위에 포함시키고 있다.
사람은 고양이가 어떤 생김새인지 알고 있으면, 처음 본 고양이라도 고양이로 인식한다(그림 1 참조). 하지만, 기계의 경우 고양이마다 고양이라는 인식표를 붙여서 데이터베이스에 저장해야 한다(그림 2 참조).