10 Core tenets for managing successful teams

4/5/2024

Here is a list of 10 core tenets I personally believe in for teams that I manage. That said, continuous learning should always be a priority so they are my personal opinions, but I hold them weakly.

  1. Build for your users/customers

    You should always have a bias for ensuring what you are building will help your customers/users. You can use this as a litmus test for your decisions.
  2. Empower your teams

    Empower your teams by ensuring they have an appropriate level of autonomy. Let them tell you what it is they need or how you can help, and try to ensure they are included in decisions, where appropriate, that will have a direct impact on their day to day work life. As an added benefit, it also increases job satisfaction.
  3. Asynchronous first

    Asynchronous communication comes with a number of benefits including fewer context switches, and things being written down. Chat apps are not asynchronous communication see this great article that explores that further. Synchronous communication can and should be used when it brings a concrete benefit for the team but it should be the exception not the rule.
  4. Don't reinvent the wheel

    Choosing to buy, integrate, or use an appropriately licensed open source alternative should always be an option. It could also reduce technical debt.
  5. Ship early and often

    Shipping early and often allows you to start getting vital user feedback as soon as possible. If you can't release an element to everyone right away, use feature flags to get feedback from a smaller subset. Remember you are building for your users.
  6. Developer experience focus

    Work with the product team to include developer experience items when appropriate. A better developer experience can make a team much more efficient and happy which will ultimately be a boon for the company, and the product.
  7. Be accountable

    Ensure a mindset of accountability at the team level. By not fostering a "throw it over the fence" mentality you will get better, higher quality output.
  8. Align to goals and objectives

    Show the team how they are advancing company goals and work with members on their own career aspirations and goals. Team members understanding how they are making a difference for the organization can boost morale and job satisfaction. Personal or career goals help a team member reach the next plateau they are reaching for.
  9. Continuous improvement

    Create a culture of continuous improvement. Implement feedback loops so that team members can receive and provide feedback to make the team a more cohesive unit.
  10. Automate repetitive tasks

    Repetitive tasks are often error prone and unpleasant for a development team. If it's happening frequently, see if there's a way to automate it.

This is certainly not an exhaustive list of how to manage a team, but I find following these tenets as a starting point can set you, and more importantly your teams, up for success.