Three Powerful Trends in Application Development
Last February, Playboy Enterprises in Chicago, Ill. made an unpublicized move that didn't make a news ripple. It re-launched PLAYBOY store, and also opened a new store aimed at female consumers, the BUNNY shop. This was the result of a long and difficult decision-making process for Playboy. "They had to decide whether they wanted to market their products or be a technology company," says Richard Lyons of Lyons Consulting Group in Chicago, Ill., who worked with Playboy in the launch and re-launch. "Very interesting question."
Ultimately, Playboy partnered with Demandware of Woburn, Mass., outsourcing their e-commerce development work to Demandware's cutting-edge technology. "Playboy gets to focus on marketing and merchandising," says Lyons. Meanwhile, Demandware's future e-commerce innovations should be spurred, at least in part, by the small percentage of sales revenue it gets from the store.
Three Trends That Will Thrive
To be sure, the software and hardware have been around for years. But the partnership represents one of three business application development trends, all related, that are likely to thrive in the coming years:
1. Software as a Service
Software as a Service (SaaS) can be thought of as a faster, more agile version of application service provider (ASP) technology. It's a concept that's been discussed for years -- Microsoft, for example, has long talked about moving its Office suite online. But with the increasing availability and quick adoption of high-speed Internet access, SaaS' time has arrived for both enterprise (Demandware, Salesforce, which provides CRM applications, and Google Apps for businesses) and consumer (Google Apps) applications. The technology seems poised for rapid growth. (article continues)
2. Self-Service Service-Oriented-Architecture
Another major trend, closely related to the SaaS model, is being built upon service-oriented architecture (SOA). By linking existing chunks of code, each providing a specific function or service, SOA enables enterprises to construct and customize new applications quickly by reusing old code. Rene Bonvanie of Serena Software in San Mateo, Calif., argues that consumer software trends naturally migrate to business and that business users who have had personal experience with Web 2.0 "mash-ups" are looking for the same kind of functionality in the workplace.
For example, a sales department might want to streamline the discount-approval process. By mashing up services from a salesforce automation system, an HR system and a financial system, a sales department can create an application that enables them to see both who's authorized to approve discounts and how such discounts will affect the company's bottom line. "There are a lot of things on the Web that allow me to easily share and create," says Lyons. "Why can't I create an application for a business process and share it with my colleagues with the same ease that I can get a photo up on Flickr and share it with my friends?"
Developers are still needed to build the mash-ups, but development is more likely to take place only within a group, rather than a corporate IT department. "IT has been dealing with very complex applications, massive, very big applications," says Lyons. "That leaves many small, simple applications that have [previously] been untouched by IT that can highly benefit from this approach." Serena has just rolled out an application named Composer that enables this process. Among the clients Serena is working with are Intuit, Thompson Financial and BYU.
3. Agile Development and Open Source
Ken Krugler, the CEO of Krugle, based in Menlo Park, Calif., agrees that quick development is increasingly important. "Ten years from now, the idea of having big, monolithic systems [such as SAP and Oracle] is going seem kind of silly," he says. "It will seem very muscle-bound. There's a trend toward faster and quicker [development] rather than more structure [in development]." (article continues)
Krugler argues that a key to rapid development is the reuse of code and building applications using loosely-coupled components. These components may be exposed or created within an SOA environment. But components in the enterprise will increasingly be complemented by open source software, which may provide functionality that in-house code doesn't or may be technically superior to what exists within the organization.
Open source code is unwieldy compared to SOA. It resides in a multitude of repositories and is rarely as neatly defined as SOA components. That's where companies like Krugle come in. A leader in search-driven development, Krugle can return more relevant open source results than its few competitors because it is able to isolate meaningful function calls and definitions. "You have your bug-tracking system, your wiki, your source code and other data. How do you time them all together?" asks Krugler. The Krugle search engine can find code both inside and outside the enterprise and help developers look at the structure in a way that can also lead to a better understanding of them. Although most companies using Krugle are presently using it only to search code within the enterprise, Krugler emphasizes that search complements SOA and "complements a lot of existing databases and transactional systems, things that help you with software development already."
The More Things Change ...
While the fundamentals of good business software development are unlikely to change, these three trends -- SaaS, self-service SOA and agile development -- are making headway into enterprises and solving compelling business needs. They're likely to be among the most important development trends in the next few years.