Home
About Us
Site Map
Products
Services
PMP® Certification
PM Tips & Tricks
PM Tools & Techniques
Links
Contact Us
BLOG

 

 

Choosing the Right Tools

The intent of this section is to offer you some insight into the various requirements gathering tools available and the factors you need to consider when choosing which to use for your project. You’ll need to take training in the use of these tools before becoming proficient in their use.

The nature of the software application or web site your project will deliver will influence your decision on which requirements gathering tools to use. Other factors that will influence your decision are the number and type of business users, customer service reps, and maintenance people and their locations. We’ll attempt to describe some of the tools available to you in this section and describe situations where they would be appropriate to use.

The Contract or Statement of Work

If your organization has contracted with an external vendor to develop the application you will have a contract that sets forth the features and functions your application or web site will have in broad terms. If the contract is accompanied by a Statement of Work (SOW), the features and functions may be more fully described. There will still be work to do to refine the statements in the contract or SOW into requirements but you must use them to define the boundaries that requirements definition must remain within.

Brainstorming

Brainstorming is perhaps the most commonly used tool for soliciting thoughts and ideas. It’s a technique that requires the participants to be gathered in one room to work well (at least I’ve not heard of anyone having success with brainstorming via audio or video conferences). It is also reliant on the people participating having a common understanding of the problem or solution being discussed.

Brainstorming sessions should focus on quantity of ideas so you must cultivate an atmosphere that is conducive to everyone in the session speaking up. If some of the ideas raised in the session aren’t feasible, or aren’t covered by a contract or SOW, now isn’t the time to discount them. Let the creativity flow. To set up the session, you’ll need to state the problem to trigger the creative thinking before people arrive at the session. You’ll need a problem statement for each of the groups you’ll brainstorm with and if the project has a contract or SOW, you’ll need to base your problem statements on these.

You should encourage the team to combine ideas or requirements which have an affinity for each other – there’s no point in capturing the same feature or function in 10 different requirements. The last step in the exercise should be to prioritize the features, using either cardinal or ordinal scores for the purpose. This is so that when it comes time to fit development into the available budget you’ll know which requirements to toss overboard first. You might try a variation of brainstorming called the nominal group technique to achieve this.

Brainstorming and the nominal group technique are appropriate where you can put several people with the same needs for the new application/web site in a room together so that their creativity will stimulate one another. It could be used where you have a team who would all perform the same work with the application, or at least are familiar with each others’ usage of it. It could also be used where you have several different functional groups (e.g. sales, customer service, support, etc.) so that you could conduct one brainstorming session per functional group. Brainstorming is not appropriate where you have a small group of stakeholders with disparate needs, or your stakeholders are geographically dispersed.

Interviewing

Interviewing allows you to meet with your stakeholder’s one on one and ask focused questions so that the requirements drawn out during the interview will be clear and will address the stakeholder’s needs adequately. The interview technique will also allow you to de-scope grandiose requirements when you’re familiar with the nature of the stakeholder’s needs and the cost of developing functionality to meet a requirement. When you determine that a stated requirement would not be feasible because of the time and effort required for development, ask the stakeholder if "….there’s a simpler way of doing that?”, or "….would a feature that did x, y, and z satisfy that need?”

The analysis, combination of similar requirements, and alignment of requirements to the contract or SOW will be performed by you and you’ll have to feed the results back to the interviewees.

This method can be used where you have a relatively small group of disparate stakeholders to solicit requirements from. The advantage of this method is your control over the requirements given, your ability to influence expectations, and your ability to ensure the requirements are captured accurately. It would not be appropriate for projects where you have a large number of stakeholders to solicit.

Joint Application Development (JAD)

JAD uses workshops to solicit requirements from stakeholders much like brainstorming. There are several key differences however, the principal difference being the involvement of systems analysts in the requirements gathering process. The workshops require a facilitator to keep the discussions on track and focus the team’s efforts on the task of gathering requirements and a recorder to capture the requirements (this is similar to brainstorming). The involvement of the analysts in the workshops ensures that the requirements gathered will be feasible and not have an unreasonable cost in terms of development time or effort. Another advantage of having the analysts in the workshop will be their ability to offer alternatives that can address the same needs for less cost.

JAD will work in the same situations where brainstorming is appropriate and, like brainstorming, will require the team to be collocated.

Surveys

Surveying is the same approach as interviewing, except the surveys can be done remotely. The information that your solicited stakeholders will require to enable them to state their needs for your project must be communicated to them with sufficient lead time to allow them to respond intelligently. You should provide a response deadline to ensure you receive responses by your planned end date and you’ll have to do the analysis, collation, and alignment of the responses yourself. Surveying will also require you to communicate the results of the survey to your stakeholders (similar to the interview technique).

This technique is appropriate where the stakeholder group being solicited is geographically dispersed, or the number of solicited stakeholders is too great to employ the interview technique. The survey technique allows you to gather requirements from a large number of stakeholders without the overhead entailed in interviewing. Be forewarned: in order to achieve any degree of success with this method, you’ll have to impress upon your stakeholders the importance of their response.

Storyboarding

Storyboarding is a means of capturing requirements in a graphical display rather than in text. It borrows from the entertainment industry where the technique was first used in cartoon production.

Using storyboards to capture requirements involves the recorder drawing screens on an easel or white board. The screens will contain all the information to be displayed in the screen as well as the input fields required to gather information. The storyboard is used in a workshop setting with a facilitator and recorder. The facilitator and recorder will start the session by creating a screen for the first major need to be expressed. This might be a log in screen, or some other screen capturing a fundamental function. The original screen may trigger subsequent screens to complete the function. For example, the first order entry screen may capture information common to every order and require subsequent screens to capture information that is unique to different types of orders, for example one screen each for a software order, a computer order, and an operating manual order. The storyboard will develop the screens as the group navigates through each function or requirement.

Since the storyboard can only capture a few states for each screen, it is important for the recorder to capture the different states each screen may have and the behavior of the screen upon different inputs (how errors are handled, how input information is verified, etc.).

One advantage of storyboarding is its ability to define the screens that will be a key feature of the application, and get consensus in a group setting for each screen’s look and feel. This method is appropriate where the application being developed is GUI based, or for web sites. It is also appropriate where the stakeholders being solicited are collocated so they can participate in the workshop. It will not be appropriate where the stakeholders are geographically dispersed, or the application being developed is not GUI based.