On July 14, Yahoo Inc.'s Flickr unit reported that the latest update to the photo-sharing Web site went live two days earlier with five changes made by two of its developers. The July 12 "deployment" was the 42nd new release in a week where 19 developers made 735 changes.
Such constant tweaking -- called a "perpetual beta" in the Web 2.0 world -- is common for companies like Sunnyvale, Calif.-based Flickr that build applications for a consumer market that's always in flux.
Quick, incremental updates, along with heavy user involvement, are key characteristics of an emerging software development paradigm championed by a new generation of Web 2.0 start-ups.
The new process, which some champions call "application development 2.0," contrasts markedly with the traditional corporate waterfall process that separates projects into several distinct phases, ranging from requirements to maintenance. Nonetheless, application development 2.0 could significantly cut development costs and improve software quality if managers and developers are willing to make some hard changes.
"Sometimes enterprise organizations tend to look at these [Web 2.0-focused] places and say they are not very disciplined," said Jeffrey Hammond, an analyst at Forrester Research Inc. "That is not the case. They have built discipline into the process that allows them to be very reactive -- a [good] lesson for IT organizations."
Based on interviews with analysts and executives of Web 2.0 firms, Computerworld compiled a list of five ways that corporate IT managers can benefit from Web 2.0 development processes. Here they are:
1. Break the barrier between developers and end users, and involve users in quality assurance processes.
Wesabe Inc., which runs a personal finance Web site, doesn't have a formal internal quality assurance group. Instead, the San Francisco-based company relies on users and founder and CEO Marc Hedlund.
Wesabe's developers work with users to come up with new features, and then Hedlund tests them before rolling them out to Wesabe.com.
Hedlund said that before launching Wesabe two years ago, he studied many of the common development techniques put into place by Web 2.0 companies. He said he concluded that applications are inherently built better when developers are not insulated from the people who use their applications. Direct user complaints or compliments are far better motivators for developers than PowerPoint slides with bar charts representing user desires.
William Gribbons, director of the graduate program in human factors at Bentley College in Waltham, Mass., said that large companies can benefit financially by using Web 2.0 techniques to develop applications for employees.
"Companies often think their [internal] applications are different because they're used by employees [who] are compensated for the pain and suffering they are enduring," he said. That pain and suffering, however, can lead to increases in training costs and employee turnover and cut productivity -- all a hit to the corporate bottom line.
Corporate development teams should focus on close interaction with internal users to gather requirements, and to create a controlled, systematic way to observe users interacting with prototypes, Gribbons suggested.
2. Keep it simple.
Although many consumer-focused Web 2.0 applications may seem simple, that simplicity is usually the result of hard work by developers working hand-in-hand with users.
Stan Schroeder, a blogger at Mashable, a social network that follows Web 2.0 companies, noted in a post that developers have begun to understand that it's better to build a very simple service and then add APIs to provide complex services.
"Features, I've recently come to realize, can be obstacles, problems. The more powerful an application is, the more specialized it is, and thus with increased power, its intended audience shrinks," Schroeder wrote.
Many times, traditional enterprise IT shops will identify a need and develop multiple ways of meeting it when the user would be happy with just one way, Gribbons noted. But without constant interaction with users, developers are often unaware of the yearning for simple user interfaces.