I'm probably only rediscovering well-known software engineering principles, but the more #RSE projects I'm involved in, the more I feel like the critical thing to know is "who is going to use this software, and how?" It pays dividends to envision and define whether researchers are going to call functions from a library, submit a command-line program on their HPC, or run a GUI on a laptop in a field with 8 RPis plugged into an array of radio antennae while it's pouring with rain.