Download Session PDF
Date & Time
Wednesday, June 5, 2024, 11:30 AM - 12:30 PM
Location Name
Seminar 3
Name
Critical Junctures in the Design of Software Systems: How to Avoid Getting Locked into Inferior Trajectories
Description

In this presentation, I will explore one answer to the question of which issues deserve more upfront planning in Agile. The core argument revolves around the concept of critical junctures, which refers to those decision points that put us onto different trajectories, some more and some less desirable. I will then discuss some of the main causal mechanisms that work to increasingly lock us into a given trajectory. After going through a number of examples from the world of data and machine learning systems, we will then look at a number of ways to avoid these pitfalls. In the last section of the talk, I will investigate how the level of a team's investment into engineering practices can similarly lock the team into different trajectories that I call the "high road" and the "low road". Like for critical junctures stemming from technical decisions, I will show how a team's approach towards solving problems becomes increasingly self-reinforcing, and what we can do to prevent teams from getting stuck on the "low road".

Thomas Loeber
Track
Engineering
Keywords
software architecture, agile architecture, evolutionary architecture, software engineering