The house with many rooms

The Philosopher Developer

August 26, 2018

Note: this post was published in 60 minutes.

There's an analogy I've used many times to describe Bitbucket, both to my team as well as to outsiders. It works for Bitbucket but I think it works for plenty of other software projects I've worked on, and even for everyday life. Anyway, the analogy is this: Bitbucket is like a house with many rooms and only a small staff to maintain it. Some of the rooms are neat and tidy; but given the limited size of the staff, many of the rooms are a total mess.

When you first join the staff that maintains this house, you don't have much context. You may have seen the house before. Maybe you've even been inside it for a social event, in which case you've probably seen the dining room, the living room, perhaps a bar area or a study. But you haven't seen the attic, the cellar, many of the storage closets, etc.

So in your first few weeks, you find yourself discovering some of these rooms you've never seen before, and they're messy and in poor condition, and you think, "How is this house still standing? It is being so neglected!" If you're easily discouraged, this is probably about the time you start looking for a new house. But if you're more of a roll-up-your-sleeves type, you just might start looking for ways to make things better.

The truth is that most of the staff were in your same shoes when they joined. What most of them have done is come to the conclusion, "I can't maintain all of these rooms. I will pick 1 or 2 and look after them." And so the reason that the dining room is kept clean, and the living room is well maintained, is that these are the rooms that the staff have determined to be the most important. The storage closet with the brooms and mops—i.e. those places where guests never set foot—not so much.

The reason I said this analogy works for everyday life is that this really is true of so many things: from the outside, things appear orderly; but from the inside, you can see the chaos. It's true of software projects, it's true of companies, and it's true of people (ever notice how all of your acquaintances seem to have everything together, but your closest friends and family are always dealing with some sort of drama?) and their lives. And it is precisely because most of us prioritize those parts of our lives and our work that are visible from the outside.

I should clarify something. I recognize that this analogy could easily be misconstrued as: Everything's broken and you're never going to be able to fix it, so just accept it. That's not my point! The point of the analogy is this: when you find a messy room, don't assume it's because the keepers of the house are lazy, or disorganized, or don't care. Acknowledge that it's a big house. Take the time to explore it and see for yourself which rooms get the most use, and which are well kept (you should see a correlation). After a while, you will start to get a feel for where you can make the biggest impact.

And when you've reached that point, all that's left to do is to grab a broom and get to work.