Shipping is the process of sending the completed product to the end-user.
One of the earliest lessons I learned in my career was the primacy of shipping. All your effort was for naught if what you’re working on didn’t ship.
When I was younger, I used to measure myself by the amount of effort I devoted to studying. It was OK if I studied hard and didn’t hit my target. The effort was what counted. While this was a useful mental model to keep me motivated in artificial environments like exams or schools, the real world was different. Society doesn’t care about the amount of effort you put in. It wants results. Nothing else matters.
What this means is that there’s a non-linear relationship between effort and reward in the real world. Shipping beats perfection. The marginal utility of shipping is far higher than that of perfection in most real world situations. Surprisingly, this has also served as a good antidote to procrastination. In the Now Habit, the author mentions perfectionism as a root cause of procrastination. This has been true in my experience where some of my biggest wins came when I stopped trying to be perfect and got things done.
Of course, assuming you want to build great products, improving the process of building great products is important too. As Cal Newport mentions in So Good They Can’t Ignore you, sometimes productivity and craft are in opposition to each other. The focus on shipping a finished product, while valuable, may not strictly align with a focus on craft. i.e. The investment made to develop better products in the future.
Managing craft is a tricky business and I’m still figuring out a strategy for this. For now, I’ve settled on using a personal scrum board to focus on both productivity and craft though it may change in the future. I’ve personally found techniques from Scrum and Agile to be useful in managing complexity, shipping things, and iterating on them. Of course, the true test remains the things I build and their impact.