Jeremy D. Miller on Software Teams

His top three preferences in brief:

  • internalized discipline over externally-enforced discipline
  • coaching over enforcement
  • collaboration over direction

It’s easy to agree with these preferences, but whether or not they can be put into practice depends very heavily on the members of the team. Unless you’re in a startup environment, you inherit people and culture as well as code.  While he makes a brief nod to hiring in the first section of his post, having the right people in the right places makes for much better results.

Miller does the best job of explaining his third preference.  Providing the rationale and context for a course of action gives a developer input and an opportunity to buy into an idea.  The success of this approach still depends on the having the right people.  I follow it with my own employees as much as possible.