There’s a phrase we throw around in tech constantly: MVP. Minimum Viable Product. Ship the smallest thing that actually works, learn from it, iterate later. Nobody expects v1 to have every feature. Nobody expects v1 to be perfect.
So why do we expect v1 of ourselves as parents on any given Tuesday, running on four hours of sleep to be feature-complete?
Somewhere along the way I realized I was applying more grace to my codebase than to myself. So I started running my life through the same framework I’d use to triage a sprint. Turns out, “Minimum Viable Parent” is not just a joke title. It’s an actual strategy. Let me show you how it works.
Step 1: Triage Everything Into Three Buckets
In engineering, when things are on fire, you don’t try to fix everything at once. You triage. Everything gets sorted, fast, into what actually matters right now versus what can wait.
I’ve started doing the exact same thing with my day, at home and at work by sorting tasks into three buckets:
Production-critical. The stuff that breaks something real if it doesn’t happen. Feeding the kids. Getting them to school/daycare on time-ish. Meeting an actual work deadline. Taking meds, if you’re on any. Safety-level stuff. This bucket is non-negotiable, and honestly, it’s smaller than you think.
Nice-to-have. The stuff that would be lovely, but nothing collapses without it. A home-cooked dinner instead of toast and eggs again. Folding the laundry the same day it comes out of the dryer instead of living out of the basket for a week. Responding to that non-urgent message within the hour instead of by end of day.
Technical debt we’ll deal with later. The stuff you’re consciously choosing to defer, with no immediate plan and no guilt attached. The overflowing inbox. The toy bin that needs a proper sort. That one project you said you’d start “when things calm down.” It’s not broken, it’s just… backlogged. And that’s fine. Codebases carry debt all the time and still ship.
The magic isn’t in the categories, it’s in giving yourself permission to consciously decide something is debt, instead of quietly feeling guilty about it in the background.
Step 2: Apply the 80/20 Rule — Find Your Real 20%
The Pareto principle says roughly 80% of your results come from 20% of your effort. In parenting, this is wildly underused, mostly because nobody stops to ask which 20% is actually doing the heavy lifting.
For me, it turned out to be things like: consistent bedtime (not perfect, just consistent), being fully present for the 15 minutes after pickup instead of half-present for two hours, and saying yes to connection over correction when I’m exhausted. That’s it. That’s most of the impact.
What it’s not: pinterest-worthy lunchboxes, color-coded activity schedules, or making sure every single toy has “educational value.” Those things aren’t bad, they’re just part of the 80% of effort producing 20% of the result. They’re optional polish, not core functionality.
Your 20% might look different from mine, that’s the point. The exercise isn’t “copy my list,” it’s actually sitting down and asking: if I could only keep five things I do for my kids, which five would I refuse to cut? Everything outside that list gets a lot more negotiable.
Step 3: Reframe “Good Enough” as a Strategy, Not a Compromise
Here’s the mindset shift that actually matters: “good enough” isn’t you settling. It’s you choosing where your effort has the highest return, on purpose.
Engineers don’t gold-plate every function in a codebase, they invest effort where it counts and ship the rest at “good enough, and revisit if it becomes a problem.” That’s not laziness, that’s resource allocation. Parenting is resource allocation too, except the resource is your finite time, sleep, and sanity instead of engineering hours.
Once I started treating “good enough” as an intentional strategic choice instead of a failure to reach some invisible gold standard, the guilt volume turned way down. I wasn’t cutting corners. I was allocating my limited capacity to the things that actually moved the needle.
Step 4: A Simple Triage Template You Can Steal
Here’s the actual template I use, roughly every Sunday night for the week, and briefly every morning for the day:
Weekly reset (10 minutes, Sunday night):
- List everything on your plate — home and work, all mixed together, no separating “life buckets”
- Sort each item into Production-Critical / Nice-to-Have / Technical Debt
- For Production-Critical items only: assign a day or a person (you, partner, caregiver)
- For Nice-to-Have: pick a maximum of 2-3 to actually attempt this week — the rest stay optional
- For Technical Debt: just name it out loud (or write it down) so it’s a conscious decision, not a nagging guilt loop
Daily check (2 minutes, morning):
- What’s Production-Critical today? (Usually 3-5 things, max)
- Is there capacity for anything from Nice-to-Have? If not, that’s fine — it moves to tomorrow, not to the guilt pile
- Technical debt doesn’t get touched today. That’s the whole point of debt, it waits.
That’s it. No fancy app required, though a shared notes doc or whiteboard works great if you’re splitting parenting duties with a partner.
The Real Takeaway
You are not shipping a finished product every day. You’re running continuous deployment on a system that will never be “done” and that’s not a bug, that’s just what parenting (and software) actually is. The goal was never perfection. It was never going to be. The goal is a system that keeps running, mostly works, and doesn’t crash the whole team in the process.
So next time you’re drowning in a to-do list that spans daycare forms, dinner, a work deadline, and a toddler who’s decided socks are the enemy — triage it. Ship the minimum viable version of today. Iterate tomorrow.
Your v2 will be better. It always is.