The Importance of Questions
Posted by: Steve Weiss
Before a project begins, many things are up in the air. As a start date approaches, air dwelling topics hopefully decrease until the vast majority are purely ground-based. Much like accurate user stories, the appropriate questions to a client can maximize work time once a project has started. If those questions wait until work has started, who knows how far off track you can get.
Many projects seem to start off as a rough sketch of an idea. It's very easy to skip over important technical requirements in favor of the big picture. For example, let's say there is a polling app. There will be polls, there will be answers, there will be users creating the polls, and there will be users providing answers to the polls. So the idea is there.
But, once those polls are created, how does a user choose which polls they want to answer? Sure, there can be a general poll index, but what if the creator wants it to be private? Do they have to invite specific users, or do users subscribe to another user's feed of polls? The difficult part is figuring out which questions to ask. Each new answer may increase the scope, possibly beyond the allotted timeline.
One time tested technique to lead us to those questions is data modeling - encapsulating the problem an app is solving into a model of entities, their attributes, and the relationships between them, based on technical requirements. Before one even gets to the process of user stories, walking through the modeling process will hopefully raise most of those questions.
I still worry about being the person to ask the dumb question, no matter how many times we're told otherwise. The thing that gets me past it, is thinking of the tiny downside of asking for clarification on something simple, vs the possible large consequence of skipping the question and creating bigger problems later.
Of course, things will always get missed. It's just the goal to miss as few as possible.