10 Techniques for Gathering Requirements

60
  • date post

    21-Oct-2014
  • Category

    Technology

  • view

    471
  • download

    3

description

 

Transcript of 10 Techniques for Gathering Requirements

Page 1: 10 Techniques for Gathering Requirements
Page 2: 10 Techniques for Gathering Requirements

Focus Groups.

Functional Decomposition.

Interface Analysis.

Interviews.

Lessons Learned Process.

Metrics and KPI.

Non-Functional Decomposition.

Observation.

Organizational Modeling.

Problem Tracking.

Page 3: 10 Techniques for Gathering Requirements

“The most important single aspect of software

development is to be clear about what you are

trying to build”.

Page 4: 10 Techniques for Gathering Requirements

Focus

groups

Page 5: 10 Techniques for Gathering Requirements

What is a focus group?

• Semi-structured “group interview”.

• Focused discussion with moderator.

• 6 – 12 participants, 1 – 3 hours.

• Homogenous group.

• Socially-oriented.

Page 6: 10 Techniques for Gathering Requirements

What can a focus group do?

• Explore attitudes, opinions, behaviors, beliefs & recommendations ofa group.

• Define problems, gather reactions to proposed solutions, explorefeelings and reasons behind differences.

• Test messages, make packaging decisions, determine the right outletsand public.

• For products or messages, gauge public reaction to positions, exploreopinions about company performance.

Page 7: 10 Techniques for Gathering Requirements

Advantages of focus groups

• Socially-oriented: useful in problem definition and message testing.

• Possible to probe positive or negative reactions.

• Relatively inexpensive, quick results.

• Flexible.

Page 8: 10 Techniques for Gathering Requirements

Disadvantages of focus groups

• Can be difficult to control.

• Questionable reliability.

• Difficult to recruit\assemble.

• Should not be used:

• In confrontational situations.

• For statistical projections.

• Confidentiality cannot be assured.

Page 9: 10 Techniques for Gathering Requirements

“Analysis occurs only when the domain expert is in

Brad Kain, quoted in "UML Distilled"

the room (otherwise it is pseudo-analysis)”.

Page 10: 10 Techniques for Gathering Requirements

Decomposition

Functional

Page 11: 10 Techniques for Gathering Requirements

What is a functional decomposition?

• Breaking down a large problem into smaller functions or deliverables (WBS).

• Sub-problems are independent.

• Work can be assigned to different groups.

Page 12: 10 Techniques for Gathering Requirements

What can a functional decomposition do?

• Identifies the high-level function then breaks those functions intosmaller pieces.

• A similar process can be carried out for the work involved in a project.

• Decomposition can also be performed to describe a product orprocess.

Page 13: 10 Techniques for Gathering Requirements

Advantages of functional decomposition

• Creates a conceptual model of the work that needs to be completed.

• Provides all stakeholders with a consistent view of the scope.

• More readily understandable, subsets of the whole.

Page 14: 10 Techniques for Gathering Requirements

Disadvantages of functional decomposition

• No way to be certain that all components have been captured.

• Decomposition without understanding the relationship betweenpieces may create an inappropriate structure.

Page 15: 10 Techniques for Gathering Requirements

Interface

Analysis

Page 16: 10 Techniques for Gathering Requirements

What is an interface analysis?

• Interface is a connection between two components.

• Interface include:

• User interface.

• Interface to\from external applications\hardware-devices.

Page 17: 10 Techniques for Gathering Requirements

What can an interface analysis do?

• Distinguishes which application provides specific functionality.

• Identifying what interfaces are necessary.

Page 18: 10 Techniques for Gathering Requirements

Advantages of interface analysis

• More accurate project planning and potential savings in time andcost.

• Collaboration with other systems or projects.

• Specification of the interfaces should prevent difficulties in integratingmultiple components.

Page 19: 10 Techniques for Gathering Requirements

Disadvantages of interface analysis

• Does not provide insight into other aspects of the solution.

Page 20: 10 Techniques for Gathering Requirements

nterviews

Page 21: 10 Techniques for Gathering Requirements

What is an interview?

• A type of qualitative research.

• Combination of observation and one-on-one interviewing.

• “Interviewing is a way to collect data as well as to gain knowledgefrom individuals” – Kvale.

Page 22: 10 Techniques for Gathering Requirements

What can an interview do?

• Allows interviewers to question in real time.

• Gain insights about people.

Page 23: 10 Techniques for Gathering Requirements

Advantages of interviews

• Simple, direct technique.

• Enables observations of non-verbal behavior.

Page 24: 10 Techniques for Gathering Requirements

Disadvantages of interviews

• Requires considerable commitment and involvement of theparticipants.

• Training is required to conduct effective interviews.

Page 25: 10 Techniques for Gathering Requirements
Page 26: 10 Techniques for Gathering Requirements

Lessons Learned

Process

Page 27: 10 Techniques for Gathering Requirements

What is a Lessons Learned Process?

• Historical data of a project that reflect the reasoning behind actionschosen to correct variances.

• Recorded throughout the project lifecycle.

Page 28: 10 Techniques for Gathering Requirements

What can a Lessons Learned Process do?

• Identifies improvement opportunities.

• Initiate actionable next steps.

Page 29: 10 Techniques for Gathering Requirements

