Gary Varga (6/3/2013)
Whilst I agree in part with dtinney, my biggest issue was that serious inroads were being made but at some point we did another u-turn.
I should have noted my agreement with this statement as well. Late 90's, Rational RUP, full SDLC, hierarchy of design responsibility, testing methodologies evolving - including UI testing, maturing application deployment platforms...
Then we are blessed with free software, open source, Internet repositories, code sharing - all empowering programming for the masses.
But the biggest factor in my estimation was the emergence of the browser as the application deployment platform, brand new infrastructure element with support for scripting and requiring a completely new set of coding tools. Programming went back to text editors and script, hacking HTML and Java to get what the platform couldn't do out of the box, emerging issues of session, web site data repositories, data ownership... followed by evolution of application service frameworks so we're dealing with loss of core functionality and then a rapid evolution of capabilities which completely negated the benefit of design. By the time you architected a solution the framework had evolved past it.
2 steps forward for deployment and user experience, one step back for structured programming.