Вопрос животрепещущий, и вот тут как раз дискуссия на эту тему:

.. Hear why he says quality is the first casualty in the development process when things start getting tight. Be sure to add your comments about writing quality software apps.

http://ct.builder.com.com/clicks?t=1019 ... f&s=5&fs=0

В плане рамышлений процитирую Cuno Pfister'а (кажется, с доклада на Oberon Day @ CERN):
после корректности, все критерии того, что такое "хорошая" программа, в конечном счете сводятся к разным аспектам одного -- evolvability (легкость эволюции программы).