Chapter 3 Task 1

Requirements Gathering
Requirement gathering is an iterative process that involves interacting with the client to gain consensus on the details of those requirements. There is no one perfect method for gathering and analyzing requirements. The most appropriate method for gathering requirements differs from project to project. Some commonly used techniques for gathering requirements are:
Interviews
Prototyping
Use Case Analysis
User Stories
Workshops

Interviews
Interviews are used to gather information. However, the predisposition, experience, and skill of the person being interviewed needs to be taken into account because these elements have a tendency to prejudice information obtained in the interview. One approach to alleviating possible bias would be the use of context-free questions by the interviewer.

Prototyping
Prototyping is a technique for building a quick and rough version of a desired system or parts of that system. The prototype illustrates the system capabilities to users and designers. It serves as a communications mechanism to allow reviewers to understand interactions with the system. In some cases, prototyping can give the impression that developers are further along in the development of the project than is actually the case which can give users unrealistic project completion expectations.

Use Case Analysis
A Use Case Analysis is a narrative document that describes the sequence of events a user uses a system to complete a process. Use cases are meant to capture the intended behavior of the system being developed, without specifying how that behavior is implemented. A use case diagram can be used to depict the business functionality, at a high-level, that the system will support.

User Stories
User Stories are a simple approach to requirements gathering that shifts the focus from formal written requirements documentation to conversation that enables a project to be more responsive from its inception. User...