Scrum the home
š„ In the spirit of the new year, I thought Iād share how weāve been creating some order out of chaos in our home. Weāve been at this for over two years now and itās worked fairly well so far.
With two careers, small kids, a household to maintain, and wanting to really enjoy time with (and without) tiny humans, thereās a lot going on. My husband and I have always tried to capture things that need doing, but it never quite worked. Weād get frustrated at each other and whatever weāre using to plan. Needing to capture both calendar-type commitments and things that donāt fit neatly on a daily agenda makes it tough to find the right tool.1
An inspiring TED talk walked through using Agile methodologies to run a household got us thinking. We both already used scrum professionally.2 Our children are still a bit young, but we have welcomed them to take part nonetheless. Figuring out the basics of running a household is one of those important adult things they wonāt learn in school.
Thatās where this small web automation comes in. A template for week-to-week meetings lets us automate the creation of each weekās agenda. Keeping the weekās issue updated means itās always visible wherever we are.
Templates make life easy
Our template has four parts that take a few minutes to go over in total.3 Remember - weāre working with the attention span of young children. šæļø
1. Looking back
First, the very basics of a retrospective is 3 questions:
- What worked well?
- What didnāt work well?
- What do we want to work on next time?
These are worth talking about together, but donāt spend a ton of effort on optimization or recording here. Itās not worth cataloging details for long-term storage, just finding small victories to celebrate or ideas to try. Some examples from the past couple months include:
- The kitchen vent hood filter can go through the dishwasher. š¤Æ
- There were no kid potty accidents this week! š©
- Went to the grocery store hungry and now have too much fruit for the week. š
2. Looking forward
Now to the important items - whatās happening in the upcoming week? This quick list makes sure that any event that needs to be planned around is accomodated for.
- Who needs to be where and when?
- š grocery shopping
- š©āš« school activities
- š¹ social events
- š§āāļø doctor / other appointments
- šš exercise
- āļø work travel
- š©āš» professional networking
- Is everything š in the family calendar?
- Given everything going on this week, whatās the goal?
- person 1 =
- person 2 =
- ā¦
- Do we have any blockers or potential unplanned events?
It also allows everyone to block off time to do something they want to do (āgoalsā) and make sure thereās time for it. Half the time, my goal is to get some sleep or read a book.
3. Meal planning
Meal planning is how we avoid eating no-prep junk foods too often. It helps us buy only what we need - avoiding extra trips to the grocery store and food waste.
Markdown tables are the clunkiest part of the template. I use this Markdown table generator to copy/paste the raw and finished table into the issue so itās easier to edit.
š©š»āš³ Sunday Monday Tuesday Wednesday Thursday Friday Saturday Breakfast Ā Ā Ā Ā Ā Ā Ā Lunch Ā Ā Ā Ā Ā Ā Ā Dinner Ā Ā Ā Ā Ā Ā Ā Prep Ā Ā Ā Ā Ā Ā Ā
By planning meals around activities, any prep work is also accounted for. Tasks like grocery shopping, thawing stuff from the freezer, soaking dried beans the night before, and starting dough for bread make these tasty tasks much more likely to happen.
4. Checklist of chores
Next, we make sure the chores get done and assigned as needed. The template has pre-populated tasks that have to happen at least weekly (fish tank maintenance, water plants, etc.) and then anything else gets added on at the end (eg, order birthday gift, schedule car maintenance).
- š Water change on fish tank
- š Clean kitty watering dish
- š± Water house plants
- š§ŗ Put away all the clean laundry
- š§¹ Sweep, mop, and vacuum š¤
- š Make weekly reward sheets for kids (homework, feed kitty, feed fish, set the table, put laundry away, pick up upstairs and downstairs toys, etc.)
- ā¦ edit as needed, of course ā¦
- (one-off tasks that also need to be done)
Automating it
A new issue is created and the old one closed once a week, more or less magically with GitHub Actions. For a little less magic, use cron or the built-in scheduler for Windows/MacOS to create a new file once a week for the same effect. Having it done automatically means itās ready for us to talk through as weāre making dinner on Saturday - or anytime you set it to run. Hereās that workflow:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
name: š” Weekly planning
on:
schedule:
- cron: "0 21 * * 6" # Saturday at 9 pm UTC (afternoon-ish in the US)
workflow_dispatch: # on demand
jobs:
weekly_meeting:
name: create new issue
runs-on: ubuntu-latest
steps:
- name: Set Date
run: echo "date=$(date -u '+%B %d %Y')" >> $GITHUB_ENV
- name: Get issue template
uses: imjohnbo/extract-issue-template-fields@v1
id: extract
with:
path: .github/ISSUE_TEMPLATE/home-standup.md
- name: Create issue
id: create-issue
uses: imjohnbo/issue-bot@v3
with:
title: "${{ steps.extract.outputs.title }} for ${{ env.date }}"
body: ${{ steps.extract.outputs.body }}
assignees: some-natalie, more-users-here # names go here
labels: "standup"
pinned: true
close-previous: true # close last week's
linked-comments: true # but link any discussion
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Youāll need to run it once manually first, then add
close-previous
to the workflow. Theclose-previous
canāt really work if thereās not a previous issue, causing an annoying failure.
Donāt make it suck
Thereās a whole lot of No Fun things about project management . Home isnāt work.
We donāt do these No Fun things:
- Metrics. No one wants to do story point estimates. This is more ālaundry gets doneā planning and less āaccomplish goals in lifeā planning.
- Task hierarchy, value streams, epics, initiatives, increment planning, etc. Thereās no fun here and no need.
- Anything else beyond this weekly meeting - in my personal life, thereās no need to think through organizing beyond getting things done.
Ways to expand
Thereās plenty of room to expand on this idea. GitHub Issues are pretty lightweight notes that correlate well to defined tasks. Labels correspond to larger goals or recurring things that donāt ever have an end date. With the new Projects, we can add an extra field to estimate how big of a task it really is. Or many more fields, if we wanted to go silly with epics or other groupings of tasks.
This template can work well in most any other project management tool. Keep simplicity in mind first before turning on all the āenterprise-yā features.
How do I try this?
- Create a private repository or use an existing one.
- Create a standup issue template in
~/.github/ISSUE_TEMPLATE/weekly-planning.md
. Hereās mine to get started. - Pick a time that works for everyone. crontab.guru is a translator between the cron syntax and human-friendly times.
- Create an Action workflow file in
~/.github/workflows/weekly-planning.yml
to create a new issue once a week, like the example above. Change thecron
schedule to match the chosen time. - Enjoy once a week auto-issues, fill them out and go! š
ā±ļø This entire planning week-to-week should take maybe 10 minutes or so once everyone gets the hang of it.
Is it worth the effort?
We think so! Itās easy to set up, simple to change the template as needed, and keeping it very simple means the habit sticks. Everyone (usually) makes their commitments, fed and clothed. Balanced meals with minimal food waste helps the grocery budget go farther too. Making the time to list out what we want to do means we can carve out the time to really do it.
Lastly, including the children encourages autonomy and participation. They have some visibility into work travel and other changes in routine, making those transitions less dramatic. The kids also feel empowered when they can make a favorite food, tell us what school activities they have (even if we already know), and set little goals with us.
š§ In the end, we nag the kids less for the price of eating mac and cheese (Kraft dinner) once a week. Itās a fantastic parenting trade-off.
still not how the house works, but we can dream
Footnotes
-
A shared text note in several different note programs had no sense of time and just grew without priority. A physical whiteboard with calendar has to be kept out of reach of kids but still very visible, but no view when not at home. A digital calendar works for appointments but āchoresā and other un-timed things kept piling up or not getting done.Ā ā©
-
To highly varying definitions of success.Ā ā©
-
I can already hear the ābut thatās not real scrumā chorus. You may be right - we only do the parts that work for us - planning and retrospective. Shove it. šĀ ā©