In recent years, the ways developers collaborate with their wider communities have evolved significantly. Collaboration now happens at a much earlier stage in the development process and involves all kinds of stakeholders: end users, developers, administrators, community leaders and more.
When these groups work closely together, we hit the innovation sweet spot much more quickly. These heightened levels of collaboration have been a huge net positive. Today, users have unprecedented influence over how the products they use are developed. That’s helped software become better than ever: today there are countless products that make our lives better and our work more productive.
To unlock this innovation flywheel, companies have to reevaluate the way they foster collaboration between their communities. When a development team works in a siloed, insular environment, the flywheel never gets going, and companies can’t ship great products that are used by millions of people. That prompts the question: how can companies build better approaches to collaboration?
Start With Prioritizing
Collaboration begins with prioritization. It’s impossible to collaborate effectively when it feels like everything is on fire — you need a balanced approach to successfully solve your users’ problems.
To effectively set priorities, developers have to work closely together with community managers and administrators whose job is to advocate for the user base. Assign top priority to product features that will have the greatest impact on the highest number of users. No developer wants to build something people don’t use: it’s hugely demotivating. Partnering with community leaders who truly understand user needs is key to building solutions that actively solve users’ problems.
Related Article: Tips to Build a Highly Engaged User Community
Elevate User Voices
There are few better ways to actively solicit user feedback than to create advisory boards that elevate the voices of key stakeholders. Slack has a customer advisory board and a developer advisory board, and we work very closely with each of them to make sure we’re always building for customers first.
Make it easy for your community to give you feedback. Nobody wants to get tagged on Twitter with a story of a disappointing user experience. Instead, create different channels for people to provide feedback. That could be a dedicated email address, user surveys, or even directly in your product itself.
Commit to making the feedback you receive visible across your organization. At Slack, we have a channel called "Customer Papercuts." People from across the company use the channel to highlight minor issues that should be addressed. The submissions are monitored by a cross-functional team with the authority and agility to solve these problems. For example, we received a “papercut” from a user who was having trouble converting WEBP images to JPEGs. Within a day of this issue being flagged, our team made the update. It may seem minor in the grand scheme of things, but feedback large and small can have a big impact on how customers feel about your product.
When you release an update that addresses a customer papercut, it’s a powerful moment. It’s a clear show of faith: your users understand you care about their issues and are excited to be part of a community that advocates for them. But don’t feel like you need to address every tiny issue as it’s reported — we often address papercuts as part of larger projects.
As you collect and sort user feedback, don’t be afraid to segment it into distinct categories. Without some form of standardization, it can be really difficult to discern the signal from the noise. From a development perspective, it’s helpful to categorize feedback into different buckets and explore how different categories intersect. Processing feedback this way makes innovation much easier — helping developers quickly build a clear understanding of user problems and drive action.
Related Article: 6 Questions That Will Get Your Customers to Say 'Ill Be Back!'
Engage Developer Communities
As well as engaging the users of your product, you should also build close relationships with the developer community. Technology moves fast, and when you’re a developer trying to keep up to date on the latest tools and languages, it’s vital you have a community of peers on which to lean.
That’s especially true if your product is one on which developers build. If you don’t yet have a community of developers gathered around your ecosystem, look for them in other places developers interact: platforms like Stack Overflow and GitHub. GitHub in particular is a great place to find product champions and nurture your relationship with them. Some of our biggest community champions open source their projects on GitHub. Stack Overflow is really helpful for tracking questions developers have on a regular basis. Even a subreddit can be a place of inspiration. Without these third party platforms, you may have a harder time discovering champions who aren’t already known to you.
Keep Feeding the Flywheel
Collaboration and innovation are ongoing processes that are central to the long-term success of any company. To keep the innovation flywheel spinning, you need to be continuously taking the pulse of your community: collecting feedback isn’t a one-and-done exercise.
Of course, there will be times when a more linear approach is required. If you’re introducing a major new feature, engage your community early and often. Throughout the development process, create several milestones and checkpoints. These check-ins ensure you’re still solving real problems and building features that will be popular among your users.
Building feedback loops and actively engaging with the wider community that occupies your product’s ecosystem is the key to building great products that are widely used. Do that successfully, and everyone wins; companies, developer communities and end users.