Cloud as the disruptor for organisational change
Cloud and agile are tools used to build a technology business.There are two things that cloud computing and agile development techniques have in common. First, in order to take advantage of either, the processes that you follow to build new products and define new business markets needs to change. Second, the point at which you start to have an impact on the people in the organization who actually deliver these new products is the point at which you start making those changes -- not, as you may think, the point at which you complete the implementation of the new technology.
The reality is that like the changes that came with agile, the changes cloud computing brings can, and likely will, have a wide-reaching and large impact on not just the way work is delivered, but also how it is planned and measured. The traditional top down approach to planning and measuring delivery provides for certainty in the timeline for delivery of work but provides no guarantees as to the quality and completeness of the work. The result is that whilst it gives managers and budget holders a certain amount of peace of mind when it comes to spend, it does nothing to ensure that work delivered is of the highest quality and is actually what is required by the business.
Like cloud computing, the introduction of agile development methodologies in an organization can be very disruptive and cause a lot of growing pains while everyone is ramping up and getting used to the new mechanisms and processes. These mechanisms, contrary to the way they seem, do not require that managers give up their budget controls and deliverables, only that they participate in the process in a more regular and granular way. What's more, these changes need to happen at all layers of the organization. For example:
- Cloud supports rapid deployment and rapid development cycles, as developers are able to quickly and automatically test applications. This reduces the time needed to find bugs and to fix them, enabling them to deploy more often, and with better results.
- Hardware agnostic or reduced dependence on specific hardware means greater choice in hardware vendors, as well as the ability to move workloads across regions to maximize performance or minimize cost.
- Cloud architectures enable you to move services closer to the consumer, reducing latency and better distributing the load throughout the network.
- Cloud native architectures drive cost reduction through standardization and better utilization of available resources. Additionally, the provide the opportunity to manage greater numbers of servers with fewer people.
- Cloud can remove many traditional bottlenecks enabling service pivoting. This is important, because the quicker we can grow, adapt or change a service to meet consumer needs, the more uptake that service will get.
- Support for automation helps drive down development cost and enables rapid deployment and a host of other advantages.
- Cloud enables better resource utilization; sharing resources allows for costs to be distributed, and can reduce the impact of maintaining legacy equipment.
- Democratizing access to resources, as cloud computing does, supports faster application development and reduces lag in go to market strategies.
- Cloud based applications can be provided to a wider audience, as they typically don't need client applications.
- Cloud provides better uptime due to more resilient design strategies, as well as far more rapid recovery through automation. This also provides support for self healing through automation and the ability to redirect traffic and service automatically.