0% found this document useful (0 votes)
17 views9 pages

Group No: 01: Members

The document outlines the process of software requirements gathering, emphasizing its importance in the software development life cycle. It details the steps involved, necessary skills, and challenges faced during the gathering process. Key steps include identifying stakeholders, defining project scope, eliciting and documenting requirements, validating them, and maintaining ongoing communication to manage changes and conflicts.

Uploaded by

salhamussa2001
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views9 pages

Group No: 01: Members

The document outlines the process of software requirements gathering, emphasizing its importance in the software development life cycle. It details the steps involved, necessary skills, and challenges faced during the gathering process. Key steps include identifying stakeholders, defining project scope, eliciting and documenting requirements, validating them, and maintaining ongoing communication to manage changes and conflicts.

Uploaded by

salhamussa2001
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 9

GROUP NO: 01

UNIT FOUR

TOPIC: SOFTWARE REQUIREMENTS GATHERING –STEPS TO BE FOLLOWED –


SKILLS SET REQUIRED –
CHALLENGES

MEMBERS
1. BRIAN S ASSENGA 23171356118.
2. DENIS MSAFIRI 23171356020.
3. AMON MGANDA 23171356051.
4. JOSEPH JULIUS 23171356077.
What is Requirements Gathering?
Requirements gathering is a crucial phase in the software development life
cycle (SDLC) and project management. It involves collecting, documenting,
and managing the requirements that define the features and functionalities
of a system or application. The success of a project often depends on the
accuracy and completeness of the gathered requirements in software.

Software requirements gathering ensures that the development team


understands what the software needs to do, how it will be used, and any
constraints on its operation. The primary goal is to create a clear and
comprehensive set of documented requirements that can serve as the
foundation for design, development, and testing.
1. Identify Stakeholders:
•Who's Involved? Determine who will be using the software and who has a
vested interest in its success. This includes end-users, administrators,
managers, and other relevant parties.
•Understand Their Needs: Gain a clear understanding of each stakeholder's
role, responsibilities, and expectations.
2. Define Project Scope and Objectives:
•What's the Goal? Clearly articulate the purpose of the software and what it
aims to achieve.
•Set Boundaries: Define the scope of the project, including what features will
be included and excluded.
•Establish Objectives: Set specific, measurable, achievable, relevant, and
time-bound (SMART) objectives for the project.
3. Elicit Requirements:
•Gather Information: Use various techniques to collect information from stakeholders, such
as:
• Interviews: Conduct one-on-one or group interviews to ask open-ended questions and
gain insights.
• Surveys and Questionnaires: Distribute surveys to collect quantitative data from a large
number of stakeholders.
• Workshops and Focus Groups: Facilitate discussions and brainstorming sessions to
generate ideas and identify requirements.
• Document Analysis: Review existing documentation, such as business processes, user
manuals, and system specifications.
•Clarify Ambiguities: Ask probing questions to clarify any vague or ambiguous requirements.
4. Document Requirements:
•Structured Format: Use a standardized format to document requirements, such as:
• Use Case Diagrams: Visualize user interactions with the system.
• Functional Requirements: Describe the specific functions the software must perform.
• Non-Functional Requirements: Specify quality attributes like performance, security, and
usability.
• User Stories: Write user stories from the perspective of end-users to capture their
needs.
5. Validate and Prioritize Requirements:
•Verify Accuracy: Review the documented requirements with stakeholders to ensure they
accurately reflect their needs.
•Identify Conflicts: Resolve any conflicting requirements or inconsistencies.
•Prioritize: Assign priorities to requirements based on their importance and impact on the
project's success.
6. Review and Approval:
•Formal Review: Conduct a formal review process with stakeholders to obtain their
approval of the documented requirements.
•Sign-Off: Obtain written approval from key stakeholders to finalize the requirements.
7. Maintain Requirements:
•Track Changes: Establish a process for tracking changes to requirements throughout the
development lifecycle.
•Update Documentation: Keep the requirement documents up-to-date as the project
progresses.
To effectively gather software requirements, you need a combination of technical skills, analytical
abilities, and strong interpersonal qualities. Here are some of the key skills required:
Technical Skills:
o Understanding of Software Development: Knowledge of different software
development methodologies (e.g., Agile, Waterfall) and processes.
o Requirements Management Tools: Proficiency in tools such as JIRA, Trello, or
Microsoft Project for tracking and documenting requirements.
o Basic Coding Knowledge: While not always necessary, understanding basic coding
concepts can help in communicating with developers.
Analytical Skills:
o Attention to Detail: Ability to notice and document all the minute details that might affect
the project.
o Problem-Solving: Identifying potential issues in requirements and finding feasible
solutions.
o Critical Thinking: Assessing the requirements and understanding the impact they will
have on the system and stakeholders.
Communication Skills:
o Verbal Communication: Effective listening and speaking skills to clearly understand and
convey requirements.
o Written Communication: Strong writing skills to document requirements clearly and
concisely.
Interpersonal Skills:
o Empathy: Understanding stakeholders' needs, challenges, and
perspectives to gather accurate requirements.
o Negotiation: Balancing conflicting requirements and reaching
agreements that satisfy all parties involved.
o Patience and Perseverance: Dealing with changing requirements and
managing stakeholder expectations.
Organizational Skills:
o Time Management: Prioritizing tasks and managing time effectively to
meet deadlines.
o Documentation: Keeping detailed records of all gathered requirements
and changes made.
Flexibility and Adaptability:
o Handling Change: Being open to changes in requirements and
adapting the approach as needed.
o Continuous Learning: Staying updated with the latest industry trends
and best practices in requirements gathering.
CHALLENGES OF SOFTWARE REQUIREMENT GATHERING

1. Communication Barriers: Miscommunication or lack of clear


communication between stakeholders and the development team can lead to
misunderstandings about what is needed. This can result in incomplete or
incorrect requirements.
2. Ambiguous Requirements: Sometimes stakeholders are not sure about
what they want or use vague language that is open to interpretation. This
ambiguity can lead to confusion and misaligned expectations.
3. Changing Requirements: Requirements can evolve over time as
stakeholders gain a better understanding of their needs or as market
conditions change. Managing these changes without disrupting the project can
be difficult.
4. Stakeholder Involvement: It can be challenging to get all the key
stakeholders involved and keep them engaged throughout the process.
Some stakeholders may be difficult to reach or may not prioritize the
project.
5. Scope Creep: As new requirements are identified, there’s a risk of the project scope
expanding beyond what was initially agreed upon. This can lead to delays, increased
costs, and resource strain.
6. Conflicting Requirements: Different stakeholders may have conflicting needs and
priorities. Resolving these conflicts to everyone's satisfaction can be a complex
process.
7. Technical Constraints: Sometimes, the desired requirements may not be feasible
due to technical limitations, budget constraints, or resource availability.
8. Documentation Quality: Poorly documented requirements can lead to
misinterpretations and errors during the development phase. Ensuring that
requirements are detailed, clear, and well-documented is crucial.
9.Time Constraints: Gathering requirements thoroughly can be time-consuming. In
fast-paced projects, there may be pressure to rush through this phase, which can
lead to incomplete or inaccurate requirements.
10. User Resistance: Users may be resistant to change, especially if the new system
will significantly alter their workflow. Overcoming this resistance and getting honest
input from users can be challenging.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy