Friday, March 22, 2013

Launching Multiple Times is OK! How to Create a Living Product

Developing software today is MUCH different than developing software 20  years ago. Imagine if Facebook was still on version 1 and no new updates were coming out. Do you think it would actually be as popular as it is today?

20 years ago, when you developed software you would print it on a physical unit (floppy disks, CDs, Nintendo cartridge) and send it off, never to be modified again! Bug? Crash? Tough break, better luck next time!

90% Complete? Ship it!

Today, the concept of developing software has changed. Now you take a product that is 90% complete and send it out into the world and continually work on it. And this is completely ACCEPTABLE! Sure, some people complain that they just downloaded something that has bugs in it. But in reality, it's kind of expected because they know that it will be fixed soon (or at least hope it will!).

If you are a consumer and you're reading this, you're probably thinking, "how dare you!!". But as a software developer you understand. The truth is, the consumer ultimately wins in the end whether they know it or not.

Why do we ship a partially complete product?

Because we can. Really. The industry allows us to continually update our products so we're going to take advantage of it! Just like the concept of a living document, we now have living products that evolve over time.

Why is this better?

Software products can now be improved upon over time to better fit the consumer needs. During development, some ideas sound amazing and you get the assumption that there is NO WAY that someone isn't going to like this great feature! Then, after launch day comes and goes, your forums blow up with why this feature is the worse thing in the world, and after hearing all the reasons you realize you agree with them! 1 day later that feature is gone :).

Release soon, release often!

So what should this mean to you as a software developer? Release soon and release often! This is the same concept in business to fail fast. Spending months in a room developing your product is not the way to do it anymore. Work on the base feature set, get it functional, and ship it!

As soon as you initially launch it, you're going to get a lot of feedback from people that don't like your product or think it is missing features. This is what you want! All of a sudden, your customers become your designers and you can focus on building what they want.