2006/09/02 13:06
[인상깊은 구절]
"깨진 창문"
오랜 기간 수리하지 않고 방치된 창문 하나가 거주자들에게 버려진 느낌을 스며들게 한다. 당국자들이 그 건물에
별 관심이 없다는 느낌 말이다. 그래서 다른 창문이 하나 더 깨진다. 사람들은 이제 어지르기 시작한다. 낙서가 등장한다. 심각한 구조적 손상이 시작된다. 꽤 짧은 시간 안에 소유주가 그걸 고치려는 의지를 넘어설 정도로 건물이 손상되고, 결국 버려진 느낌은 현실이 되어 버린다.
"깨진 창문 이론"은 뉴욕과 다른 주요 도시 경찰들에게, 큰일을 막기 위해 조그만 것들을 엄중 단속해야겠다는 영감을 불어넣어 줬다. 정말 그렇게 된다. 깨진 창문, 낙서 기타 작은 위반 행위를 잘 단속했더니 중범죄가 줄었다.
"깨진 창문"(나쁜 설계, 잘못된 결정, 혹은 형편없는 코드)을 고치지 않은 채로 내버려 두지 마라. 발견하자마자 바로 고쳐라. 적절히 고칠 시간이 충분치 않다면 판자로 덮는 것만이라도 하라. 불괘한 코드를 주석처리 하거나, "아직 구현되지 않았음" 이라는 메세지를 표시하거나, 가짜 데이터로 대치해 놓거나 하라. 더 이상의 손상을 예방하기 위해 어떤 조치든 취하고 현 상황을 잘 관리하고 있다는 것을 보여줘라.
깨끗하고 잘 기능하는 시스템들이 일단 창문이 깨지기 시작하면 급속도로 악화되는 것을 많이 보아 왔다. 소프트웨어의 부패에는 다른 요인들도 있는데, 그것에 대해서는 다른 곳에서 다루겠지만 방치는 다른 어떤 요인보다도 부패를 더 가속시킨다.
여러분은 어쩌면 주변을 돌아다니며 프로젝트의 깨진 유리를 전부 청소할만한 시간이 있는 사람이 없을 거라고 생각할지도 모르겠다. 만약 계속 그렇게 생각한다면 큰 쓰레기통을 구하거나 아니면 다른 곳으로 이사 갈 계획을 세우는 게 나을 것이다. 엔트로피가 우리를 지배하도록 내버려 두지 마라.
- 실용주의 프로그래머 - 에서
오랜 기간 수리하지 않고 방치된 창문 하나가 거주자들에게 버려진 느낌을 스며들게 한다. 당국자들이 그 건물에
별 관심이 없다는 느낌 말이다. 그래서 다른 창문이 하나 더 깨진다. 사람들은 이제 어지르기 시작한다. 낙서가 등장한다. 심각한 구조적 손상이 시작된다. 꽤 짧은 시간 안에 소유주가 그걸 고치려는 의지를 넘어설 정도로 건물이 손상되고, 결국 버려진 느낌은 현실이 되어 버린다.
"깨진 창문 이론"은 뉴욕과 다른 주요 도시 경찰들에게, 큰일을 막기 위해 조그만 것들을 엄중 단속해야겠다는 영감을 불어넣어 줬다. 정말 그렇게 된다. 깨진 창문, 낙서 기타 작은 위반 행위를 잘 단속했더니 중범죄가 줄었다.
"깨진 창문"(나쁜 설계, 잘못된 결정, 혹은 형편없는 코드)을 고치지 않은 채로 내버려 두지 마라. 발견하자마자 바로 고쳐라. 적절히 고칠 시간이 충분치 않다면 판자로 덮는 것만이라도 하라. 불괘한 코드를 주석처리 하거나, "아직 구현되지 않았음" 이라는 메세지를 표시하거나, 가짜 데이터로 대치해 놓거나 하라. 더 이상의 손상을 예방하기 위해 어떤 조치든 취하고 현 상황을 잘 관리하고 있다는 것을 보여줘라.
깨끗하고 잘 기능하는 시스템들이 일단 창문이 깨지기 시작하면 급속도로 악화되는 것을 많이 보아 왔다. 소프트웨어의 부패에는 다른 요인들도 있는데, 그것에 대해서는 다른 곳에서 다루겠지만 방치는 다른 어떤 요인보다도 부패를 더 가속시킨다.
여러분은 어쩌면 주변을 돌아다니며 프로젝트의 깨진 유리를 전부 청소할만한 시간이 있는 사람이 없을 거라고 생각할지도 모르겠다. 만약 계속 그렇게 생각한다면 큰 쓰레기통을 구하거나 아니면 다른 곳으로 이사 갈 계획을 세우는 게 나을 것이다. 엔트로피가 우리를 지배하도록 내버려 두지 마라.
- 실용주의 프로그래머 - 에서


