In software as a service (SaaS), we are continuously enhancing a service delivery system. We deliver valuable services using humans and machines. Every day, we work to make the system smarter, faster, and more reliable. Code is scripted service design. Features and products are temporary delivery mechanisms (like amusement park rides, or dishes on a menu).
Customers rent access to the system. Sure, they make an initial decision to buy. And may buy based on certain features. But once the pixels on the contract settle, the relationship really starts. We are the customer’s shrink, lawn-service, accountant, analyst, concierge, researcher, and coach…for hire.
It is an illusion that we “ship” or “build” anything. Software is rebuilt constantly. Technology shifts constantly. Our work isn’t additive (like a perfect Mona Lisa, painted iteratively). Every day…humans and machines show up to work, and do their job. We can (and should) tear things down and start over. How we operate and what we subtract and refactor, is as important as what we add.
So what? It’s not a left-to-right game of delivery. The health of the whole system matters. Our ability to adapt and continuously improve the system matters. Humans AND technology matter. You’re never done, regardless of what Jira says. If you’re done, you’re a zombie (or dead).