And I am not talking about the OS.
(What a bad joke, I will understand if you decide to stop reading right here)
I was introduced to the concept of broken windows a few years ago while reading the pragmatic programmer. Here is the link to the explanation.
Some of my highlights from the article:
“One broken window, left unrepaired for any substantial length of time, instills in the inhabitants of the building a sense of abandonment—a sense that the powers that be don’t care about the building. So another window gets broken. People start littering. Graffiti appears. Serious structural damage begins.”
“Don’t leave broken windows (bad designs, wrong decisions, or poor code) unrepaired.”…”Take some action to prevent further damage”
Until now, I only observed broken windows within code or designs. But the same concept applies to team as well.
It’s all small things that you don’t notice at first. But then one day you realize that the team is getting sloppy or lazy about their practices (members avoiding pairing, poor story selling, less collaboration, etc…).
It only takes one member of the team do abandon a practice for the rest of them to follow.
So what to do? Talk about it? Hold a retrospective? Re-print the posters that displays our team values? All of the above?
Broken windows in teams seem a lot harder to fix than broken windows in code. But most of time, a team without broken windows in their behavior is a team without broken windows in their code.