Why Should They Care?

There's a nice little post over at Very Fancy whose insight is worth your click: Users Care about Software Design

There are a lot of things that we do, as developers, that we tend to feel are very important. A lot of these activities are often viewed by "business people" as a necessary evil, a cost center, symptoms of the finicky nature of perfectionists, or even a distraction to be minimized.

I think in reality developers, even experienced ones, tend to do a very poor job of defending our practices in terms that make sense to anyone else. I think it's an easy argument to make that, generally, carefully built software is more valuable than hastily built software. But software is also not valuable unless it is marketed, sold, delivered, explained, and supported. The tool for coordinating these things is called a business. And in business most questions are ones of degree. To misquote the apostle Paul, all things are possible, but not all things are profitable.

In a business, we are all supposed to be working toward a common goal. If you're lucky, that goal is not just to make money, but to actively improve the world for your customers. Even in that wonderful scenario, the software you deliver is meant to contribute to one of those goals, at least indirectly.

The unfortunate thing about indirect contributions is that they tend to be invisible to everyone who hasn't been involved in them. If you have a good manager, they might be able to make the connection for others on your behalf. But you won't always, or probably even usually, have a good manager. So in the end it's no one's responsibility but our own to defend the activities that we know are important, by explaining how they contribute to the common goals of the organization.

There's a line connecting what you do to why it's worth other people's money for you to do it. You can see it, implicitly. But sometimes you have to draw that line in nice fat marker for other people to see it.