Builder, User or Architect
Fleetingthree states of mind that are useful to design a good tool.
In each state of mind, we have to understand what it feels like to have this state of mind and try to maximize its experience.
In other terms, TDD or BDD or UX are not the answer to make a great tool, but a combination of all of them is the answer.