yuchi's Development Home
글 수 694
많은 수의 관리자 혹은 경영자들은 인력을 많이 투입할수록 결과물을 빨리 얻을 수 있을거라 생각한다.
절대로...소프트웨어 개발 프로젝트에 있어서 프로그래머가 많다고 하여 결과물을 더 빨리 얻을 수 있는것이 아니란 사실을 프로그래머들은 알고 있지만, 소프트웨어 개발이 시작된지 이미 수십년이 지난 지금도 그들(경영,관리자)은 이 사실을 모른다는 것이 미스테리이다.
혹자는 MS등에선 대단위의 인력을 투입하여 엄청난 결과물을 낸다라고 주장할지 모르겠다.그렇다.인력이 많아지면 좋은 퀄리티, 빠른 개발속도를 얻을 가능성은 조금이라도 높아질지 모르겠다.허나 여기에는 전제가 붙는다.
[유능한] 인력을 많이 투입할수록
이다.
유능한 프로그래머 구하기가 하늘의 별따기라 더더욱 그렇겠지만, 아무나 뽑아서 막 투입하니 프로젝트 말아먹기밖에 더 하겠는가.
능력 5짜리 프로그래머 열이 합쳐도 능력 20짜리 프로그래머 하나를 못따라간다.기술면에서 그렇다는 얘기다. 기술력은 add의 관계가 아니다 or의 관계다.
600MHz cpu병렬로 4개씩 연결해놔도 단일작업시 1.2GHz 싱글 시스템보다 느려터진 이유와 같다.그들의 기술력 모두를 합쳐도 or가 되기 때문에 그 중 최고기술을 가진자의 능력정도가 고작일뿐이다.그저 분산처리의 효과가 있을뿐이다. 따라서 기술력 면에서 5짜리 열이 덤벼도 20짜리 하나를 못 이긴다는 것이다.
물론 기술이 있다고 돈을 잘 번다는 얘기는 아니다.이는 돈을 버는 문제와는 또 다른 차원이다.
기술수준이 높다고 반드시 고품질의 소프트웨어는 아니며 고품질이라고 반드시 많은 돈을 벌어다 주는 것은 아니다.
그러나 기술에 있어 경쟁력이 강하다면 돈을 벌 가능성은 높아진다.
국내의 국립 연구소인 E연구원의 석박사들이 모여서 만든 D***m 3D 엔진과 19명 인력으로 이루어진 ID소프트의 퀘이크 엔진을 비교해도 그렇다.ID소프트는 세계최고의 3D게임 기술을 자랑하는 업체로서 죤 카멕이라는 전설적인 슈퍼 프로그래머가 상당 부분을 전담하는것으로 알려져 있다.E연구원에서 만든 D***m 3D엔진은 물론이고 국내 어느 기업에서 인력을 대거 투입해 만든 엔진이란것들도 퀘이크 엔진 반도 못따라간다.
퀘이크를 만든 ID소프트와 비견되는 업체가 epic게임즈이다. 직원 수는 20명밖에 안되지만 그들이 내는 생산물은 세계 최고 수준이다.언리얼 엔진을 개발하는 프로그래머는 5명남짓이고 그 전체적인 설계와 핵심코드는 리드 프로그래머 팀 스위니에 의해 제작된다.팀 스위니와 죤 카멕은 xbox기술 자문위원이기도 했다.
도대체 공부 깨나 해다는 인력들을 잔뜩 투입해서 만든 생산물이 외국의 천재 프로그래머가 만든 제품을 못따라가는 이유가 무엇인가?
여러가지 요인이 있겠지만 그 중 가장 큰 것이 바로 인력의 '질'이다. 아울러 학벌이 인력의 '질'을 결정하는 요인이 아님을 부연하고 싶다.
이는 게임 퀘이크에 비유할 수 있다.
퀘이크가 여타 대전 게임들(특히 스타크래프등)과 다른 특징 하나는 '개인기위주'의 게임이라는 것이다.개인기의 차이는 명백하게 드러나며 실력이 떨어지는 이는 높은 실력을 가진 이를 절대 이길 수 없다.
우리 회사 확고부동한 퀘이크 지존의 자리를 지키고 있는 m씨만해도, 일반인들 서너명이 달려들어도 그 사람 하나를 이길까 말까이다.
팀데스매치는 극도로 심하고 그래도 개인기 차가 크게 드러나지 않는 CTF(깃발뺏기)를 하는 경우에도 m씨를 포함한 우리팀 세명이면 다른팀 사람들 5-6명이랑 비등하다.
같은 결과물을 낼 수 있다면 기업의 입장으로 봤을때 슈퍼프로그래머 한명보다는 일반 프로그래머 여럿으로 프로젝트를 진행하는 편이 여러모로 좋다.
그러나 그것은 매우 이상적인 상황이며 현실적으로는 적은 수의 고급 인력들을 사용하는 편이 고품질의 소프트웨어를 제작할 가능성을 높여준다.
소프트웨어를 개발하는 회사의 경영자는 어찌 해야하는가? 앞서 말한 것처럼 인력을 많이 투입한다고 결과물이 좋게, 빠르게 나오지 않는다는 현실을 받아들일 필요가 있다.
아무나 막 뽑아서 투입해놓고 빨랑 결과 내라고 난리치지 말고 , 똑똑한 애들 적게 뽑아서 소수정예로 팀을 구성하여 결과 나올때까지 내비두면 알아서 잘 한다는 얘기다.
많은 경영,관리자들은 능력이 떨어지는 애들을 데려다놓고도 관리자가 뛰어나면 그들의 기술이 향상될거라는 망상을 가지고 있다.결단코 관리자들은 그들의 기술을 향상시켜주지 못한다.때문에 소프트웨어의 품질 또한 향상되기 어렵다.(불가능하다고 말하진 않겠다)
오늘 생산성본부에서 교육받다가 문득 생각이 나서 머릿속에 대충 적어놓은 내용이다.
절대로...소프트웨어 개발 프로젝트에 있어서 프로그래머가 많다고 하여 결과물을 더 빨리 얻을 수 있는것이 아니란 사실을 프로그래머들은 알고 있지만, 소프트웨어 개발이 시작된지 이미 수십년이 지난 지금도 그들(경영,관리자)은 이 사실을 모른다는 것이 미스테리이다.
혹자는 MS등에선 대단위의 인력을 투입하여 엄청난 결과물을 낸다라고 주장할지 모르겠다.그렇다.인력이 많아지면 좋은 퀄리티, 빠른 개발속도를 얻을 가능성은 조금이라도 높아질지 모르겠다.허나 여기에는 전제가 붙는다.
[유능한] 인력을 많이 투입할수록
이다.
유능한 프로그래머 구하기가 하늘의 별따기라 더더욱 그렇겠지만, 아무나 뽑아서 막 투입하니 프로젝트 말아먹기밖에 더 하겠는가.
능력 5짜리 프로그래머 열이 합쳐도 능력 20짜리 프로그래머 하나를 못따라간다.기술면에서 그렇다는 얘기다. 기술력은 add의 관계가 아니다 or의 관계다.
600MHz cpu병렬로 4개씩 연결해놔도 단일작업시 1.2GHz 싱글 시스템보다 느려터진 이유와 같다.그들의 기술력 모두를 합쳐도 or가 되기 때문에 그 중 최고기술을 가진자의 능력정도가 고작일뿐이다.그저 분산처리의 효과가 있을뿐이다. 따라서 기술력 면에서 5짜리 열이 덤벼도 20짜리 하나를 못 이긴다는 것이다.
물론 기술이 있다고 돈을 잘 번다는 얘기는 아니다.이는 돈을 버는 문제와는 또 다른 차원이다.
기술수준이 높다고 반드시 고품질의 소프트웨어는 아니며 고품질이라고 반드시 많은 돈을 벌어다 주는 것은 아니다.
그러나 기술에 있어 경쟁력이 강하다면 돈을 벌 가능성은 높아진다.
국내의 국립 연구소인 E연구원의 석박사들이 모여서 만든 D***m 3D 엔진과 19명 인력으로 이루어진 ID소프트의 퀘이크 엔진을 비교해도 그렇다.ID소프트는 세계최고의 3D게임 기술을 자랑하는 업체로서 죤 카멕이라는 전설적인 슈퍼 프로그래머가 상당 부분을 전담하는것으로 알려져 있다.E연구원에서 만든 D***m 3D엔진은 물론이고 국내 어느 기업에서 인력을 대거 투입해 만든 엔진이란것들도 퀘이크 엔진 반도 못따라간다.
퀘이크를 만든 ID소프트와 비견되는 업체가 epic게임즈이다. 직원 수는 20명밖에 안되지만 그들이 내는 생산물은 세계 최고 수준이다.언리얼 엔진을 개발하는 프로그래머는 5명남짓이고 그 전체적인 설계와 핵심코드는 리드 프로그래머 팀 스위니에 의해 제작된다.팀 스위니와 죤 카멕은 xbox기술 자문위원이기도 했다.
도대체 공부 깨나 해다는 인력들을 잔뜩 투입해서 만든 생산물이 외국의 천재 프로그래머가 만든 제품을 못따라가는 이유가 무엇인가?
여러가지 요인이 있겠지만 그 중 가장 큰 것이 바로 인력의 '질'이다. 아울러 학벌이 인력의 '질'을 결정하는 요인이 아님을 부연하고 싶다.
이는 게임 퀘이크에 비유할 수 있다.
퀘이크가 여타 대전 게임들(특히 스타크래프등)과 다른 특징 하나는 '개인기위주'의 게임이라는 것이다.개인기의 차이는 명백하게 드러나며 실력이 떨어지는 이는 높은 실력을 가진 이를 절대 이길 수 없다.
우리 회사 확고부동한 퀘이크 지존의 자리를 지키고 있는 m씨만해도, 일반인들 서너명이 달려들어도 그 사람 하나를 이길까 말까이다.
팀데스매치는 극도로 심하고 그래도 개인기 차가 크게 드러나지 않는 CTF(깃발뺏기)를 하는 경우에도 m씨를 포함한 우리팀 세명이면 다른팀 사람들 5-6명이랑 비등하다.
같은 결과물을 낼 수 있다면 기업의 입장으로 봤을때 슈퍼프로그래머 한명보다는 일반 프로그래머 여럿으로 프로젝트를 진행하는 편이 여러모로 좋다.
그러나 그것은 매우 이상적인 상황이며 현실적으로는 적은 수의 고급 인력들을 사용하는 편이 고품질의 소프트웨어를 제작할 가능성을 높여준다.
소프트웨어를 개발하는 회사의 경영자는 어찌 해야하는가? 앞서 말한 것처럼 인력을 많이 투입한다고 결과물이 좋게, 빠르게 나오지 않는다는 현실을 받아들일 필요가 있다.
아무나 막 뽑아서 투입해놓고 빨랑 결과 내라고 난리치지 말고 , 똑똑한 애들 적게 뽑아서 소수정예로 팀을 구성하여 결과 나올때까지 내비두면 알아서 잘 한다는 얘기다.
많은 경영,관리자들은 능력이 떨어지는 애들을 데려다놓고도 관리자가 뛰어나면 그들의 기술이 향상될거라는 망상을 가지고 있다.결단코 관리자들은 그들의 기술을 향상시켜주지 못한다.때문에 소프트웨어의 품질 또한 향상되기 어렵다.(불가능하다고 말하진 않겠다)
오늘 생산성본부에서 교육받다가 문득 생각이 나서 머릿속에 대충 적어놓은 내용이다.