개발자는 멀티태스킹 기계가 아니다.- Human Task Switches Considered Harmful (Joel On Software)

2012. 4. 23. 00:09생각

내가 요즘 진행하는것중 하나도 제대로 되는게 없어서

왜 그럴까 고민하던차

예전  블로그 정리를 하다가 다시 보게된 포스팅


그래... 하나씩 끝내자.. 하나씩.


원문출처 : http://www.joelonsoftware.com/articles/fog0000000022.html

조엘 온 소프트웨어
주소 : http://www.joelonsoftware.com/
책 : http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200503170001

요즘 읽고 있는 책입니다. 지하철 출퇴근시간 틈틈히 보고 있는데요.
재미있고 유용한 내용이 많더군요. 그중에 공감이 가는 내용이 있어서 인용해 봅니다.



발자은 멀티태스킹 기계가 아니다.

두가지 계산 문제 A,B가 있다고 합시다.
각계산은 CPU 시간 10초가 걸립니다. CPU는 하나뿐이며, 편의상 큐에는 다른 계산이 없다고 가정합시다.
CPU에서 멀티태스킹은 선택입니다.따라서 직력처리 방식을 활용해서 어느 한쪽을 선택해 하나를 마치고 다른 계산을 계속할 수 있습니다.

계산 A계산 B
1234567891011121314151617181920


아래는 멀티태스킹을 활용한 방법

1234567891011121314151617181920


방식계산A과정에서 경과된 시간계산B과정에서 경과된 시간평균
직렬10초20초15초
멀티태스킹19초20초19.5초


-과업전환 0.5초 가정시
방식계산A과정에서 경과된 시간계산B과정에서 경과된 시간평균
직렬10초20초+1과업전환=20.5초15.25초
멀티태스킹19초+18과업전환=28초20초+19과업전환=29.5초28.75초


-과업전환 1분 가정시

방식계산A과정에서 경과된 시간계산B과정에서 경과된 시간평균
직렬10초20초+1과업전환=80초45초
멀티태스킹19초+18과업전환=1099초20초+19과업전환=1160초거의19분



1.직렬처리방식은 평균적으로 결과값이 더 빨리 나온다.
2.과업 전환이 오래걸릴수록, 멀티태스킹을 위해 지불해야 하는 대가도 커진다.




원문에서도 언급하고 있지만, 멀티태스킹 자체에 반기를 들고 있는것은 아닙니다.
다만 개발자가 업무처리를 진행함에 있어 그 효율성에 대해서 이야기 하는겁니다.
제목에서 말하듯 "사람은 멀티태스킹 기계가 아니"기 때문에 한가지 일에 몰두하는것이 중요하다는것입니다.
더더욱 사람은 기계보다 업무전환에 필요한 시간이 길게듭니다.
물론 사람에 따라 다르긴 하겠지만  대부분의 사람들이 어떤 한가지일에 집중했다가 다른 일로 바꾸는데 걸리는 시간은 몇시간이상 걸릴수 있다고 봅니다.

관리자는 장애물을 제거해서 개발들이 한가지일에 몰두할수 있도록 해줘야할 책임이 있다는것을 알아야 합니다.
결코 두가지이상의 일을 병행하게 방치해서는 안된다는것입니다.



또한 중요한 사실 하나
저는 어제 위와 같은 내용의 이야기를 관리자급 되시는 동료분과 이야기를 했습니다.
그분도 일부분 인정을 하면서도 현실에 대한 이야기를 하시더군요.
업무외적인 부분을 가미해서... 가령 총각에서 남편이 되고 아이가 생겨 아빠가 되고 등등등..
나이를 먹을수록 여러가지일을 병행해야 하는게 많다는거지요.
물론 그분은 제가 이야기하는 내용의 본질과는 다른 엉뚱한 이야기로 현재 불합리한 업무진행방법을 합리화 시키려는 의도에서 이야기 한것입니다. 
그렇죠.. 대부분의 (허접한) 관리자들은 적당한 말(자신의 경력이 오래되었다는것과 나이가 많음으로 인생의 선배라는듯한 여러가지 이야기)로 설득하면 된다고 생각합니다. 

관리자는 개발자의 의견을 적극 수렴하는법을 알아야 합니다.
얼토당토않은 유창한 말솜씨로 말로 개발자를 설득하는건 자신이 무능하다는것을 인정하는거나 다름없습니다.
개발자는 바보가 아니니까요

반응형

'생각' 카테고리의 다른 글

우리집 네트워크 현황  (0) 2012.08.15
[펌] 정신과 의사가 말하는 '생각의 병' 피해망상  (0) 2012.01.20
엔지니어와 영업의 차이  (0) 2010.08.21
인식  (0) 2010.08.21
문자열 인식  (0) 2010.08.21