What is it?
Brainstorming is a technique of generating ideas by a group of people or team members by presenting them with a problem statement and having an open discussion. When applied to agile projects, this technique can produce interesting solutions and hence is referred to as Agile Brainstorming.
Why is it important?
There are times in an agile team when the team members are unsure of how to tackle a problem and deliver a solution; there could also be scenarios where a system requirement is too complicated to be broken down by a couple of team members, and then there is the need of finding creative ways to do daily work and enhance productivity. All of these and many more can be dealt with using agile brainstorming sessions.
Such sessions:
- Stimulate the team’s creativity.
- Help with day-to-day productivity.
- It has been proven that if the team members can present their ideas with freedom, the more comfortable they feel and hence can complete quality work.
- Encourage collaboration with other team members.
- Provide interesting solutions to complicated problems.
How to Brainstorm?
During a brainstorming session, the participants are provided with a problem statement and encouraged to come up with ideas and ways to solve that problem. As long as the ideas are related to the original problem statement and the cause of resolving it, the brainstorming session is moving in the right direction.
To brainstorm effectively, some points need to be kept in mind :
- Have a clear and concise problem statement
- Participants should be aware of the problem statement
- Preparation for the brainstorming session
- Ideas should be visualized by the presenter
- Ideas should be shared freely but without criticism
- Prioritize and Evaluate the ideas
- Moderate the session and keep the team on track
Problem Statement
A clear problem statement is very important before proceeding with a brainstorming session. The problem statement has to be simple and concise enough so that each participant can understand it.
Example:
- How do we change the database source from X to Y for reports without affecting current results?
- How do we enable better information flow within the team for daily activities?
These problem statements can come from daily team meetings or business requirements. They should not be open to assumptions or doubts. Ambiguous problem statements will lead to an unproductive session.
Example:
- We have an incomplete database design so let us meet to identify the changes.
The issue with this problem statement is the ambiguity of whether it is trying to identify the changes or identify the gaps in the incomplete design.
Preparation
Before any brainstorming session
- The moderator and participants need to be identified.
- The moderator should notify participants of the agenda, time, and place.
- The moderator should provide a clear objective and problem statement to the participants.
- Participants should research the problem statement.
- If possible, visualize some ideas to resolve the problem statement.
All these steps will ensure a smooth start to the session and help participants understand the problem statement in advance.
Visualize and Share Ideas
Once the session has started, all participants must share their ideas and participate freely. These ideas should then be written down on a board where everyone can see and build upon them. This will help the participants visualize more ideas and develop innovative solutions.
Example:
- Write comments on the story to share information with the team.
- Story comments should be discussed in daily meetings to avoid misunderstandings.
Moderate the Session
The moderator should encourage participation and also keep the brainstorming session on track. If the discussion veers off course, then the team should be reminded of the goal or the objective. No ideas should be shot down, and criticism should be kept to a minimum or avoided.
If the brainstorming comes to a standstill, then the moderator should look to invite more ideas by asking leading questions or moving on to the next stage of the discussion.
Prioritize and Evaluate Ideas
Once sufficient ideas have been presented, or the brainstorming session is halted, then the moderator or facilitator should start to prioritize them. The ideas can be prioritized based on several techniques, such as assigning points to each idea based on a consensus and then sorting out the ones with the most points.
Once the ideas have been prioritized, the participants can evaluate and formulate in-depth implementation of the top ideas. All ideas should be discussed irrespective of the assigned points. The objective of the brainstorming session should be kept in mind while evaluating and refining the ideas. Follow-up meetings can be scheduled if more time is needed.
Brainstorming Techniques
There are several techniques available for brainstorming; here we’ll define a few of them:
1. Mind Mapping
This technique starts with a participant sharing an idea which is written down on a board for visual representation. The other participants then come up with more ideas, and lines are drawn connecting the sub-ideas to the original one, hence the name, mind mapping.
This technique helps in approaching the objective visually, and participants are able to build upon ideas in a positive approach.
2. Round Robin
In this technique, everyone contributes an idea to the session before further discussion can take place. One idea from each participant should be noted before someone can present their second idea or provide feedback on any other ideas.
This encourages more participation and maintains a certain flow to the brainstorming session.
3. 5 Whys
This technique is used to arrive at a root cause or to choose between various options. It can be applied in a brainstorming session by simply asking “Why” until the root cause or the best option is discovered.
Example:
- Enable better information flow within the team for daily activities. Why?
- Because we need to be agile so team members can support each other’s activities. Why?
- Because we need to be more productive. Why?
- Because we need everyone to participate in completing the project on schedule. Why?
- Because it will increase team confidence and promote collaboration. Why?
- Because right now, the team’s confidence needs a boost to complete the project.
Conclusion
Agile brainstorming is increasingly becoming a core aspect of problem-solving. It should not be interpreted as part of daily stand-up meetings, but a separate session should be conducted to maintain the integrity of the process.
Brainstorming sessions can be applied to the most basic and complicated problems, given the problem statement is kept clear and concise. It helps find innovative solutions and encourages team collaboration, which is why agile brainstorming is a key part of the modern-day agile process.
References:
https://dzone.com/articles/brainstorming-in-it-teams-must-have-or-time-wastin