May 5, 2026 · DayOS Blog

The Must-Good-Nice Task System

Stop treating everything as urgent.

Every task management system eventually has the same problem: everything feels urgent. Your backlog has 60 items. Your project has three active workstreams. Your manager adds a new priority while you're mid-sprint. The result is decision paralysis — you work on whatever is most visible, most loudly requested, or most comfortable, rather than whatever actually needs to ship.

The Must-Good-Nice system solves this with a single daily question: what actually has to ship today?

Must: the non-negotiable

Your must task is the one thing that defines whether the day was a success. If it ships, the day was productive. If it doesn't, the day was not — regardless of how many other things you did.

Must tasks have specific characteristics:

  • They're blocking something or someone else.
  • They have a real-world deadline today or tomorrow.
  • They're the single most important contribution you can make right now.

The discipline of the must is in the constraint: one, maybe two. Not three. Not five. If everything is your must, nothing is. Picking one forces the prioritization decision you've been avoiding.

Most people, when they first try this system, feel the urge to put five things in must. Resist it. If you genuinely have five must-ship deliverables today, you have a planning problem upstream. Start with one. Ship it. Reassess.

Good: meaningful progress

Good tasks are things that would meaningfully advance your work but aren't blocking anything critical today. They represent real progress — not maintenance, not cleanup — but they're not the thing you'd stay late for.

Most of your daily work lives here. After your must ships, good tasks are what you move to. On a productive day, shipping your must and one or two good tasks earns a "great" score.

Good tasks also serve as a buffer. If your must takes longer than expected — debugging spirals, unexpected complexity, review cycles — you have permission to drop good tasks without feeling like the day fell apart. The must shipped. The day was a win.

Nice: bonus territory

Nice tasks are the things you want to do when everything else is clear. Refactors. Documentation improvements. Exploratory research. Small improvements that would make the codebase better but aren't blocking anyone.

On a perfect day — must shipped, goods shipped — nice tasks are where you get to do the work that makes you a better engineer rather than just a delivering one. They're the investment in quality that gets squeezed out when days go long.

The key: never feel bad about not shipping your nice tasks. They're deliberately in the "nice" tier because they're not load-bearing. A day without a nice task is still a great day if the must and goods shipped.

Using the system

Every morning, before you open any async tool, set your must, good, and nice tasks. Do this in under 5 minutes. The goal isn't perfect planning — it's commitment. You're declaring, to yourself, what success looks like today.

During the day, when something new arrives — a bug report, a review request, an unplanned meeting — ask one question: is this more important than my must? If yes, the must changes. If no, it waits or gets added to good/nice.

At end of day, mark what shipped. The system gives you a score based on which tiers you completed. Over time, your score history reveals your actual shipping patterns — and the gap between what you plan and what you deliver. That gap is where the real improvement happens.

DayOS is built on every idea in this article.

Try it free for 30 days →

No card required. $5/month after trial.

Related

Full daily planning systemHow the daily score system worksHow to plan your day as a developer