본문 바로가기

프로그래밍

깨진 창문 이론 (소프트웨어 엔트로피)

엔트로피는 시스템 내의 '무질서'한 정도를 가리키는 물리학적 용어

소프트웨어의 무질서도가 증가할 대 프로그래머들은 이를  '소프트웨어의 부패'라고 일컫는다.

깨진 창문.

오랜 기간 수리하지 않고 방치된 창문 하나가 거주자들에게 버려진 느낌을 스며들게 한다. 당국자들이 그 건물에 별 관심이 없다는 느낌 말이다. 그래서 다른 창문이 하나 더 깨진다. 사람들은 이제 어지르기 시작한다. 낙서가 등장한다. 심각한 구조적 손상이 시작된다. 꽤 짧은 시간 안에 소유주가 그걸 고치려는 의지를 넘어설 정도로 건물이 손상되고, 결국 버려진 느낌은 현실이 되어 버린다.
 '깨진 창문 이론'은 뉴욕과 다른 주요 도시 경찰들에게, 큰일을 막기 위해 조그만 것들을 엄중 단속해야겠다는 영감을 불어넣어 줬다. 정말 그렇게 된다. 깨진 창문, 낙서, 기타 작은 위반 행위를 잘 단속했더니 중범좌가 줄었다.
.....
... 깨진 창문이 꽤 있는 프로젝트를 한다면, "나머지 코드가 전부 쓰레기니까 나도 그렇게 하지 뭐."라는 사고로 빠져들기 너무도 쉽다. 이 시점까지 프로젝트가 괜찮았다면 큰 상관은 없다. '깨진 창문 이론'이 나온 최초의 실험에서는 버려진 자동차 한 대가 일주일 동안 아무도 손대지 않은 채 방치되었다. 하지만 창문 딱 하나가 깨지자 몇 시간 만에 자동차 내부는 도둑질을 당했고 차체는 뒤집혀졌다.

============================================================
[실용주의 프로그래머에서 발췌] 지은이 앤드류 헌트, 데이비드 토머스 지음

이걸 읽는 순간 뜨끔했다....
과연 나는 많은 작업을 하면서 깨진창문을 보게되었을때 그것을 수리하려고 했었는지 방치하려고 했었는제...
모든 창문을 고치지도 못했으며, 자기 합리화 - 이미 발견된 깨진창문들이 많음을 핑계로- 를 통하여 깨진창문을 방치한적이 있었다..
그렇다고 노력안한것은 아니다... 성격이 대충대충하는 편은 아니라서.. 보이면 고치려고하지만.. ㅋ
반면 게으른면도 많기 때문에..

기존에야 어쨌든 앞으로는 문제점이 발견되면 100% 고쳐야 겠다..

'프로그래밍' 카테고리의 다른 글

[급수정]시스템정보와 듀얼 CPU정보를 제공하는 위젯  (4) 2007.03.19
위젯이란?  (0) 2007.03.14