본문 바로가기

관심사/독후감

<타냐 라일리> 개발자를 넘어 기술 리더로 가는 길: 성공적인 프로젝트 실행력

✍🏻 밑줄 그으며 책읽기

대규모 프로젝트 진행

일반적으로 프로젝트가 어려운 이유는 기술의 경계를 넓혀야 하기 때문이 아니다. 모호한 업무 방향, 복잡한 인간관계, 예측 불가의 레거시 시스템을 다루기 때문이다. 

5.1 프로젝트 진행 프로세스

스태프 엔지니어는 프로젝트가 공식적으로 시작하기 전에 업무를 시작한다. 프로젝트 시작 전에 압도적으로 느껴지는 일들을 미리 살펴보아야 한다. 

5.2.1 새로운 프로젝트의 압박감을 극복하는 방법

기존 프로젝트에 새로운 인력으로 투입된다면 투입 전에 고려해야하는 부분이 많다. 
대규모 프로젝트를 시작할 때, 프로젝트에 압도당하는 것은 정상적인 일이다. 모든 것을 탐색할 수 있는 지도를 머릿속에 제대로 구상하기 위해 많은 시간과 에너지가 필요하다. 심지어 초기에는 프로젝트를 감당하기 어려운 것처럼 느낄 수도 있다. 
이런 불편함조차 실은 일종의 학습이다. 즉, 불편함을 관리하는 것도 배울 수 있는 스킬이다. 
어려움이 핵심이다. 복잡하고 어려운 업무가 아니었다면 기업은 나를 필요로 하지 않았을 것이다. 업무를 하다보면 실수를 할 수도 있다. 중요한 것은 누군가는 이 업무를 해야한다는 것이다. 
새로운 프로젝트의 부담을 줄이기 위해 해볼만한 것은 다음과 같다. 

  • 나에게 질문하기 
    • 부담감이 드는 이유는 나에게 부족한 것이 있기 때문이다. 부족한 점이 무엇인지 점검해보고, 다음과 같은 질문을 해보자. 
      • 더 많은 시간, 에너지, 스킬 역량을 쌓기 위해서 지금 할 수 있는 일이 있는가? 
      • 나를 도와줄 사람이 있는가?
      • 다른 사람이 이 일을 맡는다면 어떤 느낌이 들까?
  • 나를 위한 문서 만들기
    • 머리에 있는 생각들을 정리해서 이를 기록한 문서를 만들자. 불확실성/소문/할일 등등으로 가득할 것이다. 
  • 프로젝트의 불확실성을 공감하고 이해해줄 사람 찾기
    • 상대로 주니어 엔지니어는 적합하지 않다. 그들은 스태프 엔지니어에게 안전과 안정을 기대한다. 그들에게는 선임도 배우고 있다는 것을 보여줘야 하지만, 두려움을 물들여서는 안된다. 스태프 엔지니어는 프로젝트가 그들에게 삶의 질, 스킬, 에너지, 신뢰성, 사회 자본을 제공하는 동시에 그들의 스트레스를 제거해주는 것이다. 
  • 프로젝트 초창기에 최대한 배우기
    • 문제가 너무 커서 해결하기 어렵다면, 문제를 통제하는 데 도움이 되는 조치를 취하는 것을 목표로 하자.
    • 다른 사람과 대화 나누기, 그림 그려보기, 문서 작성하기 등이 있다.

5.2.2 맥락 쌓기

(1) 프로젝트 이력 파악
새로운 프로젝트일지라도, 알아야할 이력이나 맥락이 있을 수 있다. 프로젝트가 완전히 새로운 아이디어가 아니라면, 지난 이력은 대게 모호하고 심지어 알고 싶지 않은 것일 수도 있다. 
(2) 고정 제약 조건 설정
일반적으로 업무를 수행할 때마다 어느 정도 제약이 있다. 제약이 무엇인지 명확하게 이해하자. 제약사항을 명확하게 이해하는 것은 다른 사람의 기대치도 정할 수 있도록 도와준다. 
제약 조건의 예시는 다음과 같다.

  • 미룰 수 없는 마감일이 있는가?
  • 진행 예산에 제한이 있는가?
  • 도움을 받을 수 없는 팀이나 사용할 수 없는 시스템에 의존하는가? 
  • 같이 일하기 힘든 사람과 일해야하는가? 

원하는 대로 되지 않는다고 현실에 분개하는 데 시간을 낭비하지 말자. 현실을 정확하게 직시하자. 
(3) 위험 요소 관리
현실 프로젝트에서 문제는 종종 발생한다. 규모가 커질수록 위험은 더 커진다. 이에 잘 대비할 수 있도록 위험 요소를 예측해보자. 

  • 목표 달성을 가로막는 일이 일어날 수 있는가?
  • 프로젝트를 망칠 수 있는 예측 불가한 요소 및 의존성이나 핵심 인물이 있는가?
  • 내가 모르는 것은 무엇인가? 어떻게 해답을 찾을 수 있는가? 

불확실한 부분들을 사전 예측을 통해 명확히 밝혀낼수록 위험을 완화할 수 있다. 
그 외, 프로젝트의 맥락을 쌓는 방법으로 목표 이해하기, 사용자의 정확한 욕구를 파악하기, 성공 측정 기준 설정하기, 후원자/이해관계자 등을 탐색하기 등이 있다.