You have probably heard the saying: “You can have it good, fast or cheap, pick two.” Whether it’s been said by an engineer, project manager or general contractor, traditionally it has been conventional wisdom that you can complete a good project quickly but not cheaply, or fast and cheap but not good, and so on. Known as the project or “iron” triangle, CIOs have likely reported these constraints to their respective CxOs, perhaps calling it scope, money and time but essentially it’s the triangle. CIOs are expected to add value (good) to IT operations while reducing costs (cheap). If they are asked to do something quickly, one of those two parameters has to give. I attended the Gartner CIO Forum last week where I got a chance to speak directly with CIOs about their plans for the public cloud. From my conversations about time to market, CapEX to OpEx, and reliability, it occurred to me that the cloud may now actually break the iron triangle. Let’s see if the cloud can simultaneously deliver on all three constraints for IT.
This is a well known point of the iron triangle for cloud computing. Cloud applications are designed to scale to accommodate variable workloads to provide a consistent level of performance. This application scaling often has no significant effect on the time to deploy. Of course, one of the main benefits of cloud is that the infrastructure and associated costs increase only when needed rather than continually paying for resources to accommodate peak demand. So the cloud “good” can be independent of fast and cheap.
Fast to Deploy
By the old iron triangle standards, accelerating the time to deploy an application should either sacrifice quality or increase cost due to additional labor and/or static infrastructure. With the innovations in cloud developer tools, Platforms as a Service (PaaS) and continuous integration/deployment (CI/CD) it has become much easier to test, develop and deploy applications faster than ever without sacrificing quality. The app developer is relieved of a lot of the heavy lifting of system administration and configuration so they are free to focus their attention on creating and testing their application. Any additional servers and storage that are needed to speed up the process can quickly be provisioned in minutes. The development time savings and pay-as-you-go infrastructure model of the cloud can offset the traditional cost impacts of accelerated deployment times.
The CapEX to OpEX nature of the cloud already reduces many IT costs but according to the trusty triangle, reducing a project’s budget either slows it down or reduces its quality. In the case of the public cloud, you could further lower costs by ramping up infrastructure at the right times to accelerate development and testing, leverage third party platform solutions to reduce administration, and employ auto scaling, all of which can improve time to deploy without sacrificing performance and reliability - aka quality.
I wouldn't go so far as to say that the public cloud breaks the venerable project triangle but it sure has stretched it. Maybe the cloud makes it more like a rubber triangle where cost, quality and speed must still be balanced but now there’s a lot more flexibility as in: good, fast, cheap, pick 2.6 of them. The cloud may cause the competing constraints in IT to be driven more by business issues rather than engineering. Companies can now bring online products to market much faster and more easily update their features and functionality in response to customer desires or competition. Has the cloud now forever altered the decision making process of CIOs and given the CIO an even more important role in the business strategy of an organization? I’d like to know what you think.