본문 바로가기

원포인트 레슨

34주차. 마이크로워크를 통한 집중하기




스마트폰 열풍이 불기 전, 모바일 개발자들은 폰마다 다른 다양한 플랫폼에 맞춰 개발을 해야 했다. 필자도 그 시절 BREW, WITOP과 같은 여러 가지 플랫폼에서 개발을 했었는데 서로 다른 언어로 프로그래밍을 해야 하다 보니 시간부족으로 시행착오를 많이 겪었었다. 특히 내부 코어 로직의 경우는 기본적인 흐름이 비슷해서 소스 간 변환이 가능했지만 화면 UI의 경우 플랫폼에서 지원하는 API의 형태들이 달라 난감한 상황에 직면하는 경우가 종종 있었다. (API란 'Application Programming Interface'의 약자로, OS가 가진 다양한 기능을 프로그램에서 불러내어 사용하기 위한 장치를 말한다.)





상황이 이렇다보니 한 포털 카페에서 특정 기능을 라이브러리 형태로 제작하여 판매하는 개발자들이 생겨나게 되었다. 그들은 특히 리스트, 한글입력기와 같은 UI쪽 컴포넌트를 꾸준히 업데이트하며 판매를 했는데 제법 많은 사람들이 구매를 하며 활성화 되었다. 그리고 그런 모습을 보며, 조만간 소프트웨어를 컴포넌트 단위로 판매하는 비즈니스 모델도 생길 수 있겠다는 생각을 했었다.

처음 앱을 제작하게 되면, 보통 하나의 패키지 형태로 자신의 노동력을 제공하는데 익숙한 나머지 막히는 부분이 생겨도 이를 다른 사람에게 문의하기 보다는 혼자 끙끙대며 해결하려다 시간을 지체하는 경우가 발생하게 된다.

하지만 자신이 잘 하는 분야가 명확하다면 이를 쪼개낸 뒤, 나머지 부분 중 다른 사람이 처리했을 때 비용과 시간을 줄 일수 있는 곳이 있는지 생각해볼 필요가 있다. 즉, 하나의 일을 마이크로워크 단위로 쪼개어 각각의 분야를 가장 빠르게 처리할 수 있는 형태로 재분배를 하는 방법이다.

이런 마이크로워크를 앱 제작에 적용하기 위해서는 다양한 방법과 절차가 있겠지만 오늘은 가장 간단한 두 가지 방법을 살펴보기로 하자.



1. 매시업과 오픈소스를 활용하자.

2005년 구글이 자신의 맵 API를 공개하면서 매시업은 빠르게 진화되었고, 웹 서비스의 발달로 인터넷 상에 존재하는 다양한 서비스의 기능을 제공하는 API를 쉽게 가져다 쓸 수 있게 되었다. 예를 들어, 자신이 개발한 서비스에 구글 맵의 API를 적용하면 몇 줄의 코딩만으로도 맵의 훌륭한 기능들을 모두 이용할 수 있다.

게다가 검색, 번역, 스케줄관리, 음성인식, 문자인식과 같은 다양한 API를 공개하는 서비스들과 소규모 오픈소스 프로젝트들도 계속 증가하고 있는 추세이기 때문에 이런 기능을 잘 조합하는 능력이 개인의 개발능력 못지않게 중요해지고 있다. 실제로 필자는 이미 잘 구현되어 무료로 제공되고 있는 웹 서비스의 기능이나 오픈소스에서 포함되어진 기능을 처음부터 하나씩 개발하며 시간을 소비하느라 정작 중요한 기능에 시간을 할애하지 못해 프로젝트가 연장되는 모습을 주변에서 본적이 있다.

자신들이 잘하는 분야에 리소스를 집중하고 그 외에 부분은 다른 웹 서비스를 불러 이용하게 되면 새로운 형태의 서비스를 빠르게 개발할 수 있는 장점이 있다. 앱을 제작하기에 앞서 구현해야 하는 기능을 이미 API로 제공하고 있는 서비스나 오픈소스가 없는지 확인하고 시작도록 하자.



2. 아웃소싱을 이용하자.

또 다른 방법은 특정 기능에 대한 구현을 아웃소싱 하는 것이다.

아직 모바일 분야에 대한 특정 기술이나 컴포넌트를 거래하는 전문화된 공간을 찾기는 힘들다. 때문에 현재로서는 앱 개발과 관련된 카페에 들어가 자신이 필요한 특정 기능을 구현해 줄 사람을 직접 찾는 일이 쉽지 않을 수도 있다. 하지만 앱 시장이 성장하면서 소규모 개발자들이 특정 기능을 수행하는 컴포넌트를 구현하여 수익을 얻는 일이 점차 많아지게 될 것이다.

물론 이런 형태의 발주가 항상 만족할 만한 품질을 보장하지는 않을 수 있다. 그러나 시간이 지나고 어느 정도 품질에 대한 문제를 인증하고 해결해 줄 수 있는 인프라가 생기기 시작한다면 특정 기능에 대한 아웃소싱에 대한 가능성은 충분하다고 확신한다. 기본적으로 프로그래머는 자신이 잘하는 분야에서 낸 훌륭한 성과를 통해 다른 사람에게 인정받고 싶은 욕구가 있기 때문이다.

자신이 잘하는 분야가 무엇인지 명확히 알고 거기에 리소스를 집중하는 것, 역으로 잘 못하는 분야에 대해서는 효율적인 아웃소싱을 하는 것은 적은 비용으로 서비스 구현을 가속화 시킬 수 있는 장점이 있다. 자신의 능력으로 어렵다는 판단이 들면 아웃소싱을 고려해보자.



강점에 리소스를 집중하자.

오늘날 애플이 성공할 수 있었던 이유 중 하나는 자신이 잘하는 분야와 그렇지 못한 분야를 확실히 구별했기 때문이라고 생각한다. 애플은 자사의 공장을 가지지 않는 Fabless 메이커다. 하지만 제품의 콘셉트와 디자인, 유통과 같은 부분은 자신들이 처리하는 반면 플래시메모리의 조달이나 제품조립은 철저히 외부에 아웃소싱하면서 효율성을 극대화하며 움직여 왔다.

모든 것을 다 잘할 수 있는 사람은 극히 드물며 그렇게 할 필요도 없다. 지금은 자신의 강점이 무엇인가에 대한 진지하게 생각해보고 그 강점을 살리는 형태로 리소스를 집중하여 임해야 할 때이다.