본문 바로가기

소프트웨어,IT,컴퓨터공학 도서리뷰/해동 지침서(Behavior books): 기술 서적, 조직, 원칙

소프트웨어 프로젝트 생존전략 -스티브 맥코넬- 김덕규 옮김 [ 5~6/7] [생존이라는 메타포]

프로젝트의 성공은 "생존"을 의미한다.

 

 


"생존"이라는 메타포가 가장 인상 깊다.

 

추천도. 

프로젝트 매니저, 아키텍트, 시니어 개발자 : ★★★★★★☆

주니어 개발자, 학부생 :  ★★★★★☆

경영진 : ★★★★★☆

 

가능한 한 프로젝트 관계자들은 모두 읽어봤으면 하는 책...

 

읽은 기간 📅 : 2021년 2월 1일 ~ 2021년 4월 2일 

 

 

이 책을 추천하는 이들 👨‍👧

  • 모든 주니어, 시니어 개발자들
  • 프로젝트 관리에 핵심적인 역할을 하는 사람들
  • 프로젝트에 장기간 참여해야 하는 인원들
  • 경영진??

 

난이도 🦈

난이도는 거의 없는 편이다.

 

관련된 책들 📚

  1. 스티브 맥코넬의 다른 책들. [ Code Complete, professional 소프트웨어 개발 ]
  2. 데드라인 ( 역자가 번역한 또 다른 책이다 )
  3. 드리밍 인 코드
  4. The Nature Of Software Development [ 존 레프리스 책 ]

 

한 줄 평 ✍️

이 책은 지식으로 갖추기 보다는 곁에 두고 참고하는 책!

 


 

프로젝트 매니저는 선장(Captain)이다!

 

과거 대항해 시대.

 

배를 전체적으로 지휘하는 선장에게는 다양한 역량이 필요했다.

 

1. 배의 전체 구조를 파악하는 기본적인 역량으로 시작하여 

 

2. 좋은 인재를 발굴하고 적재적소에 배치할 수 있는 역량

 

3. 배에 존재하는 인원들에게서 신뢰를 받아 지휘할 수 있는 역량

 

4. 배를 항해했던 그동안의 다양한 경험들

 

5. 다양한 기술 역량과 자원 관리 역량

 

6. 위기(불확실성)을 안정적으로 대처할 수 있는 역량

 

7. 타협하는 역량

 

등등... 위의 요소외에도 수없는 역량들이 필요하다.

 

핵심적인 여러 역량중에서도 가장 중요한 역량은 무엇일까.

 

내 생각에는 "항해의 성공 유무를 관리"할 수 있는 역량이 아닐까 한다.

 

위의 핵심적인 역량들은 항해의 성공 유무에 작거나 크게 영향을 주지만 성공의 유무를 좌우하지 않는다.

 

진짜 성공은 배를 끝까지 관리해서 생존 완료하는데 까지 확인하는 데 있다. 성공에 대한 디테일을 많이 갖춘 사람이어야 하는 것이다.

 

선원들의 목숨이 달려 있는 항해

 

선장에게는 선원들의 목숨이 달려있다.

 

그 무게만큼 선장은 막중한 의무를 다하게 되고 그 무게감을 견딜 수 있는 그릇이어야 한다.

 

현대에 와서 프로젝트 매니저는 과거 대항해시대의 선장과 비슷한 역할을 하고 있다는 게 느껴진다.

 

이 책 제목 "소프트웨어 프로젝트 생존전략"에서 "생존"이라는 표현을 접했을 때 소프트웨어 캡틴이라는 메타포가 떠올랐다.

 

프로젝트의 실패 성공 유무에 있어서 단순하게 "실패했다", "성공했다"가 아니다.

 

"생존해서 머물렀다. 끝까지 살아남았다" 혹은 "생존에 실패해서 죽었다"라고 표현해야 한다는 것이다.

 

그렇게 가혹하게 말할 만큼 우리는 큰 무게감을 느껴야 한다는 것을 "생존"이라는 타이틀에 내포된 게 아닐까 한다.

 

