The Agile Manifesto seems like ancient history now. The concepts of iterative development were not new – but they hadn't been marketed until the manifesto was published and the movement was unleashed.
In late 1999 or early 2000 I can remember sitting in a meeting room with the Assistant CIO of a large healthcare organization .. describing my preference for using what I then called an iterative development process – where we would define "bite-sized parts" for implementation, exposure, and refinement on a regular basis.
She had never heard of such a thing – and advocated for the developers on the team:
"They need to know when it's finished!"
Me: "This is software – it's never finished"
"But the customer needs to sign off on a completed project. How can we know that it will meet the customer need?"
"uuuh … ask them?"
"We ask them during the requirements process – when they define the project"
"And that is successful? They are always happy with the final product?"
"Well – no – but if they didn't describe their needs appropriately – that isn't our concern. So long as they have signed off on the spec before the development work begins – we have clarity for the what the requrements are – and if we build it to spec – we've completed the project and we can move on."
I stopped trying. Clearly the goal here was to complete the project "to spec" and move on to the next project.
There was a problem though – developers were bypassing standard process – and interacting directly with customers (with no management oversight) and were creating solutions collaboratively with customers.
So the Ass(istant) CIO wanted to give the developers a sense of closure .. but the developers wanted to please the customers – and bypassed their managers to do so!
Trouble in them thar hills, too. With no Human Factors training – and minimal design skill – developers all-too-often gave the customers what they asked for rather than what they needed. End result: ACIO came down hard on such "renegade" developers.
This reinforced the waterfall mentality. 🙁