Secret ingredients to quality software

  • Services
    • Products
      • Training
        • User Group
          • Rules
            • About Us
              • SSW TV
              SSW Foursquare

              Rules to Better Brainstorming - 8 Rules

              brainstorming day v2 Figure: SSW Brainstorming 🤖

              SSW has been running Brainstorming days for many years. Every time we improve process to ensure the attendees and the company are getting the most out of the day.

              1. Do you use the brains of your company?

                Your employees are your greatest asset, yet their valuable knowledge and insights often go unnoticed. Why not harness their creativity and problem-solving abilities by hosting a fun and collaborative Brainstorming day? It's a simple but effective way to unlock innovative ideas, foster team bonding, and empower your workforce. 🧠💪

                Check out this video!

                Employees on the front line often have valuable insights into opportunities for improvement, what is painful, increased efficiency, and even entirely new business ideas. Empowering these employees with an annual Brainstorming day is a great way to transform their good ideas into valuable solutions, as well as giving them the opportunity to learn and grow from each other. Also, many employees enjoy the opportunity to flex their creative muscles in fun ways that their day-to-day jobs may not always afford them.

                Different companies have different approaches to this. For example:

                • Atlassian - give employees 1 day a year to work on a feature they want
                • Google - employees are allowed to dedicate 20% of their time to 'pet projects' (subject to approval)
                • Microsoft - Scott Guthrie takes senior leaders offsite for 1 week each year
                • SSW - Adam Cogan conducts an annual Brainstorming day in each state office
              2. Pre event - Do you know how to facilitate a Brainstorming day?

                At an annual Brainstorming day, employees are invited to share their ideas, give feedback, and pick the best one to work on. The benefits of Brainstorming are well understood, but to focus the productivity on something useful, it is important to have a system for suggesting, voting, and working on ideas. Brainstorming days also require a lot of preparation leading up to the day and follow-up work afterwards.

                Here is the schedule that should be followed.

                1. Book in a day - this should be done months before the Brainstorming day to allow time for planning and for people to think of ideas.
                2. 4 weeks before - Pre event - Idea Farming and refinement
                3. 1 week before - Pre event - Team allocation and setup
                4. 1 day before - Pre event - Brainstorming Intro Presentation
                5. Brainstorming day agenda
                6. Post event - Brainstorming Retro
                7. Post event - Digesting Brainstorming
              3. Pre event - Do you have a Brainstorming Day agenda?

                It's go time - teams have been allocated and the day has arrived.

                Tip: This agenda can change depending on how many people are attending. E.g. If you have fewer people attending, you could start presentations earlier.

                Ensure this is sent out to all staff months before the event to encourage ideas.

              4. Pre event - Do you know how to farm Brainstorming ideas?

                Beginning a Brainstorming Day without ideas prepared in advance is not a recipe for success. Time will be wasted either coming up with ideas, or preparing them to work on.

                For a successful and streamlined Brainstorming Day, it's crucial to gather well-formed ideas in advance. This preparation smoothens the day's proceedings and increases its overall value.

                GitHub Discussions provides an awesome way to let employees discuss ideas before the Brainstorming day. A GitHub Discussion template makes it easy for attendees to submit quality ideas in a consistent format.

                For a successful and streamlined Brainstorming Day, it's crucial to gather well-formed ideas in advance. This preparation not only smoothens the day's proceedings but also enhances its overall value.

                To ensure you get high-quality ideas, create a structured template for the Discussion.

                One month before brainstorming, you should review the repo and then remind all attendees to submit a Discussion with their ideas:

                1. Look at all existing ideas in the Brainstorming GitHub Discussions repo
                2. If necessary, call the person who came up with the idea and ask for further explanation or for them to record a Done Video to sell their idea
                3. Pre-cooking - Come up with a few ideas for the day, these should come from high-level people in the company
                4. Send out an email asking people to submit any new ideas they have
                5. It should have a short explanation of the day, some previous success stories, and a link to all the GitHub discussions
              5. Pre event - Do you know how to allocate Brainstorming teams?

                Separating the group into teams on the Brainstorming day can take a long time. It is better to do this before the day. Doing it early also allows you to keep team sizes consistent and share the teams with the group before the day.

                Form - Vote on ideas

                Send out a Microsoft Form to the entire company to vote on which ideas they want to work on. It should have the following questions

                • Are you attending the Brainstorming day? (2 options - Yes/No)
                • For each idea (1 question per idea) - Do you want to work on {{IDEA NAME}}? {{LINK TO DISCUSSION}} (1 option - Yes)
                • Indicate that people should pick 3 or more ideas

                Having a separate question for each idea is important to get the data in a good format to allocate teams with minimal data transformation.

                Team allocation

                Ensure everyone has completed the voting form before allocating teams.

                Typically, the form responses exported to Excel will be in a format like this.

                raw data format
                Figure: Data from the form responses

                This data format makes it hard to assign teams, you can use ChatGPT Advanced Data Analysis to transform data into a better format.

                transformed voting data
                Figure: Transformed data makes it easy to allocate teams

                Upload the Excel file to ChatGPT and use this prompt

                I need this data in a format to allocate teams, I want each idea as a row and then each person who voted for that idea as a column after it.

                1. To assign teams, start by assigning the most capable people to each team as a team lead - it's not required but is helpful if this is the person who came up with the idea
                2. After each team has a team lead, assign the remaining people based on their preferences, skillset, and interests
                3. Aim for team sizes of 3-5 people
                4. Any larger than this is, it is too hard to manage and get everyone involved.
                5. Try to encourage inter-office communication by putting people from different offices on the same team.
                6. Each team also needs to be assigned an Idea Product Owner person to test the presentation and give feedback.
                7. Once everyone is allocated a team, share the result with the group.

                Team setup

                In order to make the Brainstorming day as productive as possible, set up the PowerPoints using a template.

                1. Create a new Teams team for the Brainstorming day E.g. Sydney Brainstorming 2023
                2. For each team, create a folder in the Files tab
                3. Use a Brainstorming PowerPoint template to create a PowerPoint for each team
                4. https://www.ssw.com.au/rules/rules-to-better-brainstorming/#presentations

                Having all the presentations in one location (Teams team) makes it easy to collaborate and ensures they won't be lost. It also means all the presentations can happen on a single device, instead of switching laptops every presentation which can be slow and lead to AV issues.

                Share the teams with the company

                Once the teams have been allocated, create a new GitHub Discussion with all the ideas and the teams with a link to the original idea Discussion.Share the Discussion in an email to the entire company.

                Putting the team allocations in a Discussion allows updates if attendees change or if the teams need to be updated.

                Figure: GitHub Discussion - Team allocations

                Tip: For extra visibility, also pin it on the repo.

              6. Do you know how to structure a Brainstorming presentation?

                The presentations are a very important part of the brainstorming as they are sharing the outcomes of the idea with the stakeholders who can decide whether the ideas should be implemented or not.

                To keep presentations consistent, use a template and ensure the following is covered:

                1. Pain - What is the problem you are solving?
                2. Potential solutions and a recommendation - How can we fix the problem?
                3. Cost - how long is it going to take and how much will it cost?
                4. Next steps - how can this solution be implemented?

                Figure: SSW's Brainstorming PowerPoint Template (6 min)

                In order to get through all the presentations in 1 day, allocate a strict schedule.

                E.g.:

                • Presentation Delivery: 7 Minutes
                • Audience Q&A: 3 Minutes
                • Adam’s Feedback: 3 Minutes
                • Changeover: The next group must be ready to start immediately!

                If the team has a demo to share, get them to pre-record it and embed it into the PowerPoint. This will save time and ensure the demo goes smoothly.

                Run sheets

                To help presentations run smoother, it's a good idea to set up a presentation run sheet and then share it with the attendees on the day.

                This could be in a GitHub Discussion, Microsoft Loop, or Word document.

              7. Post event - Do you do a Brainstorming day retro?

                The results of the Brainstorming day can have a great impact on the company. It's important to get everyone's thoughts on each idea.

                Send out a Microsoft form with the following questions

                1. Did you watch the Brainstorming presentation (in person or live stream)?
                2. ✅ What went well?
                3. ❌ What didn't go so well?
                4. 💡 Any ideas to improve it?
                5. {{IDEA NAME}} - How good was the outcome of the Brainstorming session?

                  • Rating /10
                  • In the question, Include a link to the GitHub Discussion and YouTube video of the presentation
                6. {{IDEA NAME}} - Which option/s should we do?

                  • This should be a multiple-choice question with all the options pitched in the presentation
                  • Depending on the options pitched, this question might need to allow multiple answers

                Repeat questions 5 and 6 for each idea.

                This should be done on the Friday after the Brainstorming day.

              8. Post event - Do you digest brainstorming outcomes?

                The Brainstorming day is a lot of fun, but its important all the outcomes are captured and acted on.Once you have everyone's thoughts on the ideas, they need to be digested into actionable items.

                Create a PBI or send a task for every item that the Brainstorming team decides is valuable.

                Send a summary of what was implemented to the company with links to the PBIs.

                Tip: Tag all issues with a 'brainstorming' label to make it easy to track them across projects.

              Need some help with Brainstorming?

              Meet our experts
              We open source. Powered by GitHub