Saying No

최완식·2023년 6월 13일
0

Clean Coder

목록 보기
2/14
post-thumbnail

한다, 하지 않는다 둘뿐이다. 중간은 없다.

아니라고 말하기

  • 시간을 쪼는 관리자와 개발 팀장간의 대화를 소개하며 시작한다.
  • 관리자는 이번주 안에 마치라 한다.
  • 개발자인 나는 4주가 소요된다고 말한다.
  • 그럼에도 개발팀장은 "한번 해볼게요" 라는 대답으로 회의를 마무리했다.
  • 하루나 이틀에 한번씩 시스템이 멈췄다. 다른 문제들도 많았다.
  • 누가 문제였을까?
  • 가장 문제는 팀장이다. 프로라면 권위에 맞서 진실을 말해야 한다.
  • 상사에게 어떻게 그래요?
    • 프로라면 그래선 안된다.
    • 좋은 관리자라면 "아니"라고 말하는 배짱을 가진 사람을 꼭 갖고 싶어 한다.

반대하는 역할

  • 대립관계가 없는 팀관계가 가장 좋은가? 과연 최대 효율이었을까?
  • 어려운 결정을 내리는 최선의 방법은 대립하는 사람들 사이의 충돌이다.
  • 거짓을 말하지 마라.
  • 프로라면 "한번 해볼께요", "2주정도 뒤에 경과를 볼까요"와 같은 말을 하지마라.
  • "2주가 걸려요"와 같이 단언하고, 이를 맞추는 것이 프로다.
  • 자신이 말한 것에 책임을 지는 것. 그게 프로다.

왜 그런지에 대한 것

  • 사실 관리자랑 회의할 때, 왜 그런지는 관심대상이 아니다.
  • 그래서 "결론이 뭐냐. 얼마나 걸리냐"가 원하는 대답이다.
  • 구구절절 왜 그런지에 대해 설명을 듣고 싶어하지 않는다.
  • 물론 자신의 주장에 대한 근거는 되겠으나, 굳이?

이해관계가 높을 때

  • 이익과 손해가 클수록 아니라는 말의 가치도 높아진다.
  • 이러한 상황에 쫄지말고 아닌건 아니라고 말해야 한다.
  • 그게 장기적으로 봤을 때 더 나은 결론을 가져온다.

팀플레이어

  • "아니"라고 말하는 것이 진정한 팀플레이어다.

1

  • 관리자가 개발팀장에게 제품 완성까지 얼마나 걸리냐 물어봤다.
  • 7-9주라 답했다.
  • 그러자 관리자는 6주에 이미 시연일정이 잡혔다고 한다. 먼저 말해주지도 않았다.
  • 개발팀장은 그럼 6주안에 가능한 개발까지만 하겠다고 했다.
  • 관리자는 완전한 시스템을 만들어야 한다고 독촉했다.
  • 개발팀장은 절대안된다고 말했다.
  • 관리자는 야근하고 노력하면 될거라고 말하고 헤어진다.

2

  • 사장과 관리자가 대화중이다.
  • 사장이 6주뒤 시연이 가능하냐고 물었다.
  • 관리자는 반드시 하겠다. 야근하고 노력해서 해내겠다고 했다.
  • 사장은 관리자보고 팀플레이어라 칭찬한다.

누가 팀플레이어 인가?

  • 관리자는 자신을 위해 일을 처리했다.
  • 개발팀장은 팀을 위해 뛰었다.

3

  • 관리자가 개발팀장을 독촉한다.
  • 분명 6주안에 개발이 안된다고 했음에도 불구하고, 완전한 시스템 완성이 안되냐고 독촉한다.
  • 관리자는 "노력"이라도 해볼 수 없냐고 짜증을 부린다.

코드 임파서블

  • 일정때문에 그럼 좋은 코드를 만들 수 없는가?
  • 사실은 그 일정을 수락한 것 부터가 잘못됐다.
  • 제대로된 일정을 확인하지 않고, 자신을 할 수 있다고 과신하거나, 영웅이 되려는 유혹에 잠식되어 일정을 수락한 것이다.
  • 그리고 그 일정 때문에 좋은 코드를 만들 수 없게 되는 것.
  • "예"라는 대답은 프로로서 가져야 할 원칙을 포기할 뿐 아니라 문제해결에도 도움이 안된다.
  • "아니"라고 말하는 것이 곧 문제를 제대로 푸는 방법이다.

Reference

profile
Goal, Plan, Execute.

0개의 댓글