Toil Budgets
Definition:
A toil budget is a way for teams to measure and manage the amount of time they spend on toil, which is defined as any work that is necessary to keep a system running but does not add business value. Toil budgets help teams to identify areas where they can reduce toil and focus on more productive activities.
Examples:
- A team might set a toil budget of 20% of their total time, meaning that they are allowed to spend up to 20% of their time on toil activities.
- A team might track their toil budget by using a tool like Blameless, which allows teams to categorize their work and track how much time they spend on different activities.
Benefits:
- Toil budgets can help teams to identify areas where they can reduce toil and focus on more productive activities.
- Toil budgets can help teams to prioritize their work and make more informed decisions about how to allocate their time.
- Toil budgets can help teams to communicate the value of their work to stakeholders.
References:
- https://landing.google.com/sre/workbook/managing-toil.html
- https://blameless.com/
Additional Information:
- Toil budgets are often used in conjunction with other metrics, such as lead time for changes and mean time to recovery, to measure the overall health and performance of a team.
- Toil budgets can be used to track the progress of teams as they work to reduce toil and improve their productivity.
Blameless:
- A toil management platform that allows teams to track and categorize their work, identify toil, and set toil budgets.
- https://blameless.com/
Google Cloud Error Budget:
- A service that allows teams to set error budgets for their applications and track their progress towards meeting those budgets.
- https://cloud.google.com/error-budget/
Etsy Toil Budget Calculator:
- A tool that helps teams to calculate their toil budget based on their team size and the number of systems they manage.
- https://codeascraft.com/2018/03/29/how-to-calculate-a-toil-budget/
Toil-O-Meter:
- A tool that helps teams to measure and track their toil.
- https://github.com/GoogleCloudPlatform/toil-o-meter
Toil Budget Template:
- A template that teams can use to create their own toil budgets.
- https://docs.google.com/spreadsheets/d/1axj31sV9f8X0GRi3fKec8Bl_t7Y6wbn4eK0P14oMw4/edit#gid=0
Additional Resources:
- Toil Management Playbook: https://landing.google.com/sre/workbook/managing-toil.html
- How to Calculate a Toil Budget: https://codeascraft.com/2018/03/29/how-to-calculate-a-toil-budget/
These tools and resources can help teams to track and manage their toil budgets, identify areas where they can reduce toil, and focus on more productive activities.
Related Terms:
- Technical Debt: Technical debt is the implied cost of additional rework caused by choosing an easy solution now instead of using a better approach that would take longer.
- Organizational Debt: Organizational debt is the accumulation of suboptimal organizational structures, processes, and practices that hinder an organization’s ability to deliver value.
- Cognitive Debt: Cognitive debt is the mental burden of carrying around incomplete tasks or decisions in one’s mind.
- Flow Debt: Flow debt is the accumulation of tasks that are not completed in a timely manner, leading to a feeling of overwhelm and decreased productivity.
- Refactoring: Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the system, but improves its internal structure.
- Remediation: Remediation is the process of fixing or correcting a problem or issue.
- Optimization: Optimization is the process of making something as efficient or effective as possible.
- Continuous Improvement: Continuous improvement is the ongoing process of making small, incremental changes to improve a product, service, or process.
These terms are related to toil budgets in the sense that they all refer to the idea of accumulating technical or organizational debt over time, and the need to address this debt in order to improve the overall health and performance of a system or organization.
Additional Resources:
- Technical Debt: https://martinfowler.com/bliki/TechnicalDebt.html
- Organizational Debt: https://blog.gardeviance.com/organizational-debt
- Cognitive Debt: https://blog.rescuetime.com/cognitive-debt/
- Flow Debt: https://asana.com/resources/flow-debt
I hope this helps!
Prerequisites
Before you can do toil budgets, you need to have the following in place:
- A clear definition of toil: Toil is any work that is necessary to keep a system running but does not add business value. This can include tasks such as monitoring systems, responding to incidents, and performing routine maintenance.
- A way to measure toil: You need to be able to measure the amount of time that your team spends on toil activities. This can be done using a variety of tools, such as time tracking software or surveys.
- A system for prioritizing toil: Once you know how much time your team is spending on toil, you need to be able to prioritize which toil activities to focus on first. This can be done based on factors such as the impact of the toil activity on the business, the cost of the toil activity, and the availability of resources.
- A plan for reducing toil: Once you have prioritized your toil activities, you need to develop a plan for reducing the amount of time that your team spends on these activities. This can involve automating toil activities, improving processes, or investing in new tools and technologies.
In addition to the above, you also need to have a culture of continuous improvement in place. This means that your team is constantly looking for ways to reduce toil and improve the efficiency of their work.
Additional Resources:
- How to Create a Toil Budget: https://landing.google.com/sre/workbook/managing-toil.html
- Toil Management Playbook: https://landing.google.com/sre/workbook/managing-toil.html
I hope this helps!
What’s next?
After you have toil budgets in place, you can start to use them to improve the efficiency and productivity of your team. Here are some steps you can take:
- Track your progress: Once you have set toil budgets, you need to track your progress towards meeting those budgets. This will help you to identify areas where you are making progress and areas where you need to improve.
- Identify opportunities for improvement: Once you have tracked your progress, you can start to identify opportunities for improvement. This can involve automating toil activities, improving processes, or investing in new tools and technologies.
- Prioritize your improvements: Once you have identified opportunities for improvement, you need to prioritize which ones to focus on first. This can be done based on factors such as the impact of the improvement on the business, the cost of the improvement, and the availability of resources.
- Make improvements: Once you have prioritized your improvements, you can start to make them. This may involve changing processes, implementing new tools, or training your team on new skills.
- Measure the impact of your improvements: Once you have made improvements, you need to measure the impact of those improvements. This will help you to determine whether the improvements are having the desired effect and whether you need to make further improvements.
By following these steps, you can use toil budgets to continuously improve the efficiency and productivity of your team.
Additional Resources:
- Toil Management Playbook: https://landing.google.com/sre/workbook/managing-toil.html
- How to Use Toil Budgets to Improve Team Efficiency: https://www.blameless.com/blog/how-to-use-toil-budgets-to-improve-team-efficiency
I hope this helps!