Yahoo’s Flickr unit reported this afternoon that the latest update to the photo sharing Web site went live just before 5 p.m. with 9 changes made by three of its developers.
The “deployment” was the 36th new release in a week where 627 changes were made by 21 developers.
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.
The 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 startups.
The new process, which some champions call application development 2.0, contrast 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 bring significant benefits to corporate IT shops if managers and developers are willing to change.
“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 Cambridge, Mass.-based Forrester Research.
“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, we compiled a list of five ways that corporate IT managers can benefit from using Web 2.0 development processes. They are:
1. Break the barrier between developers and end-users and involve users in quality assurance processes
Wesabe, which runs a personal finance Web site, doesn’t have a formal internal quality assurance group, instead relying on users and founder and CEO Marc Hedlund.
Wesabe’s developers work with users to come up with new features, and then Hedlund tries to break them. If he fails, the features are quickly rolled 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 users of their applications.
Direct user complaints or compliments are far better motivators for developers than a screen in a meeting room displaying faceless bar charts listing user desires.
William Gribbons, director of the graduate program in human factors at Bentley College in Waltham, Mass., said that large companies could 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 boost 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, he suggested.
2. Keep it simple
While 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 one, Gribbons noted. But without constant interaction with users, developers often are unaware of the yearning for simple user interfaces.
3. Stick to the script
Web 2.0 companies are partial to dynamic scripting languages like Ruby, Python, Perl, and PHP, finding them better choices for their projects than Sun’s Java or Microsoft’s .Net.
Forrester’s Hammond noted that once developers become proficient in one of the dynamic languages, they can build new applications quickly — 30 to 40 percent faster than with Java or .Net.
More than half of all North American developers are using scripting languages to some degree, according to a December survey by Evans Data Corp., a Santa Cruz, Calif., research firm.
While more than half of those developers now use scripts less than 20 percent of the time, both the total number of developers using scripting languages and the amount of time spent will likely increase over the next year, according to the Evans survey.
4. Release early and often
San Francisco-based Wesabe, like Flickr, updates its site often, usually several times a day. The constant interaction with users usually provides Wesabe developers with almost immediate notification of bugs, Hedlund noted.
In addition, Wesabe and many other Web 2.0 companies run so-called “shadow apps” of their sites, which are used to determine how users respond to specific feature updates. A report compiled by the shadow application could show, for example, how often users log off the site or whether the amount of financial information uploaded by users has dropped.
Recommended Reading’s Mixx.com social news site, which allows users to submit and rank news items based on votes, is also updated far more often than traditional IT applications — about once every week or two, said CEO Chris McGill,
In fact, “long-term” for Mixx means a product roadmap that stretches out only six months, said McGill, who founded the McLean, Va., firm in 2007 after stints as general manager of Yahoo News and vice president of strategy at Gannett Co.’s USA Today newspaper.The Mixx.com development team, which meets daily to discuss the previous day’s work, uses the Scrum agile development method.
5. Let users, not developers, determine new features
Top Internet companies like Amazon and Google release new features to small subsets of users and then compare their feedback to a control group.
The companies say the method provides much better validation for new features and products than customer surveys or even discussions between users and product managers.
Mixx.com hopes one day to follow the same process, McGill noted, while adding that it has already moved to take advantage of a community formed by its users. Mixx uses the community as a “24/7 focus group” to bounce ideas off its members, he added.
IT coming onboard
While most large companies are unlikely to flock quickly to the Web 2.0 development techniques — and some applications would not be a good fit for this methodology, observers noted — some are starting to realize their merits, according to a July 1 TopCoder Inc. survey of more than 1,300 developers. The Glastonbury, Conn. firm asked the questions — compiled by Computerworld — to developers taking part in a recent TopCoder online coding competition.An overwhelmingly majority (70 percent) of developers surveyed agreed that traditional corporate development teams could benefit from Web 2.0 techniques, specifically the incremental feature release, quick user feedback loops and quality assurance programs that include users.
What’s more, 57 percent of the respondents said that problem solving and analytical skills will be key requirements for next generation developers while 18 percent cited the need to work with online communities. Meanwhile, 24 percent said that code generation is the key long-range development skill.
Gribbons said that the corporate use application development 2.0 techniques – especially the focus on the user — could be critical to stemming the number of IT development projects that are scrapped before completion.
“No other industry would accept a failure rate that we have in our industry,” he said.