Gone are the days where you wait months and years before you ship this huge piece of software. In is the idea of shipping early and often.
The core belief behind shipping early and often is that incremental improvements matched with customer feedback makes great software.
In this post, I want to examine this concept a little further and share some things I have learned as I have begun to embrace shipping early and often.
Shipping Early Forces Focus
Shipping software comes with great responsibility. I am not endorsing an idea where we all begin to ship half-baked and broken features. This is not a license to ship buggy, frustrated software but it does force you to balance that last “10 percent” for a feature that solves a problem of your users right now.
If you decide to ship a piece of software “early”, you must identify and focus on core features. Because your iterations will be small, building core features that solve real problems is imperative.
Shipping early requires you to focus on features that matter to your customers. Customers are okay with software that feels “incomplete” if it solves a problem of theirs, day one.
Shipping Often Projects Ownership
The best software is built by people who are invested. Contrast that with the worst experience a customer can have is the feeling of abandonment.
You will earn a lot of trust and patience when it does not take years for you to deliver new, better or improved to your customers.
Your customers have been burned in the past and they are looking for a reason not to trust you. Shipping often tells them that you are committed to making the product the best it can be.
Updates Become Transparent
Shipping early and often sets a pace and informs your customers. It tells them that value is greater than version.
I just checked the version of Google Chrome I am running, it’s Version 27.0.1453.116 m. What does that tell you?
For me it says that Google is not as focused on 1.0, 2.0 but they are focused on getting the product right. As they continue to tweak, fix, implement they are doing this at a pace where the version does not matter as much, it’s the value the customer is experiencing.
Are you too caught up in versions and trying to cram as many features into a release as possible?
Doing so may feel “complete” but you are also setting yourself up for a potential communication nightmare, not to mention the possibility of introducing a lot of bugs at once. Speaking of communication…
Communication Is Required
As creators of software, I like to also think we are curators of a greater story being told and with this comes great responsibility. If you are iterating fast, it is important that customers are not left behind.
If you are focusing on core features and not just every “whim” then you are on your way to making sure this does not happen. Communicating change and updates becomes a necessary tool in your belt that you must wield. Your company’s blog just became important.
So where are you at in your creative journey? Are you stuck creating monolithic releases or are you iterating fast? No matter the side, we have a great responsibility.