The paradox [of software development] is that productivity is often at
odds with benefit. Benefit is maximized by taking chances and venturing
into new territory. Productivity is improved by familiarity and
repetition. When we make software into a production-type activity by
“systemetizing” the way we build a certain kind of product, we can get
much better at building products of [...]

In development organizations that sell their products, we often find a
marketing function. Marketing is not the customer of the development
organization, but a surrogate that represents the customer, sometimes
well and sometimes badly. If you satisfy the customers, you don’t really
have to satisfy marketing; but if you don’t trust marketing, you have a
problem.
We create a marketing function [...]