The art of social dynamics in software development (and how to benefit from them)

Identify, recognize and act upon some of the most influential social dynamics and let them improve your software/products.

Workshop/presentation

Abstract

Every architecture that we design, every line of code that we write is a reflection of human behaviour and interaction. Social dynamics such as communication, value congruence, feedback loops, biases and stereotypes have a huge impact on everything we develop and deploy - if your organizational structures aren’t optimal, your software won’t be optimal. Knowing which mechanisms (unconsciously) shape your behaviour will make you an even better socio-technical architect or developer. In this talk, we’ll take a closer look at some of the most influencing social dynamics and how they are affecting your work so you’ll be to identify and act upon them to improve the quality of both your team and products.

Audience background

Anyone from developer to CEO to marketing who knows that software development is a socio-technical discipline and wants to know how to improve both the team and software/products by understanding and act upon the most influential social dynamics in software development. This workshop does not require any prior knowledge of behavioral science or social psychology.

Benefits of participating

After this session, you’ll know what mechanisms are shaping your behaviour and how it affect your coding. You’ll have a better understanding of team dynamics and how you can actively steer on them to improve individual developers/team members, the team as a whole and your code/product.

Materials provided

Slides, notebooks to draw on

Process

The session will start with an introduction with examples of how social dynamics are influencing software projects. We will discuss how to balance socio-technical complexity by discussing both sides of the story: how to build maintainable software and how to build effective software teams. After that, we’ll dig into some social dynamics including biases, stereotypes, value congruence, and feedback loops. We’ll go into a bit more depth around feedback loops, including an exercise to sketch personal feedback loops to see where it gets challenging. We’ll wrap up with a couple of best practices to start working on right away.

Detailed timetable

Introduction
Balancing socio-technical complexity - why?
Building maintainable software and building effective software teams
Social dynamics at play
Biases & stereotypes
Conway’s Law
Value congruence
Sunk-cost fallacy
Feedback loops (exercise)
Best practices - how to take advantage

Outputs

Follow-up email with summary/lessons learned and links to related interesting content.

History

Talked about this socio-technical theme in different forms at several conferences, including:
CHASE, ICSE workshop 2015
O’Reilly Software Architecture Conference, London, 2016
O’Reilly Software Architecture Conference, New York, 2017

Presenters

  1. Evelyn van Kelle