정말 소프트웨어는 '겉에서 보기에 잘 돌아가면 그만'일까?

소프트웨어는 '겉에서 보기에 잘 돌아가면 그만'이라고 말하는 사람을 종종 본다. 이러한 주장에는 소프트웨어의 내부 품질은 별로 중요하지 않다는 생각이 깔려있다. 나는 여기에 공감하지 않는다.

겉에서 보기에 잘 돌아간다는 것은 지금 당장에 유효한 사실일 뿐, 미래에도 그럴 것이라 보장할 수 없다. 게다가 요즘처럼 빠르게 변하는 불확실한 환경에서 살아남기 위해서는 급변하는 비지니스 환경에 맞춰 기민하게 대응할 수 있도록 애플리케이션의 구조를 변경하기 유리하게 만들어야 한다.  여기에서 변경하기 유리한 구조란 높은 품질의 코드를 뜻한다. 요구사항 변경에 빠르게 대응하기 어려운 저품질의 코드는 중요한 순간에 비즈니스의 발목을 잡을 가능성이 매우 높다.

시한 폭탄을 안고 어디까지 갈 수 있을까?