How ‘Critical User Journeys’ can help a product take off
To me, it's sad that this isn't just called "software design". If you aren't building software to solve your users' problems, why are you building anything at all?