Goals matter.

(by Mike Carter)

Without a clear definition of success, it's hard to know which direction to take, or whether you're making any progress. Goals provide direction and clarity for your teams.

A goal is something you collectively agree that you’d like to accomplish together. It’s simultaneously a result to work towards, and a compass to help guide your efforts in getting there.

Goals can scale from a single person to an entire organisation, but they work best when given to a team just large enough to effectively achieve them. At Leaf, we use goals often to help get traction in challenging development environments.

Goals should be SMART

  • Specific - They state what will be done.
  • Measureable - They can be objectively verified as being achieved.
  • Achievable - They are reasonably achievable by their team.
  • Relevant - They are of some benefit to the organisation they’re contributing to.
  • Time-based - They have some sort of expiry date set against them.

Using the S.M.A.R.T criteria helps to ensure your development team agree to goals they all understand, that they can accomplish, that matter to the business, and that can be completed within an agreed timeframe. Consider the following example:

Improve our web application to reduce the percentage of customer data that needs correcting from 25% to 5% by Christmas 2019.Joe Schmoe, Project Leader

This is a good goal. It's Specific, Measureable, and Time-based, and in Joe Schmoe's world it's Achieveable and Relevant. Keep in mind though, achievability and relevance are subjective to the situation and organisation at hand.

Goals need focus

In most organisations, development teams work towards multiple goals at once. However, having many goals for a single team does not work well. When multiple goals are the priority, none of your goals are a priority.

Using small teams with separate goals is much better, allowing parallelism while preserving a focus for individual teams. With this approach, no one person has more than one goal or priority, but many things can still get done.

It's likely that you'll end up with a surplus of goals to choose from, but since you can only focus on one, make a good choice by asking yourself the following:

  • Which goal will your team make the most impact on?
  • How well are your team’s strengths and weaknesses are aligned to each goal?
  • How much enthusiasm does your team have for each goal?

You’ll know you’ve hit good matches when your team is able to make a big impact on a goal well suited to their strengths, that they’re enthusiastic about getting to work on. Focus on these.

Goals promote success

Focus - Goals keep teams working on achieving a single outcome. This is invaluable for software development, in which complex changes can take a lot of time. Having a goal in place prevents time being wasted on busy work, helping your business to make progress quickly.

Ideation - People are idea machines. Undirected, they will think of ways to improve all aspects of an organisation. However, these ideas aren’t always of the highest priority to your business. Goals help to channel this ideation towards useful, high value problem solving.

Autonomy - When people are blocked from proceeding with their work, a goal helps them to make a smart decision about what to do next. No more “I’m blocked, what do I work on now?”.

Alignment - Without goals, it's common for teams to accidentally end up working on the same tasks, or on tasks that counteract each other. Clearly assigned goals can help prevent this wheel-spinning, and keep everyone on the same page.


As we work to add automation to our client's businesses at Leaf, we define a clear goals before starting each piece of work. They make a tremendous difference in the productivity, effectiveness, and happiness of the teams we work with.