Effective Goal Setting for Software Teams

Photo by Katya Wolf on Pexels.com

Motivation

One thing that I feel very strongly about in business is that teams should have goals, write them down and then strive to hit most of them, most of the time. There are countless different ways of doing this, but throughout my career I have assembled a playbook that has worked well for me. I have attempted to share this playbook below in hopes that:

  1. Others might find it useful
  2. Folks might have alternative ideas or challenges to my framework that are useful.

Most of my career has been working a software engineering context and most of my advice is geared towards those types of teams. However, I think some of these tips are applicable to teams in other contexts with some minor adaption.

What Do We Hope To Accomplish By Setting Goals?

When I am working with an organization to set goals, my objectives are:

  1. Ensure that a particular team is aware of the top priority outcomes for the quarter.
  2. Ensure other teams within the organization are aware of a team’s top priority outcomes for the quarter.
  3. Surface and align on dependencies across different teams in an organization.
  4. Serve as an input to know whether a particular team is on-track or off-track for that time period.
  5. Ensure that the outcomes a given team is focused on are aligned with the broader department and company goals and strategy.

What Goals Are NOT?

  1. Goals are not an individual accountability tool

    This is somewhat controversial, but I do not use goals as an individual accountability tool directly. Goals do have one clear Owner who is ultimately accountable, but goals are executed by teams. In my experience, it is too much of a burden to assign goals at the individual level and can create unintended consequences.
  2. Do not think of your goals as a a list of everything that a team wants to accomplish in a given quarter

    Rather, goals should be things that require extra attention, major deviations from the current trajectory, or things that are especially strategically important. There will always be keeping the lights on types of activities and generally those are not goals.
  3. Goals should not be used as a blind barometer of team performance

    It is not assumed that if a team is hitting a certain percentage of their goals, then they are doing great and if they are below that target then they are doing awful. While we do want goals to be input into team performance, many other factors such as context, qualitative feedback, and general trends are also extremely important.
  4. Goals are NOT a product roadmap

    If a particular deliverable is extremely strategically important or difficult, we may decide to add it as a goal. However, in general, goals should be focused on the outcomes that we want to achieve. The roadmap will specify the specific features that we need to achieve that goal. For example, the goal might read “Increase repeat product utilization by 20%”. The goal owner will then determine what items need to be delivered to hit that goal. In some cases this could be a new feature that needs to be developed and shipped, in other cases it could be some type of marketing or messaging initiative. The point is that the outcome is divorced from the way you achieve that outcome.

My Guidelines For Setting Goals

  1. Target 60-80% Goal Completion

    Teams should target a 60-80% goal completion percentage. If we are hitting more than 80%, then we probably should have been a little more ambitious. If we hit less than 60%, then we either picked the wrong goals or we are not executing properly.
  2. Goals should not be changed

    Goals cannot be changed once they are finalized. That means that some goals may no longer be relevant or important to the team. That is purposefully designed to force alignment on priorities at the beginning of the quarter. Further, goals cannot be changed if a planned dependency is no longer available or on track. Again, this is designed to encourage any cross-team planning and collaboration to identify and jointly resolve dependencies. We understand that you never can have 100% alignment, but that is why we do not target a 100% goal completion percentage.
  3. Partial Completion is Discouraged

    In general, partial completion is discouraged. We may make an exception if the business value is truly divisible. As an example, if we have a goal of improving utilization by 10% and we improve utilization by 9%, it does seem reasonable that we are realizing roughly nine tenths of the business value. However, if the goal is to release a new feature and we have 60% of the code done, the client is not really realizing any of that value, so this would just be a missed goal. 
  4. Visible to Anyone in the Company

    Goals and goal status should be visible to anyone in the company. Since one of the main objectives for goals is to be an alignment tool, if people cannot see what the goals are, it makes it harder to drive alignment.
  5. Socialize Your Goals BEFORE Finalizing Them

    It is a best practice to socialize your proposed goals with internal stakeholders before finalizing them. As an example, lets say that you are a database administration team that serves other product development teams as your internal customers, its a good practice to share with them your proposed goals and metrics before the start of every quarter. Again, one of the main objectives of this whole process is driving alignment.

Goal Setting Timeline

TimelineStepNotes
~2 weeks before start of quarterGoal BrainstormingBegin brainstorming possible goals for the upcoming quarter.
~1 weeks before the start of the quarterGoal Socialization and RefinementTeams should start sharing their goal ideas with internal stakeholders, executive leadership and others on whom they may have a dependency or need collaboration.
End of QuarterPrevious Quarter Goal Close OutTeams should close out the status of their goals from the previous quarter.
End of Quarter + 3 DaysPrevious Quarter Goal RetroTeams should meet to understand what went well, what did not go well and how they can refine their approach for the next quarter. This should then serve to inform and refine the goals for the upcoming quarter.
End of Quarter + 7 DaysGoals FinalizedGoals for that quarter are finalized.
End of Each MonthGoal Status UpdatesThe status of each goal is updated by the goal owner. This should be discussed at the management team level. If a goal is off-track, plans should be made to get it back on track.

Tracking Template

Here is a simple template you can use with your teams to track the status of your goals.

Frequently Asked Questions (FAQs)

  1. What goal setting framework should my team be using? OKRs? SMART Goals? EOS Rocks?

    I personally tend towards more of an OKR style of goal, butI do not think the specific framework matters that much. I think the best goal setting framework is the one that works for your organization. If your organization already has a goal setting framework, then great. I would likely encourage you to stick with that framework, but use the points above to refine the process.
  2. What is the right duration for goals?

    This can vary from organization to organization, but in general I have found one quarter to be about the right time. For most data science or software development teams, this is enough time to do research, plan, and build a few sprints worth of work and then measure the impact of that work on the goals outcomes you are measuring.
  3. What happens if we have some radical change to company priorities or some other large event outside of our control? Shouldn’t we change our goals?

    I have seen circumstances where there is some radical event that can really derail a business for a quarter. This could be a merger, an unforeseen compliance issue, an exogenous event such as COVID, etc. If faced with one of these truly radical changes, I would encourage you to:

    a. Add 1-2 new goals clearly calling out the new desired outcome. Make it crystal clear that these are new and spend lots of time explaining to the org why you need to depart from the previous goals. Make it clear that this is more important than the other goals.
    b. Continue tracking the old goals, so you can show what you started the quarter hoping to achieve and what you are now hoping to achieve.
    c. Make sure this is only RARELY used. It can be tempting to start to change your goals post-hoc, but remember a lot of value in goal setting is from getting that alignment up front.
  4. How do you track goal status?

    I typically like to track goal status every month. Goals can have a status of:

    1. On-track: Greater than 80% degree of confidence that the goal will be achieved.
    2. Off-track: Less than 80% chance the goal will be achieved during that period.

    Additionally, I ask that goal owners use a notes column to provide commentary on why they selected a particular status. This will then fuel a conversation.
  5. We tried setting goals once and it didn’t go well. What should we do differently?

    First off, it’s great that you gave it a shot. In my experience, it can take 2-3 iterations of this process before it really clicks with an organization. I have never seen an organization go from no goal framework to a successful goals implementation on the first iteration. It requires a commitment from the organization’s leadership to work on this for multiple periods. After each period, you can iterate on the format and give feedback on what is useful and what is not useful.

Conclusion

Goals are an important tool for aligning an organization. The specific format matters a lot less than having a process that is written down and that the organization all can follow. Also, don’t get discouraged if the first few iterations of this process are frustrating or met with resistance. It will likely take a few iterations and at the end, you will be met with better outcomes for the organization.