Update 15 Sept: At the beginning of September, Google had to pull their Two Factor Authentication app for iOS. After an update the app effectively locked out a large percentage of people out of their accounts.
Updating the app removes all your existing accounts, with users complaining in reviews for the update that they’ve lost their Dropbox, Google Apps, DreamHost, Twilio, Evernote and other tokens after updating and have been forced to sync each over again. It could leave you locked out of your accounts entirely and forced to contact support for a reset, as Dashlane’s co-founder Alexis Fogel tells us is happening with his service, and it’s something that will also result in an awful lot of unnecessary busy work to set up things that have already been set up before.
"If you're not embarrassed by the first version of your product, you've launched too late", once said Reid Hoffman, founder of LinkedIn, supporting the Release early, release often entrepreneurial/software development philosophy.
But we're not going to talk about beta launching software products, we'll now analyze The Big League, those huge companies with hundreds or thousands of engineers and hundreds of millions in revenue which are improving their products by constantly releasing bug fixes.
Why can't Facebook, Twitter, Dropbox, Google and other enterprises just launch “the perfect product” from the beginning? First of all, there's no such thing as perfect software. There will always be improvements to make, especially now, when the web and mobile technology evolves at such a blistering pace and when the end-users' expectations evolve and continuously change, requiring for continuous improvement.
You can test your software as much as you want but if you cannot control the execution environment the chance is that end-users will almost-always find bugs and problems with all the different computer and mobile configurations out there. And that's a good thing as long as you listen to the users, offer customer support and bug reporting options.
As Facebook declares in a message regarding a security bug reported two months ago, "Even with a strong team, no company can ensure 100% prevention of bugs, and in rare cases we don’t discover a problem until it has already affected a person’s account." And we're talking about a company with 669 million daily active users, more than 5000 employees and a net income of $333 million in the last quarter.
A little more than two years ago, Facebook launched its bug bounty program paying a minimum 500$ for every security flaw reported by independent researchers. According to their Disclosure Policy, as an external researcher you should give Facebook time to respond and solve the bug before making any information public. Recently they've just reached $1 million in bounties paid to 329 external researchers from all over the world, the youngest being just 13 years old.
And they were not the first. Mozilla started in 2004 and Google launched its own program one year before Facebook, in 2010. They just announced rewarding more than 2,000 security bug reports with a total of $2 million.
Bug bounty programs proved to be a success and were adopted by PayPal, Dropbox and even Microsoft as they benefit the regular users – enabling them to use more secure and reliable bug free software, the independent researchers – gaining public recognition, monetary rewards and who knows, maybe a job offer, and of course, the companies themselves – that grow their businesses by making their users happier. As a plus, according to a rewards programs research made by the University of California, companies using bug bounty programs are actually saving money!
If we’re about to further analyze how product versioning and releases should work, let’s take Dropbox as an example. It was launched in 2007 and had a serious growth in the last 3 years. From 4 million users in January 2010 it reached 175 million last month. They now have 365 employees according to their website, and their list of bug fixes and updates is quite impressive. Imagine that they wouldn't have made a release of the product until everything on that list was fixed. They could have just kept testing, fixing and again finding new bugs. Trying to build “the perfect Dropbox”, hundreds of engineers would have worked for years, having no real feedback from end-users and no idea if the product would actually catch to the public.
Taking all into consideration, would you like your product on the market, having users and input from them or do you prefer keep the perfect software for yourself and your team?
YOU MIGHT ALSO BE INTERESTED IN
The Essential Role Of Trust In Product Development
As you get ready to build your product, you'll need a team you can trust to take the best possible decisions.