• Everyone having thick skin makes getting to the interesting points quicker. Good.

    Ok Gary, I didn’t want to tangent off to your common view as that rabbit hole goes real deep, but I think the human factor point has been made.

    Software is repeatable: Yes, given a functional programming language, with a scope that is immutable and cannot differ, hardware that cannot change, the absolutely yes; otherwise no chance in bucklies it’s repeatable. Read on...

    Software is testable: Really? Fact: Only a surprisingly small part of software is testable. Have you seen Windows, Office, SQL Server, Linux, etc? Are you certain that with the amazing resources they have, that they don’t test their software? Automated, integrated, user acceptance and a myriad of other techniques, and yet somehow they release a surprising number of patches and fixes so often. Read on...

    Why do you think software developers talk in terms of “Should”, “Depends”, “May”, “Probably”, “Hope”? Because there are no guarantees. To justify the pay they need titles like Software Engineer, not Software Artist, which is really what they are doing. The only “engineering” is when they use years proven 3rd party libraries. Eg. Do you know how often code fails when getting data from a database? Rarely ever, unless some user does something stupid. It’s everything else that happens around it which is “done for the very first time” to communicate with the user that has the problems. Every application is different and there are very few repeatable parts, otherwise you would only ever have a couple of programs. This is why there are so few database access libraries, to have some stability somewhere.

    Should occur before release: Sorry but huh? Of course it does! Every heard the saying “Works on my machine” or “I can’t reproduce your problem”? Every computer has a different hardware setup, has different combination of applications and drivers installed. There is no set know environment. It’s all different! How can you find problems in software that your machine doesn’t have?

    It would be great it software was as easy as drag/drop and write a bunch of lines. Imaging how fast applications and systems could be created!?! But funny enough, software development isn’t fast and it takes time, so how could that be? Arhh those hobbyist, they are the ones that make new versions of Windows, Office and SQL Server take years to come around. Let’s get them!

    No, the realities are that like I said, it’s nigh to impossible to better engineer software with the current tools and more importantly; it is in no way easy to develop software with any complexity. Ie. Interacting with the user.

    BUT! We can do better in other ways…

    So Gary, please don’t think I’m picking on you, it’s just you’ve articulated a common mis-conception and fallacy; so you’ve been made an example of. 😉