Defining Project Requirements

It is unsurprisingly difficult to meet with customer or user expectations without a clear definition of requirements agreed at the beginning of a project. Unfortunately, too many customers are unable or unwilling to commit to requirements. Similarly, too many project managers fail to put sufficient focus on finalising their agreement swiftly enough. The requirements form the basis of a detailed project management plan. Sadly too many projects fail as a result of the resulting ambiguity.

Very often, the main cause for failing to define requirements adequately is insufficient understanding of, or confidence in, the techniques and tools needed to appropriately capture the essential project requirements.

PROCESS
A practical, nine-step process for defining requirements for your project or product is suggested in the book “Customer-Centered Products” by Ivy Hooks and Kristin Farry:

  1. Scope the project or product by defining needs, goals and objectives, outcomes, mission or business case, high-level operational concepts, customer requirements, constraints, assumptions, schedules, budgets, roles and responsibilities.
  2. Develop operational concepts – scenarios for how your project or product might be used by the end user. Expand the concepts to cover all phases of the product or project life cycle.
  3. Identify interfaces between your project or product and the rest of the world, clarifying boundaries, inputs, and outputs.
  4. Write requirements to guide product design toward what your customers need and want.
  5. Capture rationale (the reasons for the requirement’s existence) behind each requirement and expose potentially dangerous assumptions and incorrect facts.
  6. Level requirements according to system and system sub-divisions, ensuring that all requirements are written at the right level and can be traced back to their origins.
  7. Assess verification of each requirement, identifying the verification technique and facilities and equipment required.
  8. Format requirements and supporting documentation to ensure that you have included each of the appropriate types of requirements and that your development team members can find all of the requirements they must meet.
  9. Baseline requirements after validating that they are correct, complete, consistent, meet the project scope, and do not add unnecessary functionality or features not covered by the original scope.

Gathering RequirementsGATHERING
There are several techniques for initially gathering (elicitation) of the requirements. The following Top10 from TechRepublic provides for a thorough capture.

#1: One-on-one interviews
The most common technique for gathering requirements is to sit down with the clients and ask them what they need. The discussion should be planned out ahead of time based on the type of requirements you’re looking for. There are many good ways to plan the interview, but generally you want to ask open-ended questions to get the interviewee to start talking and then ask probing questions to uncover requirements.

#2: Group interviews
Group interviews are similar to the one-on-one interview, except that more than one person is being interviewed — usually two to four. These interviews work well when everyone is at the same level or has the same role. Group interviews require more preparation and more formality to get the information you want from all the participants. You can uncover a richer set of requirements in a shorter period of time if you can keep the group focused.

#3: Facilitated sessions
In a facilitated session, you bring a larger group (five or more) together for a common purpose. In this case, you are trying to gather a set of common requirements from the group in a faster manner than if you were to interview each of them separately.

#4: Joint application development (JAD)
JAD sessions are similar to general facilitated sessions. However, the group typically stays in the session until the session objectives are completed. For a requirements JAD session, the participants stay in session until a complete set of requirements is documented and agreed to.

#5: Questionnaires
Questionnaires are much more informal, and they are good tools to gather requirements from stakeholders in remote locations or those who will have only minor input into the overall requirements. Questionnaires can also be used when you have to gather input from dozens, hundreds, or thousands of people.

#6: Prototyping
Prototyping is a relatively modern technique for gathering requirements. In this approach, you gather preliminary requirements that you use to build an initial version of the solution — a prototype. You show this to the client, who then gives you additional requirements. You change the application and cycle around with the client again. This repetitive process continues until the product meets the critical mass of business needs or for an agreed number of iterations.

#7: Use cases
Use cases are basically stories that describe how discrete processes work. The stories include people (actors) and describe how the solution works from a user perspective. Use cases may be easier for the users to articulate, although the use cases may need to be distilled later into the more specific detailed requirements.

#8: Following people around
This technique is especially helpful when gathering information on current processes. You may find, for instance, that some people have their work routine down to such a habit that they have a hard time explaining what they do or why. You may need to watch them perform their job before you can understand the entire picture. In some cases, you might also want to participate in the actual work process to get a hands-on feel for how the business function works today.

#9: Request for proposals (RFPs)
If you are a vendor, you may receive requirements through an RFP. This list of requirements is there for you to compare against your own capabilities to determine how close a match you are to the client’s needs.

#10: Brainstorming
On some projects, the requirements are not “uncovered” as much as they are “discovered.” In other words, the solution is brand new and needs to be created as a set of ideas that people can agree to. In this type of project, simple brainstorming may be the starting point. The appropriate subject matter experts get into a room and start creatively brainstorming what the solution might look like. After all the ideas are generated, the participants prioritize the ones they think are the best for this solution. The resulting consensus of best ideas is used for the initial requirements.

TOOLS
There are numerous templates freely available.  We touch on project tools more here.

Often there is a temptation to use specific software for capturing requirements, and there are numerous commercial offerings to meet that ’need’, however it is worth bearing in mind that basic office tools are often just as effective.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: