Happy 2021 everyone! A new year, brings new projects to manage. And where would project managers be without their handy burndown charts? Well, with a bit of scripting and the vega-lite app, you can now make a burndown chart in Airtable!
For the uninitiated (aka me until two weeks ago), burndown charts “show the total effort against the amount of work for each iteration.” Meaning, they help you answer the question “are we completing our tasks on schedule?” They usually look something like this:
The line represents the planned tasks remaining, and the bars represent actual tasks remaining. if your bars are below the line that means you’re getting things done on time. The X axis can be grouped by the cadence in which you’re tracking - which could be days, weeks, sprints, etc.
Until recently, we couldn’t create burndown charts in Airtable because the native chart app doesn’t support combo/multi-field charts. But now with the Vega-Lite App (in beta), we have much more control over our charts and can achieve the elusive burndown!
To create a burndown chart, you need to know a couple things :
- The length of your project
- The intervals of time you’re tracking (months, weeks, days, etc.)
- The amount of work planned in each interval
- The amount of work completed in each interval
If you already have a list of tasks, you probably have all of this information in the following date fields in your Tasks table:
- Planned Task Start Date
- Planned Task End Date
- Actual Task Completion Date
The tricky part about burndown charts are their cumulativeness, and because of this we’re actually going to need to create a new table called Burndown with the following fields.
- Interval (Date)
- Planned Open Tasks (Number)
- Actual Open Tasks (Number)
Using the below script, we can use the fields from our Tasks table to calculate the information needed for our burndown chart and table. Additionally, the script outlines the code you’ll need to paste into the Vega-Lite app to render a burndown chart with helpful tooltips. This script uses script settings, so you should just be able to plug-and-play
Some Notes/Things people can still do and I’d be grateful because I don’t know when I’ll have the time to revisit this:
- Right now, you have to press run on the script every time you want to update the table.
- This script is not optimized to calculate pre-determined sprint intervals, although, I’d love to see that.
- If you’d like to better format your dates - check out Vega-Lite’s documentation on Axis formatting and date formatting
- I think there’s a world in which we can accomplish a burndown without a second table or a script using a combination of Vega-Lite’s Pivot and Filtering options, but my brain is NOT doing that right now.
Okay let me know how it goes and happy new year!