As a software engineering team, we want to solve complex business problems in the most efficient way possible. However, to do that we need to create technical complexity. However, not all technical complexity comes from conscious decisions, they come from the subconscious decisions made through interaction between people and technology. The problem is that when we are tackling technical complexity, we often forget about social complexity. What we need to do is address the socio-technical complexity first!
But how do we tackle socio-technical complexity in teams exactly? The first step is to get to know your context. We need to make sure we understand what we are going to work on and how it will affect all the other aspects of our social-technical systems. Spoiler alert: social-technical complexity will be a huge hurdle. Since as soon as code complexity increases, so does social-technical complexity.
In this session, Kenny and Evelyn will introduce you to the concept of social-technical systems. We will explain what complexity we are facing in these systems like:
The workspace we work in.
The way we interact with each other.
The cognitive biases that are at play during these interactions.
How team topologies affect our interactions and system design.
You will leave this session knowing how to tackle social-technical complexity in your team. You will know how to tackle it with frameworks like Cynefin. Know how to start using visual collaboration tools like eventstorming, impact mapping and maturity mapping and how to improve your team flow with the theory of constraint.