The article goes into detail on each point, but here is the basic list, as a starting point:
Mistake #1: Isolating yourself from the team
Mistake #2: Employing hokey motivation techniques
Mistake #3: Not providing technical direction and context
Mistake #4: Fulfilling your own needs via the team
Mistake #5: Focusing on your individual contribution
Mistake #6: Trying to be technically omniscient
Mistake #7: Failing to delegate effectively
Mistake #8: Being ignorant of your own shortcomings
Mistake #9: Failing to represent the best interests of your team
Mistake #10: Failing to anticipate.
Mistake #11: Repeat mistakes others have already made
Mistake #12: Using the project to pursue your own technical interests
Mistake #13: Not maintaining technical involvement
Mistake #14: Playing the game rather than focusing on the target
Mistake #15: Avoiding conflict
Mistake #16: Putting the project before the people
Mistake #17: Expecting everyone to think and act like you
Mistake #18: Failing to demonstrate compassion
Pair programming seems to be most appealing to those who like to chat about their work ... continually. An excessive focus on group consensus-based decision-making for all technical aspects of the project, even the trivial ones, may be a sign that a Technical Lead is more concerned with the sociology of the project and their place amongst it, than with leadership and making efficient use of people's time and effort.Apparently, even collaboration needs to be kept in balance, to avoid the descent into the other MDD (Meeting Driven Development), the antithesis of healthy Agile collaboration.
For those who prefer patterns to antipatterns, here are some useful references:
- Jim Coplien's Organizational Patterns of Agile Software Development
- Jim Highsmith's Agile Project Management : Creating Innovative Products