2.3.2 조직 문화를 바꾸는 전략
컨퍼런스나 사용자 그룹에서 발표를 하고 나면, 사람들이 다가와 이런 이야기를 하곤 합니다. 보통은 발표에서 영감을 얻었지만, 관리자들이 내부 품질(internal quality)에 집중하도록 놔두지 않을 것 같다는 겁니다.
경고를 오류로 처리할 때 얻을 수 있는 장점은 제도적(institutional)으로 품질이 떨어지는 것을 막을 수 있다는 점입니다. 경고를 오류로 취급하고 정적 코드 분석(static code analysis)을 켜면, 코드에 대한 통제력을 일부 포기하는 셈입니다. 통제력을 잃는다는 말이 별로 좋지 않게 들리지만 때로는 장점이 될 수도 있습니다.
‘정석대로 할 시간이 없다’는 이유로 ‘그냥 배포하라’라는 압력을 받았을 때 다음과 같이 대답할 수 있습니다.
“죄송하지만 그렇게 하면 코드가 컴파일되지 않습니다.”
이 대답은 개발 원칙을 무시하려는 이해관계자들의 고집을 막아줍니다. 자동 검사를 우회할 수도 있지만, 이걸 모든 사람에게 알려줄 필요는 없습니다. 즉, 이전에는 인간이 결정하던 부분을 기계가 강제하는 규칙으로 바꿔버리는 전략을 사용하는 것이죠.