본 내용은 "Clean Coder”(http://www.yes24.com/24/goods/29241448)라는 책을 요약한 내용입니다.
프로라면 권위에 맞서 진실을 말해야 한다. 프로는 관리자에게 아니라고 말하는 용기를 가져야 한다.
상사한테 아니라고 할 수 있을까? 직속상사라면? 그래도 프로라면 아니라고 말해야 한다.
반대하는 역할
일정 내에 업무를 완료하기 어려운 요구사항을 받았을 경우 “좋아요. 한 번 해볼게요”, “노력해 볼게요"라고 말하는 것은 업무를 처리하는 것이 아니다. 일을 제대로 하는 유일한 방법은 “아니요. 불가능합니다”라고 이야기 하는 것이다.
마이크: “폴라, 로그인 페이지를 내일까지 끝내야 해요."
폴라: “안 돼요, 마이크. 2주나 걸리는 작업이라고요."
마이크: “2주나요? 설계팀은 3일 걸린다고 추정했고, 벌써 5일이나 지났어요."
폴라: “설계팀이 틀렸어요, 마이크. 제품 마케팅 부서에서 요구사항을 추가하기 전에 추정한 일정이잖아요. 그 요구사항을 처리하려면 10일이 더 필요해요. 내가 위키에 일정 갱신한 거 안 봤어요?"
마이크: (경악과 좌절로 몸을 떨며) “말도 안 돼요, 폴라. 내일 고객 시연에서 로그인 페이지가 잘 동작하는 걸 보여줘야 해요."
폴라: “로그인 페이지에서 내일까지 필요한 기능이 어떤 거에요?"
마이크: “로그인 페이지가 필요하다고요! 로그인할 수 있어야 돼요."
폴라: 마이크, 로그인만 가능한 데모 페이지는 만들 수 있어요. 지금 작업하는 중이거든요. 실제 사용자와 암호를 체크하지 않고, 암호를 잊었을 때 이메일 보내는 기능도 없어요. 페이지 윗부분에 ‘타임즈-스퀘어링’이라는 회사 뉴스 배너도 없고, 도움말 버튼이나 마우스 커서를 올렸을 때 툴팀이 나오는 기능도 없어요. 쿠키를 사용해서 사용자를 기억하는 기능도 없고, 권한 관리도 전혀 안돼요. 그래도 로그인은 할 수 있어요. 이 정도면 되나요?"
마이크: “로그인할 수 있나요?"
폴라: “네, 로그인할 수 있어요."
마이크: “그럼 충분해요 폴라. 이제 살았네요!”(주먹을 불끈 쥐고 “좋았어”라고 말하며 돌아간다)
|
위 대화에서 보면 가능한 최선의 결과를 이끌어냈다. 아니라고 말하며 상호 합의하에 해결책을 만들었다. 프로답게 행동한 것이다.
왜 그런지가 중요한가?
마이크와 폴라의 대화에서 로그인 페이지를 만드는데 왜 2주가 소요 되는지는 중요하지 않다. 2주가 걸린다는 사실이 중요한 것이다.
이해관계가 높을 때
이해관계가 높을 때야 말로 아니라고 말할 가장 중요한 순간이다. 이익과 손해가 클수록, 아니라는 말의 가치도 높아진다.
팀 플레이어
팀 플레이어가 된다는 의미는 맡은 위치에서 최선을 다하고, 동료의 일이 잘 안 풀릴 때 도와준다는 뜻이다. 의사소통을 자주하고, 동료들을 살피고, 최선을 다 해 맡은 바 책임을 완수한다.
노력해보기
“알았어요. 노력해볼게요”라는 대답은 최악의 대답이다. 노력이란 ‘추가로 힘을 쏟는다’라는 의미이다. 이는 이전에는 최선을 다하지 않았다는 뜻이다.
수동적 공격성, 두고 보자는 심보
화물을 가득 싫은 열차가 달려오는데, 그걸 본 사람이 자신밖에 없다면, 혼자 조용히 물러나서 다른 이들이 열차에 치는 모습을 볼 것인가, 아니면 “기차가 와요! 빨리 비켜요!”라고 소리칠 것인가?
위험 요소가 보인다면 적극적으로 나서서 알려라.
예라고 말하는 비용
잘 돌아가는 팀의 관리자와 개발자들은 서로 만족할 수 있는 계획이 나올 때까지 협상한다. 하지만 가끔은 올바른 예를 말하는 방법이 두려움 없이 아니라고 말하는 수밖에 없을 때도 있다.
클린코더 책 79 ~ 87쪽까지 사례를 한 번 읽어 보길 권한한다.(원문 : http://raptureinvenice.com/is-good-code-impossible/)
코드 임파서블
클린코더 책 79 ~ 87쪽에서 소개한 사례에서 존도 똑같은 잘못을 하였다. 기존 프로젝트보다 복잡하다는 것을 알고 있으면서도 2주 일정을 받아들인 사람은 존이다. 프로라면 아니라고 이야기 해야 했다. 초과 근무나 희생을 요구하는 모든 일에 아니라고 했어야 옳다.
“좋은 코드는 불가능한가? 프로다운 일 처리는 불가능한가?”에 대한 대답은 “아니요. 가능합니다.”이다.
'소프트웨어공학' 카테고리의 다른 글
[클린코더] 3장 예라고 말하기 (0) | 2016.10.20 |
---|---|
[클린코더] 1장 프로의 마음가짐 (1) | 2016.10.19 |