What is collaboration?
What is collaboration, from Wikipedia:
Collaboration (from Latin com- "with" + laborare "to labour", "to work") is the process of two or more people, entities or organisations working together to complete a task or achieve a goal.
For software engineering teams, collaboration is usually between team members and teams. Why do we need to collaborate? Well, due to our systems being complex, which leads to interdependence. From Nudging and Boosting Complex Systems:
With no one person being able to know everything and handle everything with our software systems leads us to work in multidisciplinary teams with the hope that all these different disciplines will understand the system. This results in our team members becoming interdependent and needing the support of each other to build and maintain their part of the system.
The problem with complexity is that the chances of things going wrong are much more likely due to all the uncertainty and potential volatility it can cause. One of the best ways to work through that complexity is to work with others, and together, you can find new ways to move forward by supporting each other to achieve your goal.
The benefit of collaboration is that it allows us to learn more effectively from each other. Which helps us improve our skills and abilities as we do the work. Enhancing our capabilities to do the work helps us lower the complexity, leading to a virtuous cycle of improving our environments and making our socio-technical systems healthier in the long run.
We're not always collaborating when we think we are
From my experience, we often think we're collaborating when we are not. I've seen people describe collaboration behaviours ranging from sending emails with details, picking up work off a backlog and passing it on to the next person, all the way to setting up in-person workshops.
The problem is that some people see all these behaviours as collaboration and think they will result in the same outcomes of true collaboration, such as a shared understanding and improved skills.
We need a better understanding of what we are doing to head towards more effective collaboration. To do so, we must recognise that collaboration is much more nuanced and falls on a scale. From cooperating by making information available to full-on collaboration. To develop this understanding, we can use the scales of collaboration, which can help people see how they work together and what types of outcomes it is likely to achieve.
Scales of Collaboration
Inspired by the work of Bruce B. Frey et al. 2004, Measuring Change in Collaboration Among School Safety Partners. This scale was initially developed from the Levels of Community Linkage Model (Hogue, 1993). Unfortunately, I've been unable to find Hogue's original paper; only references to it. But was initially developed as a questionnaire to measure how well groups collaborated.
The scale ranges from 0 to 5, with each level having a defined set of characteristics. Where 0 is no interaction at all, and 5 is collaboration with each level building on top of the previous one.
When applied to the collaboration statements above, you can see that example 1 (sending an email) is providing information but isn't asking them to do anything with it, so is level 2 - Cooperation. Example 2 (picking work off a backlog) is Coordination due to sharing resources but operating independently. Example 3 (workshop) would be somewhere between levels 4 - Coalition and 5 - Collaboration, depending on how the workshop is facilitated and the outcomes they are trying to achieve.
By seeing where you currently are on the scale, you can see how you could move up towards greater levels of collaboration. But we also need to recognise that all the improved collaboration comes with some trade-offs, such as slower decision-making speed.
Characteristics of collaboration
I have further augmented the scale with a few extra characteristics to help you determine where you are on that scale and what you are trying to achieve. Such as:
How do you make information available to others
Consumer/provider interaction model of this information
Speed of decision-making
Engagement levels of the people involved
Examples of what each level of collaboration could look like
I've also left off level 0 on this diagram as that would indicate no interactions and possibly not even awareness of one another.
How to use the scale?
Establish where you are on the scale.
You could see if what you are doing fits onto the scale based on its characteristics or if it looks similar to the examples on the scale provided
Where do you want to be on the scale?
The best way to do this is to identify the outcome you are trying to achieve based on:
The information: Is it simply information providing, an opportunity to get feedback or to change opinions/direction?
Decision Speed: How quickly does a decision need to be made?
Engagement: If something needs to change due to that information or decision, then there will be a greater need for engagement
How will you move up (or down) the scale?
Use the characteristics on the scale as possible things you could do to move to this level.
Share the scale with the people you are trying to collaborate with.
Sharing the scales creates a shared understanding of what collaboration means to this group. Helping everyone involved understand what will be expected of them and what overall outcomes everyone is trying to achieve.
If you have already started working with people, avoid jumping straight to where you want to be. The risk is that it doesn't lead to the collaboration you anticipated, which could make it much harder to convince those people of your collaborative efforts in the future.
I prefer to use each stage of the scale as a stepping stone to the next. This way, you iteratively build up your skills and approaches towards getting more of what you want and less of what you don't. Taking a more iterative approach allows more room to tweak the process as you get feedback and are, therefore, more likely to be successful in the long run.
Conclusion
Helping people understand how they are collaborating, and the problems this may cause can help them see other ways of improving it, which will have a knock-on effect on improving the process. Both of these will have a long-term impact on making the socio-technical system healthier. You may even decide that your current position is sufficient for the level of interaction. At this point, you could identify what shortcomings could result in working at that interaction level and if the team needs to implement any mitigations.
By having a more nuanced understanding of collaboration via a scale, you can start to work on how you can build quality into people and the processes.
🔓This is a free post, so feel free to forward it to people you think might benefit from reading it.