PaaS reduces the incremental cost of a custom application. Because demand for custom applications is elastic with respect to price, maturation and proliferation of PaaS will drive growth in custom application development.
I’ve been engaged in a discussion with a colleague about the relative importance of application development vs. application delivery. This might seem like splitting hairs but I assure you, it is not:
Application Development – Designing, coding, testing, implementing, and maintaining a custom software solution over time.
Application Delivery – Selecting, implementing, and maintaining a software solution over time. This may or may not include application development and that development may be part of a complete custom system or it may simply be coding a few connectors as part of an integration effort.
The crux of my colleague’s hypothesis is derived from a simple and intuitive idea: the proliferation of cloud services represents the biggest outsourcing maneuver in IT history and will lead to the decline of internal Application Development because “the business” will instead choose from a smorgasbord of SaaS offerings that model every conceivable business process. Implicit in this assumption is the decline of enterprise IT in general and operations in particular (if you’re using SaaS you don’t much need a data center). This is future state stuff, 3-5 years down the road at least. And even then hybrid IT will be around for a while. Let’s continue without getting into the hybrid private/public cloud war zone, shall we?
I have a difference of opinion. While I don’t debate that “the business” will have more “packages” to choose from (loosely referring to packages as both traditional deployed solutions and cloud-sourced SaaS), I also believe that enterprises will be developing more applications themselves than ever before.
The reason why I believe a golden age of enterprise application development is upon us is Economics 101: elasticity.
A good or service is considered to be highly elastic if a slight change in price leads to a sharp change in the quantity demanded or supplied.
Gartner analysts spend time on the phone talking to clients. A lot of time. Not once have I or my close colleagues ever heard a client say any of the following:
- We don’t have a backlog of desired applications with provable ROI.
- We can’t find any applications that we think are a good idea but without provable ROI.
- We don’t need any new applications. We’re all out of ideas!
No, if you’re in an Application Development or Application Delivery organization you’ve never heard this stuff. In fact, you’ve heard the opposite and your daily life is at least in part about
ignoring managing demand. The business doesn’t stop making new demands but rarely does it ask for existing stuff to be decommissioned.* Its a continuous effort to get the resources to build the stuff with provable ROI that has by hook or by crook managed to ease its way to the top of the prioritization pile. The fact is, I can’t think of a single organization that doesn’t have a big backlog of applications it’d like to get delivered.
Furthermore, the backlog is even bigger than you think. By default, people self-edit and don’t put forward ideas for which they know there is no value proposition. If it doesn’t have a positive ROI, it doesn’t even get on the list.
But what if the incremental cost of a new application were to fall – dramatically? What would happen then?
Application Development and Elasticity.
I submit that the demand for applications is elastic with respect to price. Meaning that as the incremental cost of a new application falls, enterprise demand will increase. I submit as evidence:
- The fact that application delivery prioritization in most organizations has ROI as the #1 driver after compliance.
- The fact that applications without a positive ROI don’t even get considered (unless compliance).
- The fact that SaaS and Web startups have exploded since the incremental cost of delivery decreased (thanks to IaaS and then PaaS).
The last point I find the most instructive because it is the one that my colleague is arguing in favor of. He believes that precisely because SaaS is so abundant and cheap there will be fewer applications developed in-house in the future. I say just the opposite: the drivers that make SaaS cheap also reduce the incremental cost of applications developed in-house.
PaaS and Cheap Development.
Quite simply, a good PaaS makes development cheaper. That’s why you see so many startups using PaaS as the market matures. PaaS is all about outsourcing the plumbing work so that developers can focus on building the business logic and important features that differentiate one application from another. Let me say that very clearly:
The single best way to reduce the cost of application development is to improve the productivity of your application developers.
The story of platforms the last decade is one of increased developer productivity. Its the main reason why we have Ruby on Rails, Groovy on Grails, Node.js, and on and on. It’s why we have cross-platform development tools like Appcelerator, Sencha, PhoneGap, and on and on. It’s why we pay certain developers more than others (well I guess not everybody does that – which is a big mistake but that’s a conversation for another time). You know in your gut that a highly productive developer isn’t just a little bit more valuable than an average developer – he’s ten times more valuable than the average developer (and more recent research puts this even higher). Productivity is the single most important area of cost optimization for application development today. The PaaS value proposition is almost completely focused on productivity.** It is a match made in heaven.
Build, Buy, Borrow, Steal, Rent, Etc.
But back to the sourcing question. Because the perceptions that drive enterprises to develop their own applications aren’t changing, I expect to see even greater demand for new custom applications than in the past. What are those common perceptions?
- Available packaged solutions are not suited for my company or industry
- I can do it cheaper or better with my own development staff
- My business processes are top secret and there’s no way I’m handing them to an outsider
I’m not debating whether those perceptions are right or wrong. They are what they are. And they haven’t changed in forever, and the cloud isn’t going to change them either. Let’s call them human nature. Taking into consideration human nature and economics 101, the outcome seems pretty obvious:
- PaaS reduces the incremental cost of a custom application.
- Enterprises have a backlog of applications without adequate ROI under old cost assumptions.
- Demand for new applications will grow as cost assumptions shift downward.
It’s PaaS-O-Nomics. As PaaS matures we will see more applications developed, period. Whether from Web startups, SaaS providers, or enterprise IT organizations – it is a rising tide that lifts all development ships. So the correct answer isn’t Application Development vs. Application Delivery – it’s both.
I’d love to hear your opinion. Am I right? Am I wrong? Is there another story that I’m entirely missing?
* Shameless plug: Val Sribar and I will be presenting on the topic of preparing to address future demand while simultaneously addressing the existing application portfolio in our Apps 2020 presentation at Gartner Symposium.
** I recognize that there are numerous other good reasons to consider PaaS, including geographic distribution, quality of service, fault tolerance, and so on. But for most organizations productivity should be the only thing they think about because it is all you need to think about to make the right decision, public or private.