InfoQ

News

19 Pitfalls of Technical Leadership

Posted by Deborah Hartmann on Jun 19, 2006 09:48 PM

Community
Agile
Topics
Leadership ,
Teamwork
Tags
Performance Evaluation ,
Coaching and Mentoring ,
Management
Hacknot's list of Great Mistakes in Technical Leadership, while not particularly intended for an Agile audience, contains some sage advice - good leadership is not restricted to Agile teams. As always, Agile teams still need to balance advice from traditional sources against Agile values and principles.

The article goes into detail on each point, but here is the basic list, as a starting point:

Mistake #0: Assuming the team serves you
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

One caution worth repeating here, for team leads and for everyone on teams with a flatter everyone-is-a-leader structure, is this:
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:

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.
Nice by Sandeep Khurana Posted Jun 20, 2006 1:23 PM
Hacknot's been down... by Jason Carreira Posted Jun 20, 2006 3:40 PM
Re: Hacknot's been down... by Deborah Hartmann Posted Jun 20, 2006 4:13 PM
  1. Back to top

    Nice

    Jun 20, 2006 1:23 PM by Sandeep Khurana

    Nice. Just would add one thing, managers in the project with no technical skills should stay away from day to day workings of the project.

  2. Back to top

    Hacknot's been down...

    Jun 20, 2006 3:40 PM by Jason Carreira

    I haven't been able to get there to read this... Been hours now...

  3. Back to top

    Re: Hacknot's been down...

    Jun 20, 2006 4:13 PM by Deborah Hartmann

    Me too. Have they been (gasp) hacked? :-D

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.