Monday 1 February 2010

No dirty linen to learn from

Following on from my previous post, I think there's one other important aspect of the 'lack of software permanence' - it's un-physical nature. When we make mistakes, it's general for us to learn from them. And not only us, but others who see our mistakes. So, an engineer can learn not only from their mistakes but from the mistakes of others they come across. And these mistakes are obvious - they're in your face and undeniable.

However, for software, we erase our mistakes. They are gone. For good. And not only lost to the author, but to any others who might have learned from them. Again, destroying that which we create seems to lead to a lack of general improvement in the 'art' of software engineering. 

What's that Santayana quotation - 
Those who do not learn from history are doomed to repeat it
How many software projects have you been involved with where the same mistakes are made over and over again? Is the skill in software development increasing in the same manner of collective best-practise prevalent in other disciplines, or are we successively  repeating failures, and hitting only lower and lower grades ...