Code over Requirements
On Brian Marick’s Oddly Influenced, he was talking about the historical antecedents of the Agile Manifesto. He explains that agile emerged at a time of tension in software development. There was a pushback against the distinction between creating software requirements and doing software development. Marick tells the story that before agile, the work of creating the documents that directed software development was seen as higher status than writing the code. Agile is a rejection of that, and an elevation of code over requirements.
For Agile, code is seen as real and requirements are speculation or a model. (This is maybe why programmers call themselves engineers: engineers make things that are real.)
Here’s the problem: code is a model, too.