Software is a House: Unveiling the Parallels Between Product and Property

Written by ryanray | Published 2023/06/22
Tech Story Tags: software | product | software-development | product-development | software-architecture | product-strategy | software-design | software-engineering

TLDRSoftware Is a House** is an analogy-precariously stretched thin and overextended. It's as if my daily considerations and conversations with engineers and clients were a mirror in some strange sci-fi episode of black mirror. There are tasks that fill our board across categories like maintenance, broken windows, foundational updates and refactors. Prioritization requires a careful calculus that is ever-changing.via the TL;DR App

Software Is a House

When asked what I do for a living, past the initial response I give describing the product I work on, I often fall back on the common “home building” analogy for building. Now having owned a house for a few years, I can incorporate the endless and incessant barrage of micro decisions and adjustments that comes along with home ownership into my comparison. What follows is that analogy-precariously stretched thin and overextended.

Even more complex is the model, after all, when one must operate with cinderblock constraints, a race condition in legacy electrical troubleshooting, or prioritization decisions requiring a delicate balance of refactoring legacy architecture, fixing a broken window, or upgrading the user interface with a fresh coat of paint - all on a limited budget of course.

The similarities in the business decisions, marketing, user experience, and resale value all seem so pertinent as I sit at my house, in my remote working environment, intermixing my day job with the business of running the household.

Small Feature - Big Complexity

Take, for example, a simple request or desire to add a seemingly small feature. In our home, let’s call that feature a light over the living room table. At first glance, this would seem like a straightforward request. In fact, we’ve purchased the light and designed part of the room to complement its mid-century aesthetic on that assumption. We’re part of the way through the project and it would be nice to get it over the line. However, it turns out that in my ceiling there is a network of hidden water pipes providing radiant heat to the entire first floor. We know this because the last time we attempted to add a light we hit one, which promptly ballooned our estimate on the level of effort and cost by 500%.

So, this time, after some retrospective reflection, we were determined to take a more measured approach; we purchased some extra tooling and took time to investigate with an infrared camera allowing us to map out where the preexisting architecture exists. Turns out the pipe runs EXACTLY through the point we’d like to install the light. I’d like to wait on the install, therefore, until at least all the related issues and refactors in the house are being addressed in proximity so that we can create some engineering efficiencies, but my wife, the most important client, wants this feature now.

The contractors on the other end of the spectrum would like to abandon my ceiling radiant heat completely and start over. “It’s a waste of money and why add on top of something you may throw away anyway,” they say. It’s as if my daily considerations and conversations with engineers and clients were a mirror in some strange sci-fi episode of black mirror. Sadly – there is no closure on the conclusion of this enhancement request. Though, spousal churn is not something I can afford. She is quite valuable to me and happens to be bringing more end users to the platform as we speak. Maybe I’ll put the light up after all.

Prioritization Calculus and the “Golden Ticket”

These requests and enhancements don’t happen in isolation of course. There are tasks that fill our board across categories like maintenance, broken windows, foundational updates and refactors. Prioritization requires a careful calculus that is ever-changing and depends on deep

knowledge of a host of inputs including:

  • Purpose/Value add
  • Urgency
  • Dependencies
  • Cost and cost structure
  • Level of effort

Sometimes, though, you happen upon something that checks all the boxes in one go and creates efficiencies in other work while improving the foundations of the home. The “Golden Ticket” if you will. It will simultaneously provide end-user delight but fits within a perfectly aligned sequence of projects where there is an immediate and measurable short and long-term benefit. This is a space I revel in when we come upon it, as any homeowner would.

A recent project of ours like this was to install a water filtration device and water softener. The filtration system will take out the poisonous arsenic from our well while the softener will ease the strain on all the pipes in the house. We’ve been told it will also save us money on heating bills (you’ll recall we have radiant heat), and apparently give us silky soft skin. What was our short-term delight? A lovely little user experience we make use of daily in the form of a dual-handle instant-hot faucet. Fresh 200° water on command with one lever, and extra-super-reverse-osmosis filtered water on the other.

The Other Tickets Are Essential Too

Not everything needs to, nor should it, exist in this perfect space of checking all the boxes. Sometimes you need a quick fix or user experience update. Because there are little joys in the small stuff, even if it doesn’t make long-term sense. Sure, I’ll be tearing out our 70-year-old bathroom walls in the coming months, (if other projects don’t get in the way) but having a broken towel rack is immensely annoying. Just, fix the dang towel rack.

Other times you need to bite the bullet and wait in favor of the important though non-urgent and completely invisible projects. A fresh coat of paint in a room can really brighten up and change the feeling and experience. Buuuut it’s more time-consuming and expensive than one might imagine. Likely not worth it if the whole wall is coming down in a matter of months due to wrap-around basement waterproofing. Completely invisible to the eye but essential for long-term structural integrity.

The Core Necessities

What has become clear in my house, just as in our software, is that what is necessary to make the best decisions for our users is quality user feedback to inform your approach, a solid long-term vision with an executable plan, and a trusted team of experts that are heavily involved in the process. Also, CASH, you need cash. Without any, you’re not going to be able to take critical opportunities in front of you to ensure long-term sustainability. With too much, though, you’re not forced to consider projects more carefully and may suffer from bloat and waste, stifling innovative thinking.

The Winding Road

We had grand plans for a kitchen renovation. While I would have loved to see that project come to fruition, we have pivoted. It has been put on hold in favor of onboarding our new user with very special requirements for an entirely new room. It makes both the new user and our most important client happy while increasing value, creating efficiencies, and doing some big refactors.

Everyone’s happy and I can revel in the decision being a good one all around.

It’s not always the case that things turn out the way you imagined, in the time you imagined it, but with a retrospective approach and an ambition to provide for those you care about, great things can be accomplished. Here’s to your home and software being a wellspring for good and a fulfilling, albeit challenging, source of satisfaction.

Also published here.

Lead image by KapwingAI art generator.


Written by ryanray | Chief Technology Officer - US Squash and Club Locker - Sports Technology & Non-Profits are my jam
Published by HackerNoon on 2023/06/22