Advantages of Lessons Learned Process

• Useful for identifying opportunities for process improvement.

• Helps build team morale after a difficult period.

Page 30: 10 Techniques for Gathering Requirements

Disadvantages of Lessons Learned Process

• All participants must be prepared.

• Participants may be reluctant to document and discuss problems.

Page 31: 10 Techniques for Gathering Requirements

Metrics and Key

Performance Indicators

Page 32: 10 Techniques for Gathering Requirements

What is Metrics and KPI?

• “A metric that helps you understand how you are doing against yourobjectives.” – Avinash Kaishik.

Page 33: 10 Techniques for Gathering Requirements

What can a Metrics and KPI do?

• Evaluates an organization’s success.

• Identification of potential improvements.

Page 34: 10 Techniques for Gathering Requirements

Advantages of Metrics and KPI

• Allows stakeholders to understand the extent to which a solution.

• Shows how effective the inputs and activities.

Page 35: 10 Techniques for Gathering Requirements

Disadvantages of Metrics and KPI

• Gathering data beyond the needs create unnecessary cost.

• You get what you measure.

Page 36: 10 Techniques for Gathering Requirements

Non-functional

Requirements Analysis

Page 37: 10 Techniques for Gathering Requirements

What is NFR analysis do?

• “Describe the non-behavioral aspects of a system, capturing theproperties and constraints under which a system must operate. “

Chung and Julio.

Page 38: 10 Techniques for Gathering Requirements

What can a NFR analysis do?

• Expressing critical ‘holistic’ requirements.

• Defines the overall qualities or attributes of the resulting system (e.g.safety, security, usability, reliability).

Page 39: 10 Techniques for Gathering Requirements

Advantages of NFR analysis

• Success in meeting non-functional requirements will have a strong influence on whether or not a system is accepted by its users.

Page 40: 10 Techniques for Gathering Requirements

Disadvantages of NFR analysis

• More difficult to define.

• May significantly impact the cost of developing a softwareapplication.

Page 41: 10 Techniques for Gathering Requirements

“Walking on water and developing software from

Edward V. Berard

a specification are easy if both are frozen”.

Page 42: 10 Techniques for Gathering Requirements

Observation

Page 43: 10 Techniques for Gathering Requirements

What is an observation?

• Eliciting requirements by conducting an assessment of thestakeholder’s work environment.

Page 44: 10 Techniques for Gathering Requirements

What can an observation do?

• Studying people performing their jobs.

• Understand the current processes to better assess the processmodifications.

Page 45: 10 Techniques for Gathering Requirements

Advantages of observation

• Provides realistic and practical insight into the business.

• Elicits details of informal communication.

Page 46: 10 Techniques for Gathering Requirements

Disadvantages of observation

• Could be time-consuming.

• May be disruptive to the person being shadowed.

Page 47: 10 Techniques for Gathering Requirements

Organization

Modeling

Page 48: 10 Techniques for Gathering Requirements

What is an Organization Modeling?

• It consists of activities such as task allocation, coordination andsupervision.

• Activities are directed towards the achievement of organizationalaims.

Page 49: 10 Techniques for Gathering Requirements

What can an Organization Modeling do?

• Defines how an organization or organizational unit is structured.

• Define the scope of the organizational unit.

• Know your workers.

Page 50: 10 Techniques for Gathering Requirements

Advantages Organization Modeling

• Gives members clear guidelines for how to proceed.

• Structure binds members together.

Page 51: 10 Techniques for Gathering Requirements

Disadvantages of Organization Modeling

• Organizational redesigns are likely to be highly contentious andrequire significant executive support in order to be successful.

• Very "resource-intensive" in terms of both people and money.

Page 52: 10 Techniques for Gathering Requirements

Problem

Tracking

Page 53: 10 Techniques for Gathering Requirements

What is a Problem Tracking?

• Organized approach to tracking, management, and resolution ofdefects, issues, problems, and risks throughout business analysisactivities.

• Management of issues can be resolved in a timely manner.

Page 54: 10 Techniques for Gathering Requirements

What can a Problem Tracking do?

• Identification of root causes of problems.

• Management of issues can be resolved in a timely manner.

Page 55: 10 Techniques for Gathering Requirements

Advantages of Problem Tracking

• Provides an organized method for tracking and resolving risks.

• Helps to maintain focus on open problems until they are resolved.

Page 56: 10 Techniques for Gathering Requirements

Disadvantages of Problem Tracking

• Root cause analysis of the problems can take more time andresources.

• If management of problems is not done, the list becomes outdatedand irrelevant.

Page 57: 10 Techniques for Gathering Requirements
Page 58: 10 Techniques for Gathering Requirements
Page 59: 10 Techniques for Gathering Requirements

Thanks to sources

• “On Non-Functional Requirements in Software Engineering” - Chung and Julio.

• A Guide to the Business Analysis Body of Knowledge® (BABOK® Guide).

• Using interviews as research instruments - Annabel Bhamani Kajornboon.

• User Interview Techniques - The Art of the Question by Liz Danzico.

• www.slideshare.net/edanzico/user-interview-techniques

• Focus Groups by Kelli Matthews.

• www.slideshare.net/kmatthews/focus-groups-351521

Page 60: 10 Techniques for Gathering Requirements