What do the following have in common?
- Agile Software Development
- Six Sigma
- Behavior Driven Development
- Software Craftsmanship
Each of these represents a good idea that a group of well-meaning people tried (and succeeded) to spread into the world.
Each is generally poorly defined and poorly understood.
Each term has now lost its meaning.
Each term, with new watered-down, wrong-headed interpretations is being used constantly to create a false sense of security and justification for bad practices.
In each case, adoption of a good idea is being accidentally replaced by adoption of a name which represents that good idea. The term becomes a placeholder for good intention.
I can “do BDD” in the same way that I can sign up for a membership at a gym. I feel the sense of accomplishment without the need to actually get healthy.