이 책은 부제는 소설로 읽는 프로젝트 관리 이다. 말 그대로 이 책은 한편 소설책이다.
기존의 프로젝트 관리를 주제로 한 책들이 주는 고정관념을 완벽하게 깼다. 일반 소프트웨어 공학 책이 주는 딱딱함보다는 소설이라는 편함 때문에 이틀만에 독파할 수 있었다. 또한 각 챕터마다 저자가 이야기 하려는 핵심을 요약함으로서 독자들이 다시한번 내용을 머릿 속으로 정리할 수 있게끔하는 배려도 잊지 않았다. 소설의 주인공인 톰킨스는 어느날 다니던 회사에서 강제 퇴직을 당하게 되고, 퇴직 후 교육에서 락사라는 여자에 의해 강제로 모로비아라는 나라로 납치를 당하게 된다.
모로비아는 NNL 이라는 사람이 돈을 구입한 나라이자 회사였다. 톰킨스는 모로비아의 전체 프로젝트를 관리하는 업무를 담당하게 된다. 그는 직접 프로젝트에 투입할 인원을 뽑고, 데드라인을 선정한다. 도중에 여러가지 위기에 봉착하지만, 여러사람들의 도움으로 인해 순조롭게 프로젝트를 진행해나간다. 결국 데드라인 안에 제품을 출시할 수 있게 되었고, 큰 돈을 벌 수 있게 되었다. 톰킨스가 경험하는 모든 상황은 실제 프로젝트에서 일어날 수 있는 상황들이다. 이를 하나하나 해결해나가면서 저자는 독자에게 메시지를 던진다.
적절한 사람들을 구한다.
그들에게 알맞은 일을 할당한다.
항상 동기 부여를 한다.
팀이 결속하도록 하고, 그 상태를 유지하도록 돕는다(이 외의 나머지 일은 전부 허드레 관리업무다).
사람들은 안전하다고 느끼지 않는 한 변화를 수용하지 않는다.
변화는 프로젝트를 성공시키기 위해서(그리고 그만한 가치가 있는 대부분의 노력을 위해서도) 필수적이다.
안전성이 부족하면 사람들은 위험을 감수하려고 하지 않는다.
위험을 피하는 것은 치명적이다. 위험과 연관되어 있는 이점도 놓치기 때문이다.
사람들은 직접적으로 위협을 받거나 자신들에게 악용될지도 모르는 권력을 인지할 때 불안함을 느낄 수 있다.
협박은 실적을 유도하기에는 불완전한 방법이다.
처음부터 할당된 시간이 충분하지 않다면 아무리 진지하게 협박하더라도 작업은 제 시간에 끝나지 않는다.
설상가상으로, 목표한 바를 얻지 못하면 협박한 대로 이행해야 할 수도 있다.
관리에는 마음과 본능과 정신 그리고 후각이 필요하다.
그러므로 마음으로 이끌고, 본능을 믿고(직감을 믿어라), 조직에 정신을 심어주고, 거짓말을 식별할 수 있는 후각을 키워라.
전투가 시작되면, 관리자의 실제 업무는 이미 끝난 것이다.
채용할 때는 모든 관리 감각이 필요하다: 마음, 정신, 후각, 그리고 본능(하지만 대부분 본능이 필요하다).
혼자 하려고 하지 마라 - 두 사람의 본능이 한 사람의 본능보다 두 배 이상 좋다.
새로 채용한 사람에게 자신이 이미 증명했던 바로 그 수준의 프로젝트를 수행하게 하고, 능력을 확장할 수 있는 목표는 다음으로 미루도록 요청한다.
조언을 부탁한다: 당신이 가장 채용하고 싶어하는 사람이 또 다른 훌륭한 사람을 알고 있을 수도 있다.
말하기보다는 들어라.
생산성에 관한 단기적인 해결방안은 없다.
생산성 향상은 장기적인 투자의 결과다.
즉각적인 결과를 보장하는 것은 모두 헛소리다.
프로젝트의 위험을 관리하는 것으로 프로젝트를 관리한다.
각 프로젝트의 위험을 조사하고 관리한다.
궁극적으로 바람직하지 않은 결과를 추적하는 것이 아니라 원인이 되는 위험을 추적한다.
각 위험에 대한 발생 확률과 예상되는 소요 비용을 평가한다.
각 위험에 대해 위험이 구체화되는 것을 나타내는 초기 증상을 예상한다.
무엇이든지 '할 수 있다' 는 자세를 갖고 일하지 않아도 되는 사람을 위험 담당자로 임명한다.
나쁜 소식이 조직의 계층구조 상위로 전달되는 데 용이한(필요하다면 익명으로) 채널을 수립한다.
손실을 줄인다.
성공을 낙관하기보다는 실패를 견제한다면 전반적인 효율성을 향상시킬 수 있다.
실패한 작업은 초기에 적극적으로 취소하도록 한다.
팀의 결속에 대해 위험을 무릅쓸 필요가 없다면 굳이 그렇게 하지 않는다. 이미 편성된 팀을 찾고 이용한다.
후속 관리자가 더딘 결속력이나 결속이 되지 않는 팀으로 인한 문제를 피할 수 있도록 하기 위해(팀원들이 원한다면) 훌륭한 팀은 계속 유지시킨다.
(이미 준비되어 있고 새로운 작업을 할 의향이 있는) 결속된 팀을 프로젝트 산출물의 하나로 간주한다.
프로젝트 초기에 잃어버린 한 시간은 프로젝트 마지막에 잃어 버린 하루와 같은 손실이 된다.
작업을 완료하는 데 필요한 프로세스에 관한 자신의 직감을 모델링한다.
동료들간 상호교류와 프로세스가 어떻게 작동하는지에 대한 사고를 개선하는데 그 모델을 사용한다.
결과를 모의실험하기 위해 모델을 사용한다.
실제 결과에 따라 모델을 조정한다.
직업은 언제든지 담보로 할 의향이 있어야 한다.
하지만 그렇게 하는 것이 병적인 정치 때문에 영향을 받지 않는다는 것을 보장해주지는 않는다.
병적인 정치 논리는 어디서든지 자랄 수 있는데, 심지어는 가장 건강한 조직에서 조차 생길 수 있다.
병적인 정치학의 특성을 정의하자면, 개인적인 권력과 영향력으로 인한 목표가 조직의 현실적인 목표보다 우위에 선다.
이 말은 병적인 목표가 조직의 목표와 완전히 반대가 되더라도 일어날 수 있다는 뜻이다.
이 병이 갖는 부작용 중 하나는 알맞은 인원으로 된 프로젝트 팀을 갖는 것조차 위험해진다는 것이다.
모든 제품의 규모를 측정한다.
단위 때문에 고민하지 말라. 객관적인 측정방법을 만들기 전까지는 주관적인 단위를 사용한다.
이용할 수 있는 모든 원시적인 요소(소프트웨어를 계량화할 수 있는 특징)를 활용해 통합 측정모델을 만든다.
완료된 프로젝트에서 생산성에 관한 경향을 파악하기 위해 과거 프로젝트에서 데이터를 수집한다.
통합 측정모델에 의해 나온 값이 과거 프로젝트의 공수(effort)와 최적의 상관관계를 나타낼 때까지 그 공식을 가지고 계속 작업을 한다.
데이터베이스를 가지고 통합 측정모델이 예상한 공수를 트렌드 곡선으로 그린다.
이제 추정할 새로운 프로젝트마다 통합 측정모델로 값을 계산하고, 그 값을 트렌드 곡선에서 예상 공수와 비교하는 데 사용한다.
예상치에 어느 정도의 허용오차를 적용할지를 나타내기 위해 생산성 트렌드 곡선에 오차의 범위를 사용한다.
좋은 프로세스와 지속적으로 향상되는 프로세스는 모두 훌륭한 목표가 된다.
이들은 또한 매우 당연한 목표이기도 하다. 훌륭한 개발자들은 그렇게 하라고 말을 하든 안 하든 간에 여기에 초점을 맞춘다.
공식적인 프로세스 향상 추진 계획은 시간과 돈이 든다. 그러한 프로세스 향상 작업은 프로젝트 작업을 뒤쳐지게 할 것이다. 생산성 향상이 실현된다 하더라도 그 계획을 실행한 프로젝트가 프로세스 향상에 들인 시간을 상쇄하지는 못한다.
프로젝트에서 향상 방법을 하나만이라도 제대로 선정한다면 본전(그러한 변화에 투자한 시간과 비용)을 뽑을 수 있을 것이라 생각한다.
프로젝트가 그 기간동안 하나 이상의 향상 방법을 수용하기를 바라는 것은 무리다. 여러 가지 기술을 한번에 향상시키려는 계획(예를 들어, 전체 CMM 레벨을 증가시켜서 얻을 수 있는)은 그 계획을 실행하지 않았을 때보다 프로젝트를 더 지연시킨다.
표준 프로세스는 사람들이 중요한 지름길로 갈 기회를 놓치게 할 위험성이 있다.
특히 인원이 과다하게 투입된 프로젝트의 경우 모든 사람들에게 돌아갈 만큼 일(유용한 일이거나 그렇지 않은 일이라도)이 충분하지 않다면 문제가 발생하게 된다.
전체 디버깅 시간을 상당량 줄이지 않고는 프로젝트가 평균 이상으로 능력을 충분히 발휘하도록 할 수 있는 방법은 없다.
높은 성과를 보이는 프로젝트는 디버깅에 훨씬 적은 시간을 소모한다.
높은 성과를 보이는 프로젝트는 설계에 훨씬 많은 시간을 투자한다.
스트레스를 받는 사람들은 머리가 빨리 돌아가지 않는다.
초과근무 시간 증가는 생산성 감소 기법이다.
단기간에 가하는 압력과 초과근무는 사람들을 집중하게 만들고 일이 중요하다는 느낌을 심어주기 때문에 유용한 전술이 될 수 있지만, 압력을 장기간에 걸쳐 가하는 것은 언제나 실수하는 것이다.
관리자가 압력을 가하는 이유는 그가 할 일이 없거나 아니면(압력을 피하는 쪽의) 대안 실행에 엄두가 나지 않기 때문이다.
끔찍한 생각 : 압력과 초과근무 시간을 사용하는 실제 이유는 프로젝트가 실패하더라도 모든 사람들이 최선을 다한 것처럼 보이기 위해서일 것이다.
관리에서 화와 모욕은 전염된다. 상금 관리자가 직원들을 학대하면 그 밑에 있는 관리자들도 그와 같은 행동을 따라한다.
관리차원에서 모욕을 주는 일은 사람들이 자신의 능력에 좀더 투자하도록 만드는 자극제 역할을 해야 한다. 그것은 당근과 채찍 두 가지 관리법 중 가장 자주 사용되는 '채찍' 인 것이다. 하지만 모욕이 능력을 더 발휘하도록 만든다는 증거가 어디에 있는가?
관리자가 직원들을 자극하기 위해 모욕을 주는 것은 직원이 무능하다라기보다는 관리자가 무능하다는 표시다.
명세서에 나타난 애매모호함은 시스템의 여러 이해당사자들 간에 해결되지 않은 마찰이 있음을 의미한다.
입력과 출력에 관한 완전한 개수를 포함하고 있지 않은 명세서는 출발에서부터 실패한 것이다. 간단히 말해 명세서 작업을 시작하지도 않은 것이다.
아무도 당신에게 명세서가 엉망이라는 것을 말해 주지 않는다. 사람들은 명세서를 탓하기보다 자신을 탓하는 경향이 있다.
개발 작업에 여러 이해 집단이 연관되어 있을 때는 언제나 서로 모순되는 관심사가 있기 마련이다.
시스템을 구축하고 설치하는 분야는 특히나 마찰이 일어나기 쉬운 분야다.
대부분의 시스템 개발 조직은 마찰 해결 기술을 가지고 있지 않다.
마찰은 존중되어야 한다. 마찰이 비전문적인 행위를 나타내는 것은 아니다.
모든 사람들의 승리조건은 존중될 것이라고 미리 선언한다. 그리고 그러한 승리조건이 모든 면에서 명확하게 되도록 보장한다.
협상은 어렵지만, 중재는 쉽다.
승리 조건이 상호 배타적이거나 부분적으로 배타적일 때 양자는 마찰을 해결하기위해 중재 과정을 거치게 된다는 것을 미리 합의해 정한다.
기억하라. 우리는 모두 같은 편이다. 다른 편이 있다면 그것은 문제 그 자체일 뿐이다.
촉매적인 성격이라는 것이 있다. 그런 사람은 팀이 형성되고, 결속되고, 건전하고, 생산적이 되도록 매개함으로써 프로젝트에 기여한다. 촉매자가(주로 다른 많은 일을 하지만) 아무 일도 하지 않더라도 그들의 역할은 중요하고 가치있다.
중재는 촉매적인 역할에 있어서 특별한 경우다. 중재는 조금만 투자하면 배울 수 있는 것이다.
시작을 위한 작은 의식인, “제가 중재해도 될까요?” 는 마찰 해결에 있어서 중요한 첫 걸음이다.
당신을 괴롭히는 것은 당신이 모르는 것이 아니다. 그것은 안다고 생각했지만 사실은 제대로 알고 있지 못한 것이다.
초기에 인원을 과다하게 투입하면 프로젝트 팀은 중요한 설계 활동을(모든 사람들에게 할 일을 주기 위해서) 간단하게 해 버리는 경향이 있다.
설계가 완성되기 전에 많은 사람들에게 작업을 나눠주면, 사람들 간의 인터페이스와 작업 그룹 간의 인터페이스가 많아진다.
이것은 상호의존성, 회의시간, 재작업, 초조감을 증가시킨다.
이상적인 인력 투입을 위해서는 대부분의 프로젝트에 소규모 핵심 팀을 운영하게하고, 프로세스 후반에 상당한 수의 사람들을 추가 투입한다(늦게는 스케줄 상 마지막 6 분의 1 이 될 때에 투입한다).
놀라운 발견 : '공격적인' 스케줄에 매인 프로젝트는 좀 더 타당한 스케줄을 따랐을 때보다 프로젝트를 끝내는 데 더 오래 걸린다.
없어도 될 사람이 참석하지 않도록 회의는 소규모로 유지한다. 토론 주제는 반드시 공고해야 하는데, 이는 불참해도 안전하다는 것을 보장해 줄 수 있는 가장 손쉬운 방법이다.
프로젝트에는 의식이 필요하다.
소규모 회의, 무결함 등 프로젝트 목표와 이상에 집중하기 위해 의식을 사용한다.
가학적인 화로부터 사람들을 보호하기 위한 조치를 취한다.
기억할 것 : 화 = 두려움. 아래 사람들을 학대하고 화를 내는 행위를 하는 관리자는 거의 대부분 자신들이 두렵기 때문에 그렇게 한다.
관찰한 바 : 두려움은 표현하지 않으려는 경향이 있기 때문에 사람들은 더 이상 화를 표출하지 못하는 것이다. 그러므로 만약 모든 사람들이 '화 = 두려움' 이라는 것을 안다면, 화를 내는 것은 두려워하고 있다는 명백한 표시가 될 것이다(그렇다고 화를 내는 당사자의 문제가 해결되지는 않지만 나머지 사람들이 감당하기가 훨씬 수월해진다).
아래로부터는 병적 증세를 해결하기 힘들다.
그런 시도로 시간을 낭비하거나 자신의 위치를 위태롭게 하지 말라.
가끔 유일하게 남아 있는 선택은 문제가 스스로 해결될 때까지 기다리거나, 일을 진행시킬 수 있는 때를 기다리는 것 뿐이다.
기적이 일어날 수도 있다(하지만 그것에 의지해서는 안 된다).
비용 삭감은 실패에 대해 책임이 있는 사람들이 만들어 낸 공식이다.
이것은 '번영하며 서로 돕는다' 는 모든 조직의 일반적인 목표와는 반대다.
'비용 삭감' 이라는 말을 들을 때마다 그 속에 담긴 참뜻으로 그 말을 대체시킨다. '실패하고 있고 두려워하고 있다'