2016년 9월 22일 목요일

구글의 개발팀 구성



구글에는 수많은 소프트웨어 개발자가 있고 자유로운 개발 환경을 제공하고 있어 전세계 개발자의 부러움을 받고 있는 것이 사실이지만 구글에서 개발되는 모든 솔루션을 자체적으로 개발하지는 않는다. 구글에서 솔루션을 확보하는 방법은 크게 두가지로 인수합병과 오픈소스 프로그래밍이다. 트렌드를 앞서가는 신기술을 가진 회사를 가져오지만 인수합병 후에도 회사의 독립성을 지켜주며 개발 의지를 이어 나가도록 해주고, 널리 확산하고자 하는 신기술에 대해서는 오픈소스 프로그래밍으로 공개하여 전세계 개발자들이 참여하도록 유도한다.


<참고: 오픈소스 프로그래밍>

오픈소스 프로젝트는 일반적으로 급여를 받지 않고 미팅이나 정해진 매니저도 없다. 명세서, 혹은 설계서 마저 없다는 것도 전통적인 소프트웨어 개발 프로젝트와는 다른 특징 중의 하나 이다. 오픈소스 프로젝트에 참여하는 팀원은 개발의 순수한 즐거움과 경험치를 올리는 가치 상승을 목표로 하기 때문에 팀원의 흥미만 유발된다면 매우 만족스러운 결과를 얻을 수 있다는 장점이 있다. 오픈소스 프로젝트는 모든 것이 자율적으로 이루어지지만 높은 가치를 가지는 프로젝트는 기술 리딩이 가능한 몇 명의 팀원이 주도적으로 이끌어 가기도 한다. 이러한 리더들을 핵심 그룹(Core group)이라고 불리며, 핵심 그룹은 팀원들이 프로젝트에 공헌하고 있다고 느끼도록 확실한 동기를 지속적으로 부여해야 성공 확률이 높아진다. 최근 프로젝트는 오픈소스를 활용하는 경우가 많다. 일반적인 기업에서도 오픈소스 프로젝트를 통해 검증된 소프트웨어를 만들 수 있는 장점이 있지만 강제성이 없어 실패 확률이 높다는 단점도 있다.


구글은 인수합병이나 자유로운 분위기에서 창의적인 생각을 통해 솔루션 개발의 기획을 만들고, 필요한 경우 이 것을 더 발전시키기 위해 오픈소스 프로그래밍을 주도한다. 오픈소스 프로그래밍은 자신들의 아이디어나 기술이 외부에 오픈 되는 단점이 있지만 단기간에 많은 개발자가 참여할 수 있고 회사 밖의 시각을 반영하여 완성된 솔루션의 실패률을 낮출 수 있다.
구글은 제한된 기능을 제공하는 솔루션뿐만 아니라 앵귤러JS와 같은 웹 어플리케이션 프레임워크(그림9)를 제공하면서 사용자 수준이 아니라 개발자 수준까지 구글의 솔루션을 사용하도록 유도하고 있다. 이러한 유도는 개발자의 개발 환경까지 구글의 범주에 넣어둠으로써 구글 환경에 적합한 솔루션 개발이 자연스럽게 이루어지게 한다.

<그림9> 앵귤러JS 개발자 가이드


출처: https://angular.io/docs/ts/latest/guide/




구글의 솔루션 개발 과정 변화




초기의 구글은 웹 기반 솔루션 위주로 개발이 이루어졌다. 검색 사이트인 google.com이 시작이었으며, 이후 메일과 캘린더 서비스를 제공하며 개인 비서 솔루션을 제공하였고, 웹 드라이브, 유투브를 통해 멀티미디어 서비스, 사진과 버즈, 구글플러스 등을 통해 SNS 서비스를 출시하였다. 이러한 서비스는 당시에 마이크로소프트의 오피스처럼 반드시 구입해서 설치해야 하는 솔루션을 네트워크를 통해 제공하려는 전략을 앞세웠다. 이 외에 윈도우즈에 대항하기 위해 크롬 프로젝트를 통해 별다른 운영체제 없이 크롬 브라우저를 통해 위 서비스가 가능하도록 하는 오픈소스 프로젝트를 주도하기도 했다.


<그림6> 구글의 웹 기반 솔루션


모바일이 보급되면서 구글은 웹 기반으로 동작하던 모든 서비스를 모바일에서도 동작할 수 있게 전략을 수립한다. 모바일 용으로 별도 개발을 하는 것이 아니라 웹과 모바일 구분 없이 동작하게 함으로써 사용자 편의성을 추구한다. 구글의 이러한 노력은 안드로이드 사용자 확산으로 인해 더 체계적으로 구축할 수 있었다.



10년간 구글이 성사한 인수합병

구글은 웹 기반으로 서비스를 하던 것에서 안드로이드 적용으로 인해 모바일로 서비스가 점점 옮겨가는 것을 볼 수 있고, 더 나아가서는 웹과 모바일에서 동시에 사용이 가능한 형태로 솔루션과 서비스를 구성하게 된다. 애플은 독자적인 하드웨어에서 구동 되던 것에서 점차 다양한 디바이스에서 구동 되도록 공통 구성의 폭을 점차 늘려 나간 것을 볼 수 있다.
일반적인 관점으로, 구글의 사업 전략은 인수합병을 통해 사업 범위를 늘려가는 것으로 알려져 있다. 그림3은 구글의 10년 간 인수합병 결과를 나타내고 있고, 최근에는 그 빈도나 규모를 점점 더 늘려 나가고 있다. 이러한 전략은 빠르게 사업을 확장하고 중요 기술에 대한 확보가 편리하다.


<그림3> 10년간 구글이 성사한 인수합병


출처: 신한금융투자


보통의 ICT 인수합병의 경우, 특허나 사업의 합병을 통한 시장의 독점과 시너지 효과를 노리는 경우가 많다. 그런데, 그림4에서 보는 것처럼 구글은 현재의 사업과는 조금 다른, 특이한 인수합병을 하는 경우가 많고, 하드웨어보다는 소프트웨어 위주로 이루어졌다는 것을 확인할 수 있다.


<그림4> 구글 인수합병의 예


출처: 신한금융투자

더보기