MUST vs. SHOULD vs. COULD

Whether I'm dealing with software requirements, or I'm prioritizing my personal TO Dos, I think in terms of MUST, SHOULD, COULD.  It's simpple but effective.

Here's an example of some scenarios and usage:

  • getting a quick handle on my day - what MUST I do today?  what SHOULD I do?  What COULD I do?
  • prioritizing my personal backlog - what MUST I do today?  what MUST I do this week?  What should I do? What could I do?
  • focusing my teams - what MUST we release this week?  What SHOULD we release this week?  what COULD we release this week?
  • brainstorming sessions - what COULD we do?  What SHOULD we do? what MUST we do?
  • determining an incremental release - what are the MUSTs for this software release?  What are the SHOULDs?  What are the COULDs?
  • helping a customer identify their security objectives - What security constraints MUST be met for this software?
  • helping a customer identify their performance objectives - what performance constraints MUST be met for this software?

It's easy to get lost among SHOULDs and COULDs.  I find factoring MUSTs from the SHOULDs and COULDs helps get clarity around immediate action.