Unlike most articles on the human side of software development, this brings up some interesting research on agile principles In the Real World™.
- Tests first or tests after isn’t important. Just that they’re there.
- Pair programming as a default option seems to be counterproductive.
- Remote pair programming (across locations, cultures, etc) doesn’t seem to work at all.
- But, as a tool for certain situations (bring in new developers to a codebase or solving a specific problem, for example) it works rather well.
- Daily stand up meetings a bit pointless taken as a constant.
Of course, like a tools, agile can look just like a fancy hammer.