Yahoo's Flickr unit reported recently that the latest update to the photo sharing website went live just before 5pm with nine 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 Flickr, which 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 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 bring significant benefits to corporate IT shops if managers and developers are willing to change.
"Sometimes enterprise organisations tend to look at these [Web 2.0-focused] places and say they are not very disciplined," says Jeffrey Hammond, an analyst at 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 organisations.
Based on interviews with analysts and executives of Web 2.0 firms, Computerworld US 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 website, 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 says that before launching Wesabe two years ago, he studied many of the common development techniques put into place by Web 2.0 companies. 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, says 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 realise, can be obstacles. Problems. The more powerful an application is, the more specialised it is, and thus with increased power its intended audience shrinks," Schroeder writes.
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 says. 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 notes that once developers become proficient in one of the dynamic languages, they can build new applications quickly — 30% to 40% 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, a research firm.
While more than half of those developers now use scripts less than 20% 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 notes.
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, says CEO Chris McGill.
In fact, "long-term" for Mixx means a product roadmap that stretches out only six months, says McGill, who founded the firm in 2007 after stints as general manager of Yahoo News and vice president of strategy at Gannett'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.com 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 notes, 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 adds.
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 note — some are starting to realise their merits, according to a recent TopCoder survey of more than 1,300 developers. The researchy firm asked the questions — compiled by Computerworld US — to developers taking part in a recent TopCoder online coding competition.
An overwhelming majority (70%) 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.
Also, 57% of the respondents said that problem solving and analytical skills will be key requirements for next generation developers while 18% cited the need to work with online communities. Meanwhile, 24% said that code generation is the key long-range development skill.
Gribbons says 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 says.