In the software industry, our lives revolve around projects. "What project are you working on?" "Are we going to finish the project on time?" "It was one of the best projects I was ever on."
Yet, in a way, a project is an artificial idea. My dictionary defines project as "an individual or collective effort that is carefully planned and designed to achieve a particular aim." That's accurate, but I think there's a better way of looking at what we do.
Every software project I've been on has existed to produce a product of some sort. Those products weren't always sold to customers; one set of products enabled the company to provide a high-end service. Another product supported web-marketing efforts. No matter what, though, the end goal was to produce some sort of software product.
Actually, that's not quite true. Producing software wasn't the end goal. It was the beginning goal. Although we often think of the project ending when the software's done, that's actually the beginning of the product's life. The product is sold (or used), maintained, enhanced. Feedback arrives. Bugs are fixed. The product comes to life.
That's why I'm uncertain about the value of the term "project". Talking about projects encourages us to think in the short term: getting the software done. But there's so much more. Shipping software doesn't finish the software... it starts it.
Rather than thinking in terms of projects, I've come to prefer thinking about products and releases. Rather than talking about the project I'm working on and the tasks it involves, I'll talk about the product and how it's valuable. Rather than talking about deadlines, I'll talk about releases.
I doubt companies will ever stop using the word "project". I'll play along. But when somebody says "project" and "deadline", I'll think "product" and "release".