Goal-setting for engineering teams
Goal-setting for engineering teams
I love goals! Not just for fun, or because it seems the right thing to do, but to help myself and the team get onto the same page about what we want to achieve.
Goals can be something physical, such as completing a marathon, work-related, getting promoted, or mental, such as meditating every day for at least five minutes. Goals help individuals and teams achieve incredible feats. There are countless methods for goal setting and it can be difficult to figure out what works for you personally and your organization.
The best software engineering teams have goal-setting figured out. These teams have effective goal-setting techniques in place. Setting goals to improve engineering performance seems easy, but in practice, it is much more difficult. Before we get into the right way to set goals for a software engineering team, we should discuss some background on goal setting.
What is a Goal?
A goal is a future result that is desired by a singular person or a group of people. In a software engineering team, goals help keep the team on track and deliver superior products. A goal can be abstract or defined by hard data.
The goal is defined by Dictionary.com as “the result or achievement toward which effort is directed; aim; end:” The term has a detailed history and has transformed over the past few centuries. It appeared in the mid-14th century as ‘gol,’ which meant “boundary or limit”, in a poem. The term then appeared again in the 1530s as ‘gole’ with the meaning of “endpoint of a race. Regardless of the history of the term, goals are important in the workplace.
“Unless we have a purpose there is no reason why individuals should try to cooperate together at all or why anyone should try to organize them.” - Lyndall F. Urwick
This quote showcases the importance of goal setting in a team environment. Goals can be thought of as the execution of the organization's vision and long-term prospects. Goals are made up of individual and team actions that create the desired outcome. Software engineering teams benefit from goal setting to improve performance.
Amazon’s Secret for Setting Goals
Amazon, one of the world’s most innovative companies, has figured out how to effectively set goals. When Amazon sets out to build a new product, they attempt to work backward from the customer. This is typically done by creating an internal press release that discusses the finished product.
The press release is a good litmus test to see if the new product would solve the customer’s problem and be better than the current solutions. If the proposed product does not fit the customer’s needs, then the product can be scrapped before it goes into product development. Team members can iterate the press release until they come up with a viable product. The press release sets the goals for the product development team.
“Once the project moves into development, the press release can be used as a touchstone; a guiding light.”
Team members can reference the press release throughout the project to ensure that the product they are building is accurate to the press release. Engineering teams will stay focused on building a product that focuses purely on customer benefits. This goal-setting methodology is an effective way for engineering teams to stay on track.
Why Should I Set Goals For An Engineering Team?
Software engineers are highly motivated individuals on their own. A majority of software engineers are always looking to improve, so you may think that you do not have to set any goals for them. However, goal setting improves team performance and results in better software products shipped out.
Driving team performance is more important than ever before. Ally recently completed a survey of 4,500 professionals from the US and the UK around goal setting in their business. The survey found that 62% of professionals who are working remotely are working harder than before, but they are seeing fewer results. In the long term, this could lead to poor team performance and employee turnover. This gap in performance can be solved in part by goal setting.
Management and engineering may have difficulty communicating. Goal setting gives your team a common language in which to communicate. This helps to keep your team on track to deliver the best possible results. Your team will have a clear picture of the timeline, the importance of their work, and a plan to achieve the goal. A comprehensive goal-setting framework ensures that your software engineering teams are constantly growing and striving to be the best they can be.
When management goes to set goals for software engineering teams they may focus on key performance indicators (KPI). This is a common mistake that organizations make.
Celebrate the Good Times!
Accomplishing goal after goal can seem like running on an endless treadmill. Celebrating is incredibly important when it comes to setting goals. If there is no reward for accomplishing a goal, teams may lose motivation.
Management should celebrate team and individual accomplishments in a group setting. Writing down goals and reviewing them in a team setting can be a powerful way to encourage employees to reach their goals. Knowing that your team actually achieved what you set out to do can be incredibly motivating. Next time you set goals, team members may be more motivated to set even more ambitious goals as they know they will be celebrated at the end of the road.
KPIs and Setting Goals
KPI and goal setting can be used interchangeably when management is looking to measure whether a team has achieved the desired outcome. However, key performance indicators and goal setting should not be confused. KPIs are not a goal-setting method. The goal is the desired outcome, which is not the same as a measurement that is taken. KPIs can be useful in determining whether a team is on track to hit the desired outcome.
The SMART technique is an effective methodology that organizations commonly use to set KPIs. SMART stands for:
- Specific
- Measurable
- Attainable
- Relevant
- Time-based
The technique focuses on the fact that goals need to be specific and measurable. Project managers can help their teams accomplish goals that are feasible. More recently, a more innovative goal-setting methodology is being used by software engineering teams.
Objectives and Key Results
Objectives and Key Results (OKR) is a goal management framework that helps teams execute at high levels. OKRs have become an increasingly common goal-setting methodology in the largest technology companies, such as Netflix. Google first adopted OKRs back in 1999 and the methodology has helped the company grow into the technology giant it is today. OKRs get teams out of their comfort zones and perform at high levels.
An OKR consists of an objective, key results, and initiatives. An objective is a description that points you in the direction of where you want to go. The key results are measurable outcomes that are needed to get to the objective. An initiative is a project or task that helps teams get key results. The OKR framework consists of rules that frame how teams prioritize, align, and measure the outcome of their efforts.
Organizations have seen improvements on the team level with the OKR framework. Upraise implemented OKRs throughout various engineering departments to foster creative problem-solving. This resulted in a number of benefits. Their team was able to improve infrastructure reliability through state-of-the-art tools and software to increase productivity by 30%. They were also able to reduce breakdowns in peak hours by 90%.
Every organization will have a different approach to goal setting for software engineering teams. There are a few guidelines that organizations should follow to ensure that the right goals are set.
Celebrating our one millionth 4680 cell in January pic.twitter.com/d19IPFu18u
— Tesla (@Tesla) February 18, 2022
General Goal Setting Guidelines
Every organization will have a different approach to goal setting for software engineering teams. There are a few guidelines that organizations should follow to ensure that the right goals are set.
Ambitious, but Realistic Goals
You want your software engineering team to shoot for the stars. Setting realistic goals for your engineering team is necessary for them to become high achievers. No one wants to fail. Not reaching goals can have long-term effects on software engineering team performance. Research has shown the importance of setting realistic goals that your team can attain.
No ambition, no presents. #OKR pic.twitter.com/GKzvxSGs99
— The Church of OKRs (@ChurchOfOKRs) December 22, 2021
Researchers at the Technical University of Darmstadt performed a study to better understand what happens when employees do not meet their goals. One group of participants received fictitious feedback about attaining or failing a specific goal, while the other group had goals that they could not achieve.
In both groups, the participants who failed the high and specific goal had more negative self-esteem and motivation as compared to the participants who achieved the goal. This could lead to serious long-term consequences for performance. When employees are not able to meet goals they could suffer and potentially lose motivation and discipline.
Management needs to take this into account when using goal setting as a motivational and leadership tool. Teams can achieve high performance if they are given goals that they can achieve. If your team does fail, you need to take action to counteract the potential undesirable effects that failure creates, such as lowering the goal standards.
Set Specific Goals
If the goal is not specific, then teams will struggle to stay along the desired path. Over 1,000 studies have consistently shown that setting specific goals is linked to increased task performance, persistence, and motivation, compared to vague or easy goals. Management should ensure that the goals are laid out very clearly to software engineers. This will allow teams to consistently reach their goals.
If you don’t set specific goals, how would you ever know you scored them? A life without specific goals is a vague, meandering life with vague, meandering results. Set your goals now. Be clear. Be specific. Your success depends on it.#Motivation
— Inspired Motivation Quotes (@IMQuotes_Videos) January 21, 2022
Get Your Team Involved
Software engineering teams should be involved in the goal-setting process. Simply assigning a goal to a team could lead to confusion and resentment from team members. Management may not have all of the right contexts. For example, a general project manager may not have all of the domain-specific knowledge to set the right goals for an engineering team that is working in the medical device industry.
After management and the software engineering team agree on the goals, regular check-ins should be performed. Software teams can work with management on improvements and overcome any challenges that are experienced throughout the process. These check-ins can be done daily, weekly, or monthly. Getting software engineers involved in the goal-setting process can lead to more buy-in from team members.
Be Flexible
Deciding what goal-setting methodology works for your organization largely depends on your team’s individual needs. You should create goals that will encourage your software engineering team to perform at their best.
I prefer to be very fluid with how I set goals, there is no one right or wrong way. A lot depends on the personalities of the team members, the stage of the project, and other factors. For example, for a brand new initiative, we might set the goal of just getting one customer, or generating $1 in revenue. As the initiative gets more advanced we start to set more specific goals like “3 new clients in Q1”. And even more advanced, we would be tracking more detailed metrics and setting goals on page visits, retention, revenue, and profitability.
Bottom line is, be flexible, try things out, see what works for you and your team, and most importantly - flex your goal-setting muscle!