약속을 뜻하는 말
말하고 진심을 담고 실행하라.
약속이 부족함을 알아차리기
뭔가 하겠다고 약속할 때 사용하는 언어는 실제 일어날 일을 알려주는 표시이다.
- 필요/해야 한다: “이걸 끝내야 해.”, “살 좀 빼야 할 필요가 있어.”, “누군가는 해야 해."
- 희망/바람: “내일까지 끝나면 좋겠는데.”, “언젠가 다시 만나길 바라.”, “시간이 좀 더 있었으면 좋겠어.”, “컴퓨터가 더 빨랐으면 좋겠어."
- 하자: “언제 한번 만나자.”, “이거 끝내자."
이런 단어들은 주변에서 생각보다 많이 사용된다. 이런 말들을 믿고 의지하는 일은 바람직하지 않다. 즉, 위와 같은 유형의 말들로 이뤄진 약속으로는 부족하다는 의미이다.
약속을 뜻하는 말은 어떤 말인가?
진심으로 하는 약속인지 아닌지 구별하는 비법은 문장에서 “나는 언제까지 할 것이다.”라는 말을 찾아보는 것이다.
명확한 마감시간을 언급하고 그 시간까지 뭔가를 하겠다는 행동을 표현했다. 꼭 완수하려는 의지를 담았다고 할 수 있다.
이런 표현의 약속은 프로그래머들이 맞닥뜨리는 여러 의사소통 문제들, 즉 추정, 마감일, 마주보고 하는 대화에서 생기는 사고를 해결하는데 도움이 된다.
예라고 말하는 법 익히기
아니라고 말하는 법도 중요하지만 예라고 말하는 법 또한 중요하다.
노력의 또 다른 면
피터가 평가 엔진 수정을 책임지고 있다고 상상해보자.
마지: “피터, 평가 엔진 수정을 금요일까지 끝낼 수 있나요?"
피터: “가능하다고 생각해요."
마지: “문서 작업까지 포함해서요?"
피터: “문서 작업까지 끝내도록 노력해 볼게요."
|
“노력”이라는 단어를 잘못 사용하고 있다.(2장 참고)
아래처럼 이야기 하는 편이 더 나았다.
마지: “피터, 평가 엔진 수정을 금요일까지 끝낼 수 있나요?"
피터: “가능할 겁니다. 하지만 월요일에 끝날지도 몰라요."
마지: “문서 작업까지 포함해서요?"
피터: “문서 작업은 몇 시간 걸리니까 월요일에 끝낼 수도 있어요. 하지만 화요일까지 늦어질지도 몰라요."
|
원칙을 가지고 의사소통하기
만약 업무가 일정 내에 꼭 끝나야 한다고 요청한다면 어떻게 대처해야 할까?
테스트를 작성하지 않거나, 리팩터링을 하지 않거나 또는 회귀 테스트를 진행하지 않는다면 일정 내에 할 수 있을 거라는 유혹을 받을 수도 있지만 오히려 더 늦어질 뿐이다.
프로라면 원칙을 세웠다면 어떤 상황이라도 꼭 지켜야 한다.
피터: “아니요. 마지. 화요일 전에 끝난다고 확실할 수 있는 방법은 정말 없어요. 일정을 어지럽혔다면 미안하지만, 어쩔 수 없는 상황이에요."
마지: “망할. 더 일찍 안 끝나면 정말 안 되는데, 확실해요?"
피터: “확실해요. 화요일까지 늦어질 가능성이 있어요."
마지: 알았어요. 윌리랑 이야기해서 일정을 조정할 수 있는지 알아봐야겠네요."
...
마지: “저기요, 피터. 부담이 크다는 건 알고 있지만, 월요일까지 끝낼 방법을 꼭 찾아주셨으면 해요. 정말 중요한 일이거든요. 방법이 없을까요?"
피터: “좋아요, 마지. 잘 들으세요. 집에 전화해서 주말에 출근한다고 말해 둘게요. 가족들이 괜찮다고 하면 월요일까지 끝내 놓을게요. 월요일 아침에는 별 탈 없이 잘 돌아가는지 월리에게 확인까지 받을 겁니다. 하지만 그런 다음 바로 퇴근해서 수요일에 출근할 겁니다. 괜찮겠어요?"
|
위와 같이 의사소통을 해야한다. 초과근무를 하면 요구한 업무를 마무리 할 수 있다는 것과 이틀 정도는 녹초가 된다는 것을 안다.
결론
프로라면 모든 요청에 예라고 대답할 필요는 없지만 예라고 대답하기 위해 고심해야 한다. 예라고 대답할 때에는 약속을 뜻하는 언어를 통해 모호함이 없도록 해야 한다.
'소프트웨어공학' 카테고리의 다른 글
[클린코더] 2장 아니라고 말하기 (2) | 2016.10.19 |
---|---|
[클린코더] 1장 프로의 마음가짐 (1) | 2016.10.19 |