Topic: Mindset and culture
When I first started learning about Agile development a few years ago, I was struck by a feeling of deja vu.
Didn't we used to value individuals and interactions over processes and tools? I remember working closely with colleagues who had different specialities and responsibilities to put complex solutions together, without requiring a formal process to define our interaction. Didn't we used to focus on building working software rather than on producing documentation? It was a commonplace that software developers were poor documenters, as I recall. Didn't we used to collaborate directly with our customers, to make sure we were building the right solutions? I remember working collaboratively and in person with customers throughout development projects. Didn't we used to be ready to change anything and everything at any time? I remember embarking on development projects without having a detailed, comprehensive plan in advance. Things worked out.
So, is this Agile stuff new or old? Every professional colleague I know who is old enough to remember those days agrees: Agile is not a revolutionary new idea the Snowbird group created out of the clear mountain air, but rather represents a return to a time-proven way of building software. It only seems new because effective development practices have been buried under a mound of process documents for the past 35 years.