Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Q: If you are working in a company that works on agile practices then which

elicitation technique is best and how?

In an agile environment, where iterative development and collaboration are key, elicitation
techniques play a crucial role in understanding and gathering requirements. Let's explore
how the artefact-driven elicitation techniques mentioned in your question can be applied
in an agile setting:

1. **Background Study:**
- **Agile Context:** In agile, understanding the system-as-is and the domain is essential for
iterative development. However, in agile, this background study should be lightweight and
ongoing rather than exhaustive upfront.
- **Example:** In an agile team developing a project management tool, the team might
continuously study industry trends, user feedback, and relevant documentation to inform
feature updates during each sprint.

2. **Data Collection:**
- **Agile Context:** Agile encourages data-driven decision-making. Collecting relevant
data, especially for non-functional requirements, can guide the team in making informed
decisions.
- **Example:** In an agile e-commerce project, data on user interactions with the website
can inform decisions on performance improvements or user experience enhancements.

3. **Questionnaires:**
- **Agile Context:** Agile teams often need quick feedback. While questionnaires can be
valuable, they should be brief and focused to fit within the fast-paced iterations of agile
development.
- **Example:** Before a sprint planning meeting, a product owner might use a brief
questionnaire to gather feedback from stakeholders on the priority of user stories.

4. **Repertory Grids and Card Sorts:**


- **Agile Context:** These techniques can be valuable in understanding domain concepts
and relationships, but they should be agile-friendly, meaning they should be quick and easily
adaptable.
- **Example:** In an agile project developing a healthcare application, stakeholders might
use card sorting to categorize different features related to patient management or
record-keeping.

5. **Storyboards and Scenarios:**


- **Agile Context:** Agile embraces user stories and scenarios for detailed understanding
of requirements. Storyboards and scenarios can enhance collaboration between
development teams and stakeholders.
- **Example:** In an agile team working on a mobile app, a storyboard can illustrate the
sequence of interactions a user might have when navigating through a new feature.

6. **Mock-ups and Prototypes:**


- **Agile Context:** Agile development often involves creating prototypes for early
feedback. Prototypes can be used to validate and refine requirements before full
implementation.
- **Example:** In an agile project developing a website, a low-fidelity prototype might be
created to visualize the layout and navigation, allowing stakeholders to provide feedback
before development starts.

7. **Interviews, Observation, and Group Sessions:**


- **Agile Context:** These direct interaction techniques are highly compatible with agile
principles, emphasizing regular communication and collaboration.
- **Example:** In agile, regular sprint planning meetings and daily stand-ups serve as
opportunities for quick interviews and observations. Group sessions, such as sprint reviews
and retrospectives, facilitate collaboration and continuous improvement.

In an agile environment, the key is to adapt and prioritize these techniques based on the
agile principles of flexibility, collaboration, and delivering incremental value. The goal is to
continuously refine and improve requirements throughout the development process.

*************************************
**Stakeholder-Driven Elicitation Techniques with Examples:**

1. **Interviews:**
- **Example:** In an agile project for developing a customer relationship management
(CRM) system, interviews with sales representatives, customer support agents, and
managers can provide insights into their specific needs and challenges. Structured questions
can focus on data integration requirements, while unstructured discussions can uncover
nuanced user experiences.

- **Agile Adaptation:** Conduct regular, brief interviews during sprint planning or review
meetings to gather continuous feedback from stakeholders and adapt requirements
iteratively.

2. **Observation and Ethnographic Studies:**


- **Example:** In an agile team developing a collaborative project management tool,
observing how team members interact with the current project management system can
reveal workflow bottlenecks. Ethnographic studies may involve long-term observation to
understand emergent properties of collaboration, uncovering insights beyond explicit
requirements.

- **Agile Adaptation:** Use shorter, focused observation periods aligned with sprint cycles
to capture real-time challenges faced by the team. Combine this with retrospective sessions
to gather feedback.

3. **Group Sessions:**
- **Example:** In a healthcare software project, structured group sessions can bring
together clinicians, administrators, and IT specialists to collaboratively define features
related to patient record management. Brainstorming sessions can generate creative ideas
for improving data accessibility and user workflows.

- **Agile Adaptation:** Conduct short, focused workshops within sprints to address specific
features or user stories. Use techniques like User Story Mapping in group sessions to
visualize and prioritize requirements collaboratively.

- **Consideration:** Ensure a diverse representation of stakeholders in group sessions to


prevent bias. Rotate participants to maintain freshness and engagement.

4. **Combining Techniques:**
- **Example:** In an agile e-commerce project, combine interviews with customer support
representatives to gather specific pain points and observations on system issues. Follow up
with a structured group session involving developers, product owners, and UI/UX designers
to brainstorm solutions and prioritize improvements.

- **Agile Adaptation:** Use a mix of structured and unstructured interactions within a sprint
to quickly adapt to changing priorities. Leverage retrospectives to continuously refine
elicitation techniques based on team feedback.

5. **Feedback Loop:**
- **Example:** In an agile team developing a financial management system, use interviews
with finance professionals to gather initial requirements. Develop a prototype based on these
requirements and conduct a group session for user testing and feedback. Iterate based on
feedback received in subsequent interviews and observations.

- **Agile Adaptation:** Implement short feedback loops within sprints, integrating


stakeholder inputs through continuous iterations of prototypes and user stories. This ensures
that evolving requirements align with stakeholders' changing needs.

In agile development, the key is to remain flexible, adapt quickly to changing requirements,
and foster continuous collaboration with stakeholders. Combining these stakeholder-driven
elicitation techniques within agile practices enhances the ability to capture diverse
perspectives and deliver a product that meets stakeholders' evolving expectations.

You might also like