🚩 Team Management

Updated at 2018-06-23 14:56

Don't manage people, manage activities.

Each team should have a clear focus. Keeps employees focused under pressure and deadlines.

Minimize interruptions. If you need to add extra things or fix bugs a lot, this means you have poor planning or too tight schedule. Minimize meetings, daily briefings, reviews, tracking spreadsheets, status reports and email spam. Minimal bureaucracy, pending approvals and committees.

Don't demand visibility into everything. Ask only current status and do not go into the specifics. If you cannot trust your employees, why should they trust you?

Distribute the praise. Try to share praise and success with your team as much as you can. Hear a praise coming to your way? State that it was a team effort.

Discourage having "a work face". Be yourself and encourage others to be themselves. No one wants to leave their personality at home.

Be objective about performance. It can be hard if your employee is your friend but it must be done. Changing your view point from friend to objective is hard. Be nice and kind but make it clear that it is a professional relationship.

When delegating tasks, set a time limit and check right after it is due. If you do not set those time limits and stick to them, employees will not honor the deadlines. There should be at least few status checks if task is long or mission critical. Keep track of tasks with something e.g. Trello, Jira or GitHub Projects.

Steer and observe the forming of group norms. Group norms are the unspoken rules of the team; how they behave and think. Also called team culture.

  • Group norms override individual proclivities.
  • Frequently unspoken or openly acknowledged.
  • Avoid disagreement or vigorous argumentation to find the best solution?
  • Chafe against authority or require a strong leader?
  • Prefer working independently or in team?
  • Interrupt one another constantly when talking or leader enforcing speaking order?
  • Chitchat about weekend plans or discourage gossip?

Managing managers is a little different. If you manage managers, have one-on-one meetings once every two weeks:

  1. Top five things you have done last two weeks?
  2. Do those match items you are accountable for in the plan?
  3. What are you doing to advance the careers of the people you lead?

Admin Roles

One way to organize management of a team is to divide administration responsibilities to distinct roles but note that one person can take care of multiple roles.

Manager Role Responsibilities:

  • Focuses on well-being of employees.
  • Manages activities, not people, thus avoids micromanagement.
  • Benchmarks and improves performance of the team by improving efficiency of individual employees.
  • Being objective about performance but focuses on results, not effort.
  • Understands and maintains great work environment conditions.
  • Foresees that employees have good work-life balance.
  • Makes sure employees feel appreciated.
  • Makes sure communication is clear inside the team and in-out of the team.
  • Is involved in recruiting new members for the team.

Technical Lead Role Responsibilities:

  • Nurtures, educates and even enforces good technical practices.
  • Maintains technical excellence through education and delegation.
  • Must know and understand the whole development stack.
  • Must know a bit about emerging technologies for picking the right tool for the right job.
  • Can analytically take a collection of potential solutions and communicate pros/cons of all the options.
  • Motivates other engineers to think creatively.

Product Manager Role Responsibilities:

  • Represents the end-user in product development process.
  • Understand the target marked and problem domain.
  • Listens and communicates with the end-user.
  • Identifies, validates, estimates and prioritizes workload.
  • Gathers and introduces new ideas for the product.
  • Maintains a long term plan for the product development e.g. non-binding 6 month roadmap.

Project Manager Role Responsibilities:

  • Guides the team in executing short term plans e.g. sprints.
  • Frequently estimates and prioritizes workload with Product Manager.
  • Nowadays, Scrum masters usually handle this stuff.

You can think the role division as an extension to "product quality":

  • Eternal Quality => Project Manager + Product Manager
    • Usability
    • Performance
    • Features
  • Overlapping:
    • Reliability
    • Stability
  • Internal Quality: Technical Lead + Manager
    • Maintainability
    • Security
    • Code Quality
    • Complexity
    • Costs