This blog post is Unfiltered
Within the CI/CD sub-department here at GitLab we've been focusing on improving collaboration between each of the internal teams that contribute to our success as we move through our product process: Design, Product, Writing, Quality, and Engineering. We've noticed a few key points that really seem to make a big difference:
Understand the problem you're trying to solve early
Try to recognize early when you don't understand the problem to solve, or if there's disagreement. And even when you think you have the solution, test it out a bit and explore some edge cases (or you'll have to loop back around again). As an important benefit, a good understanding of the problem to solve will help you come up with the smallest but valuable iteration.
Don't make it one person's job to lead the way or get things started
We expect an active contribution from everyone on the team around defining the problem and coming up with the solution for it. Everyone has an important role to play - Product Manager, Product Designer, Quality, and Engineering.
While Product Managers should be able to clearly articulate why something is prioritized, they should not be seen as the only facilitator of product advancement. It's a team effort, and everyone at GitLab is expected to be a manager of one.
Take advantage of everyone's different expertise
Sometimes, a bit of research will really align to one area of expertise. Maybe there's a business opportunity for the Product Manager, a complex visualization of data for the designer, or a hard technical challenge for the engineer - each of these can cause that person to go off and lead the way for that aspect. But they should have the support of the rest of the group. In all other cases, understanding the problem and coming up with a solution (whether using the product validation flow or just informally in an issue) is a team effort, and everyone is equally important.
Following these principles will help your team both build trust and learn to recognize when more analysis is needed instead of pushing ahead too early. It will also help you to achieve more than any one person can do on their own.
“Collaboration can be hard, but we've found a few tips and tricks that help us succeed here at GitLab.” – Jason Yavorska
Click to tweet