Eric Kipnis
Success in Software

Success in Software

How to Write Effective Goals

How to Write Effective Goals

Part 1: Determining your goals the S.M.A.R.T. way

Subscribe to my newsletter and never miss my upcoming articles

Last week I wrote about my favorite tips for starting a new job based on the last two months in my new position. Now that I’ve begun to settle into my team, my manager suggested I start thinking about some goals to begin my journey of growth at DraftKings. In all honesty, I’ve always had difficulty setting goals for myself. It can be frustrating to figure out what your goals should be. Oftentimes, I find that my interests have changed over time and sometimes the opportunities to help drive your goals may not present themselves. Let’s see how we can mitigate some of those negatives of setting goals by using a framework known to increase the likelihood of success.

Be S.M.A.R.T. about your Goals

A tried and true method, S.M.A.R.T. goals are anything but ambiguous. Let’s take the time to dissect each of its five components that you'll work through when writing your goals.

S: Specific

When crafting your masterpiece of a goal it should have a Goldilocks level of specificity. Not too broad that it’s unclear as to what you’re trying to accomplish, but also not too granular that you end up with one of the steps in achieving the overall goal.

To help you uncover the specifics of your goal, try to ask yourself the following:

  • Who does the goal revolve around? Does it only involve yourself or does it involve others to succeed?

  • What is the objective or end state of the goal? The more detail you can paint about the picture here the better. Fast forward to when you’ve already accomplished the goal. What does the end result look like? Do you know more than you did before about a certain topic? Do you have a new process that prevents bad code from reaching production?

  • When do you think you’ll be able to roughly turn this goal into reality? A rough estimate is fine here since we’ll dive deeper further on below in “Timely” (spoilers!). In my experience, a simple determination of whether or not this will be a short, medium, or long-term goal is usually enough to put you in the right frame of mind.

  • Where does this goal take place if the location is relevant? Maybe it involves speaking at a certain tech conference? This one isn’t often necessary but can help paint a fuller picture.

  • Why are you motivated to achieve this goal? Will it help with a team metric? Will it help advance your career? Will it fulfill a personal interest in a subject?

M: Measurable

As a part of developing your smart goal, you should determine what metrics you’ll use to determine milestones to measure progress and to know when you have achieved end result. Without quantitative numbers to back up your progress, you’ll have no way to prove you’ve actually achieved your goal. This could be as simple as the number of bugs reported in production or the amount of money the company saved in the process.

It’s important to note that there will likely be a variability factor associated with your goal. If you manage to reach a 20% reduction in bugs found in new production code but your goal was 25%, it doesn’t mean you failed. Maybe your timeline was just a bit off and that’s alright.

A: Achievable

Nobody likes setting themselves up for failure and creating goals should be no different. Take a moment and zoom out on your overall goal. Are the parameters outlined in the goal attainable or are they most likely out of reach? If they’re too unrealistic, adjust them until they seem doable in the timeframe specified. You can always ask your teammates or your manager for feedback on your goal and how it can be tweaked/improved to set you up for success.

R: Relevant

Time to connect your goal to the overall benefit to the business or your personal journey. Does this make sense in the context of what you’re doing in your day-to-day or are you going to end up going against the grain? Adding that new set of performance enhancements to your team’s web application might make it run a bit smoother, but what about that customer retention problem your team has run into because the registration needs to be redesigned? If you don’t have customers using your application, then no amount of performance enhancements will really help at this time.

T: Timely

Take a moment to think about how long your goal might take. Is 6 months too long of a timeframe? Too short? What can reasonably be achieved within those 6 months and what fat needs to be trimmed for the goal to be justified and impactful enough to either yourself or the company? Make sure you can define clear milestones for your goal so that you can easily adjust your approach if the stars are not aligning. Not checking in along the way and re-evaluating the next steps is likely to end up sending you back to square one in achieving your goal.

Examples

Example 1: Driving my team towards better code quality

Too Broad: I want to improve the quality of the code that my team outputs.

Too Specific: I want to add a linter and run SonarQube in our team’s repository as a step in our continuous integration pipeline and fail the build if it doesn’t reach at least 80% in net-new code coverage, introduces any security vulnerabilities, or contains too many code sniffs.

Just Right: I want to reduce the percentage of bugs our team produces from net-new code deployed to production by 25% over the next 6 months.

Example 2: Getting in shape for a 10k race.

Too Broad: I want to compete in a 10k race.

Too Specific: I want to hire a personal trainer to help me train, a nutritionist to help find the optimal diet, and buy the best shoes possible to run a 10k in and reach a time of 1 hour or less.

Just Right: I want to run a 10k race in the next 4 months and finish within an hour or less.

Try Writing some of your own S.M.A.R.T. Goals

Now that you've gotten exposure to a methodology for writing effective goals, spend 30 minutes or so writing some S.M.A.R.T. goals of your own. Feel free to share them here in the comments below or tweet them to me. I would love to hear what everyone is striving towards in their careers or personal life.

Keep an eye out next week as I go over how to actually set yourself up for success and execute on your new goals in part 2!

 
Share this