Jordan Hirsh published a great article on the Phase2 website in November last year. Dealing, on a daily basis, with the importance of requirements, I found the article really valuable – to the point of asking if I was allowed to reproduce it on my blog. Fortunately, Jordan agreed …
There’s a common refrain that gets uttered at the end of unsuccessful projects: “The requirements weren’t clear.” Fingers start pointing, blame gets thrown around, and no one ends up happy. Thankfully, there’s a simple way to alleviate that problem, and it’s as obvious as it is challenging: requirements gathering. Depending on your project methodology, you may do this step at the beginning during a Discovery phase, you may do it during the project within each sprint or build cycle, or you may skip it altogether and hope for the best. That last option is a simple way to sabotage your project and guarantee a lot of late nights and awkward status meetings.
This doesn’t have to be you!
Successful requirements gathering is both an art and a science, but there are some general steps you can take to keep this all-important step of your project on the right path. Here are some guidelines that we try to follow at Phase2:
Establish Goals & Objectives Early
This step can feel redundant: of course we know why we’re doing this project…don’t we? Even if you think you know, write it down, and get your client to sign off on it. Without clearly stated goals and objectives, you are lacking a framework to guide future decision-making. How do you know if a newly introduced requirement actually fits in your project? Simple: does it help accomplish a goal, or does it satisfy an objective? If so, it’s probably a good fit. If not, it’s a good candidate for a future release.
Write It Down
When you’re in the midst of stakeholder interviews and document review, you can often feel like you have a great grasp on things. But then a week goes by, and some details start to get a little fuzzy, and you realize you don’t quite have a full grasp of X, Y, or Z. It sounds obvious, but making sure that you are taking detailed notes during your stakeholder interviews is a powerful step in successful requirements gathering. And it’s not enough to just write everything down, as you’ll see in #3…
Sure, you understand the requirements. And your client understands the requirements. But does your client understand your understanding of the requirements? After every meeting, go through your notes and clean them up – then share them with the project team, including the client. This transparency not only helps make sure everyone’s on the same page, it fosters a sense of project buy-in all the way through your project, beginning with the requirements. And it circumvents the issue of someone saying “hey, you agreed to X but it’s not here!” 6 weeks into the project. If it’s not in the notes, it didn’t happen.
Talk To The Right People
A project can often have “hidden” stakeholders. Ask probing questions in your kickoff and initial meetings with your client to try and get to who the real users are – often those people are not going to be the main decision-makers, but their buy-in is essential to a successful project. Disgruntled users who are forced to use a system every day that was designed without their input are a key ingredient for a failed project.
Don’t assume that you understand everything, even if it seems obvious. A seemingly simple requirement such as “we want a blog” can mask all sorts of underlying assumptions, requirements, etc. What are the fields for a blog post? How are authors managed? What about tagging? Categories? How are the posts displayed? Are they aggregated into an archive? Is there an RSS feed? Who are the authors and what is their level of technical proficiency? Etc. etc. etc. The devil truly is in the details, but you can catch him by the tail if you ask a lot of questions and don’t rely on assumptions.
Confirm, Confirm, Confirm
This ties into “be transparent” but is not entirely the same thing. Just sharing your notes with a client is great, but far more valuable is actually having a quick review with them and getting their official sign-off. This is true for meeting notes, user stories, diagrams, wireframes, really any kind of requirements artifact that you are creating. Radio silence is not an indicator of success – get actual confirmation from your client that you are representing the requirements correctly in whatever format you’re using, then move on.
Be An Active Listener
Making someone feel heard is one of the greatest things you can do for them. But it goes beyond just listening to what they say – you also need to listen to what they don’t say, and how they say things, and read their body language, etc. This is called “active listening” and it’s a key component both of successful requirements gathering and improvised comedy, among other things. Don’t assume that you’re always getting the whole story – listen for little cues that reveal pain points, desires, unstated goals, and assumptions.
Focus On Requirements, Not Tools
Be careful when you are gathering requirements that you are really focusing on and listening to what your client needs, not what your tool-of-choice happens to do best. Even if you know you are going to be using a certain product, you need to adapt the product to the user, not the other way around. Listen and gather first, then determine where the gaps are between your client’s needs and any existing product you may have in mind. Remember: requirements are about the WHAT, not the HOW.
In an agile methodology, we work towards a Minimum Viable Product (MVP), which encapsulates the least amount of functionality that would count as a successful product at launch. Even when following a non-agile methodology, prioritizing is your friend when you are gathering requirements. It’s easy for requirements gathering sessions to turn into wishlist gathering sessions, where stakeholders tell Santa (i.e. you) everything they want. The point isn’t to ignore that information (in fact it often reveals goals and assumptions if you’re using Active Listening) but rather to clearly and transparently prioritize what you’re hearing and delineating what is in scope for your initial launch and what is not. You definitely want to track wish-list items, “nice-to-haves,” etc. but prioritizing helps you focus your efforts and helps you make decisions if time gets short and something has to go.
Remember That You Didn’t Get Everything
Even the best requirements gatherer is going to miss things. Why? Because you and your clients are human beings, and human beings make mistakes. You will think of things later that you forgot to ask. Your client will think of things that they forgot to mention. Things will change. Priorities will shift. The good news is that if you plan ahead for this, you can build in time during your project lifecycle for ongoing requirements management. This time is essential because requirements (being human-driven and human-created) are simply not static. Giving yourself time to actively manage requirements throughout the entire project can help you stop scope creep before it starts, and make sure that your team is always focusing on the right set of priorities that match actual requirements.
There’s obviously a lot more that can be said about the art and science of requirements gathering, but hopefully this list has given you some helpful tools to manage this process successfully. If you are the client on the other side of this requirements process, check out Nate Parsons‘ blog post “How to own a boat or… How to maximize the ROI on your expensive new website” to learn about the questions that your team should ask while gathering requirements for your new site. Good luck out there!
You can read the original post on the Phase2 website: