A couple of suggestions of how we might improve the quality of IT systems; stop promoting engineers as soon as they become vaguely experienced at building systems (just pay them more to be engineers), and apprenticeships, (IT systems involve theory and practice).
A39.pdf (20KB)
reference
Article in IT Week, April 2007