JoshRoss said:

I believe in continuous improvement. For me, part of that involves reviewing old code; looking for new bugs or more elegant ways of solving a problem. When I have code that repeatedly fails to bear bugs or is unable to be rewritten in a desirable way, I feel a little pride.

 

-Josh

I have code I wrote for a big supermarket 3 or 4 years ago that is still used daily . I wrote the application over 3 or 4 months with no time constraints, because the software had to work, and be error free. Any mistakes would result in  their orders system being out of step which was not acceptable.

 

Given the same project today, someone would wet their finger with some spit, hold it up in the air to see what direction the wind is blowing, and shout 42. This project should take 42 days!

 

I would probably attain some functionality by the time the 42 days was up, but I'd be overworked and overstressed, and hate the job I am doing. I am also beyond any doubt that the code would have needed several updates, that in the long run would add up to more time than I initially spent without the pandemonium of micro management making the project managers feel as if good work is being done.

 

The long and the short of it is that project managers generally have a very short term view, and never ever factor in  having code that is of a high quality, and the benefits that gives. We have made advances in memory managed applications like Java and .NET, but C# isn't some magic programming language that makes everything easy. You can still create spaggetti applications as easily in .NET as C++ or VB6.

 

In several years time, the focus on SCRUM and Dickensian style production of code that has become unmaintainable will leave people scratching their heads as to how they ever got into this mess? I already know of some people that are up sh** creek because their .NET code is not just in need of a refactor but a complete re-write [shudder]

 

Programmmers are expensive for a reason, if you treat them like children, and if you start making them work in ways where they cannot practice the science of computing and the art of making things easy to understand, you end up with the worst of both worlds.