이 책을 추천하는 대상자들에게...

 

저자는 프로젝트 진행 과정 중에서 꼼꼼하게 체크해야 하는 중요한 내용들을 이 책에 모두 정리했다.

 

프로젝트 시작부터, 중간 단계, 그리고 마무리 단계까지 관리해야 하는 핵심 부분들을 짚어 나가면서 말이다.

 

이 책의 시작 부분에서 저자는 "프로젝트의 실패"의 배경에는 2가지 요인이 존재한다고 언급한다.

 

1. 팀이 프로젝트를 감당하기에는 미숙하거나 필요한 지식을 갖추지 못한 경우

 

2. 팀 자체가 의지가 없는 경우

 

2번은 어떻게 해결할 수 있는 부분이 아니다.

 

2번의 경우 자원과 조직의 안정감(편안함)을 제공하는가에 대한 관점에서 들여다봐야 한다.

 

2번은 인력 관리 실패의 결과이거나 너무 높게 잡은 이상향이 문제일 것이다. 이는 충분하게 타협보거나 다시 조정할 수 있다. 의지나 의욕이 없는 경우라면 어떤 것이든 실패할 것이 불보듯 뻔하다.

 

1번의 경우는 알고 있었지만 당할 수 있는 위협들에 그대로 노출된 경우이다.

 

혹은 약한 위험들을 무시하다가 생기게 되는 결과이다.

 

이 책은 1번에 해당하는 대부분의 프로젝트 실패에 대한 생존 지침 가이드를 제공해준다.

 

그러니 프로젝트에 참여한 모든 관련자들은 이 책을 읽어볼 필요가 있다. [ 사용자를 빼고 말이다. ]

 

경영진, 주니어 개발자, 시니어 개발자, 아키텍트, 프로젝트 매니저, 테스터, QA, 이해관계자, 투자자 등등 말이다.

 

전문성에는 "혼"이 담겨있다.

전문가는 자신의 신념과 경험을 통해 한단계 더 진보해나간다.

 

대부분의 전문가들은 더 나은 미래와 더 나은 삶을 위해 살아간다.

 

만약 제공하는 지식과 서비스가 누군가에게 위협이되거나 생명을 위협하는 경우라면 전문가는 이를 누구보다 빨리 알아차린 후 대비를 해야 한다.

 

급박하다면 모든 것을 중단해야 할 것이다.

 

그럼 소프트웨어 개발자의 전문성은 무엇일까?

 

바로 사용자에게 안전한 서비스를 제공하는 것이며, 사용자가 요구하는 요구사항들을 모두 만족시키는 것이다.

 

한 발 더 나아간다면 사용자도 몰랐던 요구사항까지 만족시켜주는 것이다.

 

사용자에게 제대로된 가치를 전달하지 못한다면 프로젝트는 실패한 것이다.

 

그냥 프로젝트를 실패했다고 넘기는 것은 소프트웨어 엔지니어로서 전문가답지 못한 판단이라고 생각한다.

 

"죽음"이라고 생각할 정도로 신념이 있어야 하는 것이다.

 

결국 이 프로젝트로 인해서 어디선가는 불안함과 불안정한 기류가 흘러갈 것이다.

 

그게 투자자든, 사용자든, 이 개발에 참여한 개발진들이든 말이다.

 

전체적인 부정적인 상황의 무게가 무거워질 땐 이 책을 통해 "생존"이라는 메타포로 프로젝트를 관리해야 할 것이다.

 

이 책의 전반적인 내용은 작은 문제가 있을 때 해결하는 것에 초점을 두고 있다.

 

예방에 모든 힘을 쏟아부어서 불확실성을 통제하겠다는 것이다.

 

이는 인류의 문명과도 닮았다.

 

불확실성을 그냥 넘길 때마다 이 프로젝트에 참여한 모든 관계자들은 자신의 전문성의 혼이 빠져나가고 있음을 알아야 할 것이다.

 

반응형