Perpetual beta: continuous improvement or never finished?

By Simon van Wyk

Releasing your new initiatives before they’re actually finished could provide you with a significant competitive advantage -as long as you’re doing it for the right reasons, as Simon van Wyk writes

When you talk about the giants of technology and the Internet, Tim O’Reilly isn’t a name that rolls off the tongue. Bill Gates, Steve Jobs, Jeff Bezos from Amazon and Jim Clark from Silicon Graphics and Netscape come to mind before O’Reilly. But he has been a key figure in the industry since before the World Wide Web existed.

If you walk past your company’s IT department, you will no doubt see some of O’Reilly’s work on their desks. His company, O’Reilly Media, is revered by the computer crowd as the publisher of the most practical technical manuals, easily recognised by their use of lithographic drawings of animals on the cover.

O’Reilly has been a strong supporter of the free software and open source movement, which has meant that although he has helped shape technology over the past 20 years, he hasn’t made a fortune from his genius like some of his contemporaries.

Web 2.0

However, the Irish-American has enjoyed an increased profile in the past couple of years since he coined the term Web 2.0 to describe the transformation of the World Wide Web to a user-driven, continually-updated model of development.

O’Reilly defined Web 2.0 as online applications that offer:

  • Services, not packaged software, with cost-effective scalability
  • Control over unique, hard-to-recreate data sources that get richer as more people use them
  • Trusting users as co-developers
  • The ability to harness collective intelligence
  • The ability to leverage the long tail through customer self-service
  • Software above the level of a single device
  • Lightweight user interfaces, development models, and business models.
  • Perpetual Beta

    One of the key concepts to come from O’Reilly’s work is “perpetual beta”. Wikipedia (which is itself a Web 2.0 application) defines perpetual beta as “a term used to describe a software or system which is always in a testing phase”. Perpetual beta has come to be associated with the development and release of a service in which constant updates are the foundation for the habitability/usability of a service.”

    What this means is that for services that you can receive over the Internet, such as software and ecommerce transactions, new features are added constantly, as opposed to the old model of huge software releases every few years.

    Instead of the Microsoft model, where the company brings out a new version of Windows every three or five years that has a host of new features and has been thoroughly bug-tested, perpetual beta is exemplified by products such as Gmail or Google Maps, where new features are introduced on almost a daily basis.

    As O’Reilly describes it: “When devices and programs are connected to the internet, applications are no longer software artifacts, they’re ongoing services.”

    Jim Morris, on his Software Product Management blog, writes, “When software delivers its service over the web, we can do business differently. The ability to fix the software without distributing updates is helpful. Since interactions between users and servers go over the net, they can be recorded and replayed. All of these things can be exploited to support much better bug analysis and performance monitoring. Software just got easier!

    “An application should evolve to better serve its purpose. So, aside from providing a service that attracts users, it should be gathering information about what else the users might want or need. Thus, the tough decisions that product managers make about which features to include in the next release can be made in a more informed way”. features can be tried on small subsets of users until they prove dependable and popular.”

    Practical application

    That’s fine for technology giants such as Google, Amazon and eBay, but how does this apply to ordinary businesses?

    It means changing the way you think about your customers and how you do business. If there is any service you can provide to your customers online - even in the form of information - you can get it out there straight away. You can also gather feedback easily and immediately, in order to make changes to your products. This could offer a huge competitive advantage.

    However, you have to resist the temptation to just throw something out to your customers because you haven’t put enough thought into it and you want your users to tell you how to finish it.

    In his Signal vs. Noise blog, Web designer Jason Fried writes that the problem with forever keeping products in beta is that it fosters fear among developers that their work will never be good enough to be “final.”

    “I think it’s kind of ridiculous,” said Fried. “I think that people are maybe ashamed of their products and are worried about releasing something that’s not perfect. It feels like it’s almost an excuse. They’re putting something out there and saying, ‘Use this, but if it’s not perfect, it’s not our fault.’”

    Lane Halley, a member of several social-networking services, told Wired that such free services have the prerogative to do whatever they want. But she also argues that companies must be careful with what they make available to the public.

    “The thresholds of calling something a beta have dropped through the floor,” said Halley. “As soon as a company has something they’re ready to show, they’ll put (it) out there…. I think that’s a very dangerous tendency because you end up with products that are not clearly defined.”

    Francesco Mapelli writes in his www.mapelli.info blog: “What scares me is that the use of the term ‘beta’ seems to have misled some companies… giving the impression that they can build buggy services, put a colorful beta logo and think they are cool and ’so Web 2.0′.

    “The architecture of a service can be in perpetual beta, because users can provide important feedbacks and feature requests, and companies should add and remove tools and services depending on the feedback and their interests. What can (and should) be in perpetual beta is the way small pieces link together, not the small pieces itself.

    “Web 2.0 is like LEGO. You have small, simple and colorful pieces, and you build platforms and services with this pieces. You can build something that changes every day, but the small pieces you use must be solid.”