• "I hope that's not too gloomy a view of software."

    I wrote my first program on punch cards in the late 1970's. Today I do .NET development, SQL development, and SQL Administration. In my experience, I don't think the view that our programs will have bugs or may not work entirely as intended is too gloomy. I don't think that's an excuse to be lazy either. I just think it shows the maturity that's required to realize we're not perfect.

    It's delusional to arrogantly deploy a solution and then walk away thinking it's perfect and will never need to be touched again. :crazy:

    As soon as we have perfect humans we can then start expecting perfect programs. It may be a long wait... :hehe:

    Until then, I think the best approach is test-driven-development with continuous integration. Continually adding and improving test cases is not lazy. It's a lot of work and there are many places that skip test cases thinking they don't need them. That's lazy.

    Test-driven-development with continuous integration acknowledges our imperfections while still trying our best to deliver the highest quality possible.