One of the memes going around these days is the idea of "the business." "Software engineering is about serving the business." "I don't know, let's see what the business wants." It's a contrast point: engineering is the people sitting in the darkness producing product; and the business is people who know what should be done and who bring in the revenue.
Now, I hear a bunch of you protesting that engineering isn't monolithic. We have developers and testers and operations people and managers! Guess what? The business isn't monolithic, either. You can't actually ask "the business" for advice. You can't expect guidance from "the business." You can get guidance from sales, or from marketing. You can get your paycheck from finance or HR (yes, please!). You can tell upper management that there is risk in some area.
So what do we really mean when we say that engineering serves the business?
We mean that the company isn't about software, even if it's a software company. The company is about producing revenue by providing a product or solution that fills a market need.
Everything we do is ultimately pointed toward that goal. And that goal is driven not by engineering but by the people who understand the market need and the benefits that our solution provides to fill that need. That means marketing and sales - people who are out there looking at the market and talking to customers - are the ones who directly achieve the company's goal. Engineering's job is to actually build the product or solution. And in that sense, engineering should be listening to other parts of the company.
We're just starting to see a wave of thought in engineering about working effectively with the rest of the company. For now, we can call that "the business." But keep in mind the ultimate goal: fill a need and make some money doing it. Listen to and work with the people who know how to achieve that goal - engineering will be better for it.