Siraj ’s heaven.

Imagination is more important than knowledge. -Albert Einstein

Requirement Gathering

Posted by sirajq on March 18, 2008

Requirement Gathering and Analysing  is most important and difficult part of any project. Success of any project, does not matter whether it is small, madium or large, depend on the efficient requirement gathering. You may develop something which customer may reject if  your final product does not match the client requirements and clients needs are not addressed in final product. Sometimes, frequent change in the requirement also leads to failure of the project, if requirement changes are not managed properly. Also, there is a saying, “Walking on water and developing software from a specification are easy if both are frozen”.

It is always difficult to collect correct requirement to develop the system. Fortunately for us, we have many tools and technique which help us to do requirement gatheting efficiently.

There are 6 main  techniques that you can use for gathering information:

Shadowing:

Shadowing is the technique in which End User show you how he performs certain activity or task. You are allowed to ask a questions related to the tasks performed by the end user. By doing so, you understand the purpose of performing the specific tasks.

Although, Shadowing will not help you to understand the tasks which user perform only occasionly and not frequently eg monthly report printing, adhoc report printing etc, but Shadowing is a good way to get an idea what and how does a person perform day to day activities.In addition to the information that you would collect from the individual, you might collect relevant work artifacts, such as documents and screen shots of the current solution.

Interviewing:

There are certaing batch process which require no human intervention. An example of a process that requires no human intervention is the automatic bill-paying service provided by financial institutions. For gathering information about such activities and processes, you need to conduct interviews.

An interview is a one-on-one meeting between a member of the project team and a user or a stakeholder. The quality of the information a team gathers depends on the skills of both the interviewer and the interviewee. An interviewer who becomes an ally can learn a great deal about the difficulties and limitations of the current solution. Interviews provide the opportunity to ask a wide range of questions about topics that you cannot observe by means of shadowing.

Focus groups:

A focus group is a session in which individuals discuss a topic and provide feedback to a facilitator.  Focus groups allow you to gather detailed information about how an activity fits into the business as a whole. Individuals in a focus group can fill knowledge gaps for one another and provide a complete description of a business process.

Focus groups concentrate on group interviewing techniques. Use this method in cases in which there are more users than you can involve directly in the information gathering process.

Surveys:

Surveys consist of sets of questions that are created to gather information. Examples of surveys include user registration forms and customer feedback or satisfaction forms.

You can use surveys to gather information and to identify further information gathering activities that you need.One of the benefits of using surveys is that they enable users to respond anonymously. You can collect information that might be impossible to collect with any other technique.

User instruction:

When you use the user instruction technique, users actually train you on the tasks that they perform. This allows you to participate in the activity and view each step of the process from the user’s perspective. You might also gain knowledge that an individual has learned over time and that is unavailable from artifacts or systems.

User instruction can be time consuming if the process you are investigating is long. This method could also be frustrating for the researcher if the user is not accustomed to teaching others. In addition, different users might perform the same task differently. Consequently, you should collect information from multiple users.

Prototyping:

Prototyping allows you to gather information by simulating the production environment. You can use several tools to collect information, such as a camera to monitor visual activity or a computer program to monitor keystrokes and mouse clicks. The tool that you select for prototyping depends on the type of information you want to collect.

Use prototypes when it is impossible to shadow a person in the normal work environment. The data that you collect by prototyping is typically empirical rather than responses from users. Therefore, you can easily validate this data. However, the cost of prototyping might be high.

Sources of Information:

As we  know requirement gathering is very important and it is equally important to know the source of the information. Some of the information sources are:

  • Artifacts

  • Systems

  • People

Artifact: 

An artifact in information gathering is an item that is physically available in the business environment and that describes an element or core business process. As in archeology, artifacts help us understand the current environment. They provide information about tasks, processes, business needs, and constraints. Examples of artifacts include training manuals, video recordings, regulatory requirements, earlier program files or tapes, help desk documentation, and financial reports.

Systems:

Systems describe an element of the business that is performing an action. A specific system is a set of discrete processes that accomplish an action. A system might be composed of subsystems. A system can be a tangible process, such as an inventory tracking system, or an intangible process, such as the methods that a manager uses to identify and resolve problems within a department.

People:

The people who are stakeholders in the business can be the source of valuable insights into the business, often providing information that is not documented anywhere. These stakeholders include executives, developers, managers, customers, and users. In cases where documentation is incomplete (or non-existent), people might be the only source for the information you need to learn about the business.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>