Gathering and defining software requirements is difficult.
One Agile technique to help address this challenge is writing user stories, which are short descriptions of functions that an end-user would want.
While user stories help convert concepts into functions, writing good user stories is easier said than done.