You’ve worked hard, thought about a KPI, and set a goal you want to achieve in a specific time frame, and you’re sure that, once you reach it, you’ll achieve your aims. But after the allotted time has passed, you discover that you missed your goal and that the day-to-day work just swallowed all of your time, and you didn’t manage to achieve what you intended.
Has this ever happened to you? It has to my team – a lot. In this post, I will share how we managed to increase our chances of meeting our goals by addressing them daily, referring to them whenever possible, and embracing them in our day-to-day work.
I’ve laid out our best practices in three phases: before you start working towards your goal, while you’re working to achieve it, and once your project ends.
Phase 1: Before you start working on your goal
You’ve selected the KPI you want to change and set your end goal. Are you feeling pumped and raring to start? Good! Now stop everything and do these things first:
Check your current status
Sounds obvious, right? But in many cases, we rush to start building and fixing without even thinking about where we are now and how we will measure our success.
Let’s say you aim to achieve system stability, so you want to reduce the number of minutes your system is down per quarter. First, check how much time it was down in the last few quarters.
Checking the current status helps you to set realistic goals, but more importantly, it provides two essential things:
- a benchmark that your team members and other stakeholders agree upon; and
- a well-defined way of measuring this benchmark.
Communicate accountability clearly
Whether you set different goals for each developer on your team or set one goal for the entire team working together, make sure your team members understand their responsibility and have the accountability to achieve their goals. Be extremely clear. Don’t think that your team members automatically understand their responsibility just by presenting the goal. This is not the place to be vague or leave gray areas. They are responsible for their goals, and they should do their best to achieve them.
Create a plan with your team
Sit with your team members and think hard about how you will reach the goal, and don’t assume that what you are doing today will be sufficient. Take into account vacation and sick days, onboarding of new people, the resignation of some team members, etc. Hope for the best but prepare for the worst. This is not a recommendation to downsize your goal but rather to encourage out-of-the-box thinking and embrace the ‘no excuses’ mentality.
Phase 2: While working hard to achieve your goal
At this stage, your team is actively working to reach your goal. Here are some best practices to help you get there:
Visualize your current goal status and the end goal whenever possible
Create a dashboard that contains your current status and the ultimate goal, and update it in real-time. If you can, use a dedicated screen and show the board on it as well. Open and refer to the dashboard in your daily meetings if you’re running them. If you’re running sprints and have a sprint planning session, think about what you’re going to do in the upcoming sprint that would impact and improve your current goal status; if what you are doing will have minimal or even no impact on the status of the current goal, ask yourself why you are doing it at all.
Increase awareness and trust from high management and other stakeholders
Be proactive. Create a bi-weekly or monthly report, send it to anyone who cares about it, and state what you did in the last sprint and what you plan to do in the next sprint to reach your goal. Send a daily update via SMS, Slack, or email to share just the current status. Sharing this data and being as transparent as possible about your current goal status will enhance the engagement of your team members and increase trust both within and outside the team.
Be extremely agile with your plan
You are not married to your plan. Plans are great to start with, but you need to reflect on them constantly. Once you start working to achieve your goal, you might discover something new that can improve your plan. Or you might realize something you were unaware of before creating the plan that might make you miss the deadline. As time goes by, you’ll have more clarity about what needs to be done and the obstacles to reaching it. Constantly adjust your plan based on the new information to ensure you are on the right track.
If your goal can be split into many small look-alike tasks (e.g., writing many system tests, adding many external tools integrations with your system, or writing massive API documentation), create a dedicated hackathon for it.
Bring your team in early, provide food, sit in one location, and have a mini-goal just for this one-day hackathon. Come prepared, know what you are aiming for that day and align your team around what needs to get done. Having these hackathons from time to time (although be careful not to pull the card too often) can give your project a helpful boost. With the right atmosphere, even routine or dull tasks can result in a memorable and enjoyable day.
If you’re working in a large company, you can even ask developers from other teams, to jump in and help for a day. You might lose some time explaining things, but you and your team members will gain a significant boost towards your goal.
Use gamification if you can
Let’s say your goal is to fix all crucial bugs or increase testing code coverage or even reduce the number of error logs in your system. With modern CI/CD and project management tools, you can connect commits to developers and track which developer contributes to your goal. And you can create a leaderboard and show on screens in your office which developer fixed the most bugs, increased the code coverage, reduced the number of logs, etc. When someone new takes the lead, set it up with a unique sound notification so everyone will know who is leading. You could even add a funny picture of the leader to the dashboard. Gamifying your process will help align everyone on the goal and make the work more engaging and fun.
Phase 3: Once your project has finished
At this stage, the deadline has passed and you’ve either reached or missed your goal. But the work isn’t over! Make sure you do the following:
Assess your team
Measure your team members by their ability, impact, and willingness to achieve their goals. While this is much easier said than done, being nonchalant about it communicates to your team members that reaching or not reaching a goal has little or no effect on how you measure them. Eventually, they will lose the drive to achieve their goals, which is certainly not what you’re after.
Achieving your team, R&D, and company goals will lead you to success. Creating a culture of measurable KPIs and goals and people doing their best to achieve them will significantly and positively impact your team and your company.
If a goal has been reached within the assigned time frame, take the time to celebrate and acknowledge the hard work that made it happen. Make it memorable, break the routine, and do something you didn’t do before, like take your team to breakfast or create funny hats saying, ‘We did X!’. Connecting a unique celebration to a met goal will make the reached goal more memorable and increase your team members’ sense of accomplishment and pride.
Once you’ve set a goal and a specific time frame, don’t let that time pass before checking whether you’ve reached your goal. Do the opposite: review your current goal status frequently, add it to every conversation your team has, and use all the cultural hacks I talked about (and more) to align your team around it. Use it in every prioritized talk with your product manager and other stakeholders, and constantly ask yourself if what you or your team members are doing today will positively impact your goal’s current status. And if the answer is no, change what you are doing immediately. Be transparent and visible as much as possible, and don’t be afraid to change your plans if needed. And once a goal is met, don’t forget to celebrate. Good luck!