Naming things is hard. Witness things that developers have named and then struggle to explain because words and people are weird:

  • TDD sounds like it’s about testing, but it’s really a design technique.
  • BDD sounds like it’s about what code does, but it’s really a communication discipline.
  • Outside-in development sounds like a way to discover the design of software, but it’s really a technique for building software using a fractal todo list.

Bonus developer weirdness not about words: If you can’t decompose an idea into a todo list, you’ve got an initiative, not a project. Be afraid, keep digging at the idea until you can make it a todo list.