Have you ever participated in a hackathon or ideathon, tasked with the goal of sparking innovation or tackling a thorny problem? As exciting as it sounds at first, have you ever come away feeling as though you were provided neither enough time nor resources to actually accomplish anything substantive?
At Doximity, we’ve created the concept of co-opetitions—also known as co-ops. Instead of being limited to a particular day or week, we go all in. Co-ops are a longitudinal exercise (think months vs. days), and we expect them to take up around 20% of participants' overall workload during that time. Co-ops aren't just about coming up with new ideas; they are specifically designed to provide the time and resources needed to implement those collective brainstorms into software; to experiment, measure impact, and iterate.
To kick off a co-op, elected captains form small teams of 6 or so. Depending on the needs of their particular goal, teams are designed to be multidisciplinary and self-sufficient; ideally encompassing engineers, QA, product, analytics, marketing, and design. Teams then brainstorm ideas together and develop a roadmap to track their progress. Each team is also assigned a coach, generally a key stakeholder who can provide feedback and help with overall direction over the following months.
Because teams are made up of members from across the company, co-ops give participants a unique opportunity to meet and collaborate with others, as well as to learn and work in areas of the codebase they might not otherwise. This structure allows for fresh eyes on existing products and promotes a bond between team members that lasts well beyond the end of the quarter. As a result, co-ops have been a massive success at Doximity over the years and remain a crucial part of our culture.
Interested in implementing a co-op of your own? Here's a helpful framework to follow.
Co-ops are a perfect opportunity to test bold new ideas and take calculated risks to solve old problems, so don't hold back! Have fun with it. To facilitate quick iteration, try to envision and reduce barriers as much as possible. At Doximity, we have an infrastructure of feature flags, A/B testing, and analytics available to each team. These tools not only provide visibility and feedback, they also prevent teams from running into each other, presenting the same users with multiple new features at once, and making it tough to discern which initiatives actually made an impact.
To be clear, this is not an opportunity to become lax on engineering principles. Maintaining a consistent and quality experience for users is paramount. All co-op code changes are still rigorously reviewed and tested, product teams are consulted, and coaches are kept in the loop. But the very nature of these small, focused, self-guided, and contained teams empowers faster, more targeted changes than what is normally possible in a traditional product cycle.
Make it Measurable
Be specific in the problems being tackled and make success measurable. Think less of abstract concepts such as "Improve searching for articles on our website," and instead focus on concrete goals such as "Increase the number of users who have tried out our new article preview feature by X." Having clearly defined problems to tackle will ensure proper scoping and mitigate the potential paralysis of a blank canvas.
At Doximity, we’ve developed a dashboard that updates every day, allowing each team to see their progress throughout the co-op as well as how it compares to other teams. It's a great motivator, and there's nothing quite like shipping that new idea and watching your results move up and to the right.
Ask for Feedback
Don't be afraid to get users involved! Co-ops are an excellent opportunity to engage with your user base to test out new features and gather feedback. We’ve received some incredibly valuable insights this way, helping to steer our direction or validate our assumptions. When users are brought into the process, it eliminates the need to guess what new features will be beneficial to them. Ultimately, collaboratively building useful technology that improves and enriches others' lives is what co-ops are all about.
Make it a Friendly Competition
Good teamwork and the free sharing of ideas is the cornerstone of healthy engineering culture. But who doesn't like a little friendly competition every now and then? Up the stakes and add some extra motivation by letting teams working on the same goal compete against each other to see who can move the needle the furthest. Sometimes the most out-of-the-box thinking happens when you’re able to separate yourself from the external influence of others’ ideas. If multiple teams independently happen to arrive at the same solution, you might just be on to something.
Once the friendly competition has come to an end, gather everything you've learned and create a space to share it. Discuss which ideas and strategies were most successful, least successful, and what each team might do differently next time. Celebrate the accomplishments and document everything. But don't stop there; push your learnings further. Take the ideas with the most potential and test them on a larger scale, letting them inform broader product direction. This is to the benefit of everyone. After all, co-ops are not just about winning. What's most important is everything you learned along the way.
Ultimately, every organization has its own structure, product life cycles, and development processes, so feel free to customize your co-op in whatever way makes most sense to you. Sparking innovation is difficult work; especially while balancing long-term projects, organizational goals, and the maintenance of existing products. However, what we have consistently found through our co-ops at Doximity is that if you are willing to invest the time, provide the necessary space, and do some planning up front - incredible results can be achieved.
Thanks to Ronnie Shapiro for the illustrations.
Be sure to follow @doximity_tech if you'd like to be notified about new blog posts.