The current economy has created a need for more nimble enterprise application development. In a new Forrester Research report detailing changes in application development for 2010, authors Mike Gualtieri, John Rymer, and Jeffrey Hammond recommended ways for companies to set themselves up for growth as the economy recovers.
The report says that companies will not want to miss the emerging benefits of cloud computing, so suggests cloud adoption if only at an experimental level. It also recommends that enterprises embrace leaner development by using multiple lightweight platforms, each selected to meet a specific development need, rather than staying loyal to a single commercial platform.
SearchSOA.com's Rob Barry recently spoke with Gualtieri about some application development trends for 2010.
Rob Barry Your study recommends "embracing cloud as an early-stage platform." Does that mean companies should start prototyping cloud apps even before they would be able to approve deploying them?
Mike GualtieriI think first it's about understanding what the cloud means to application development. Cloud really started as an infrastructure – it's a way to buy infrastructure. But what are the application development implications?" just because you bought can buy 1,000 instance at Amazon doesn't mean that the application you developed can scale successfully on those thousand instances.
Part of it is just understanding what application developers have to do differently to deploy applications in the cloud. We find that a lot of companies are using it as a testing platform. Many companies for many reasons aren't yet willing to deploy their applications in production on the cloud but they're much less reticent about using it as a test platform. That's a great way to get your feet wet.
Rob Barry Lightweight application frameworks like Spring and Flex are hot. How easy is it for the average enterprise to switch from a commercial product to these and other lightweight options?
Mike GualtieriI think the first thing they have to do is not think that it's one or the other. Large corporations love to standardize. The purchasing departments love to say, "what is going to be our standard app server or development environment?" They have to first be willing to say more choices will be okay. They have to create a taxonomy of applications. Then for each of those application types, they have to map to a platform that fits the purpose and is cost-effective.
We like to look at the example of a very large company that standardized on a commercial web application server platform. But then they needed to deploy an application to 4,000 stores and they chose Apache Geronimo, which is an open-source application server.
Now, Apache Geronimo didn't have all the features of the commercial but okay. And they saved a ton of money in doing that.
Rob Barry So that's the big idea here, being lean and mean and saving money?
Mike GualtieriThere are two things here: saving money on the software development side, and the overall speed of development.
So you don't necessarily have to use java and .NET for everything. Some companies are finding that for certain types of applications you can use PHP. In some cases that can help the speed of development. But the key is, it's not all-or-nothing. Some of the more successful companies are not just picking one application platform and sticking with that. They're making choices that are fit for purpose.
Rob Barry The report encourages companies to pursue development with the kind of business-driven, fast and flexible approach commonly found at start-ups. Some might say this notion of "finding your inner startup" is easier said than done.
Mike GualtieriThe challenge there is that you never find your inner startup but the inner startup is there. In a large company there are certain 'tiger teams' that just get things done – in spite of the bureaucracy and all the overbearing rules. Rather than having this happen in this shadow development underworld, we recommend that you find these teams and, rather than punish them, elevate their status and harness them.
This is what a lot of innovative companies do in product development. And, here, Apple comes to mind. We should do the same thing in enterprise IT because all talent is not the same. You have to find it and harness it. But it can be risky. Startups take a lot of risks and enterprises have a lot to protect. So you have to have a process.