Building a culture that allows for rapid innovation at all levels.
Sitting with a developer from Github at an AWS conference a few years ago, I watched in awe as he reviewed the company’s continuous deployment philosophy and process. The concept was amazing; construct your projects in such a way that you can deploy anytime (in some cases 10–15 times a day). To contrast this, I regularly work with clients where their deployment process can take over 6 weeks from beginning to end (meaning they might have 1–2 deployments a quarter). While the differences between these organizations are many, one key difference can be summed up in one word: DevOps.
What Is It?
DevOps can be a hard and confusing topic to discuss because everyone defines it a bit differently. For the purposes of this article, we will define DevOps as a philosophy that marries agile principles of development with the operations team that will maintain a solution on its infrastructure. Organizations that adopt this mentality have some common characteristics:
Organizations that embrace a DevOps mentality spend as much time in the early phases of a project evaluating how a project will be tested, deployed, and evaluated once in production as they do on the architecture of the software they are creating.
Organizations that embrace a DevOps mentality automate nearly every step of the testing, deployment, and environment creation process.
Organizations that embrace a DevOps mentality can release their software on-demand.
Organizations that embrace a DevOps mentality can provide concrete data performance of an application in production.
Is It For Us?
In discussions with enterprise organizations, many are quick to assume that a DevOps culture would not be a fit within their organization. They understood that companies like Amazon, Netflix, and Facebook have achieved a high degree of success with this philosophy, but the thought is that kind of success is not possible within traditional enterprise constraints. However, in the past years, we have seen DevOps succeed in many traditional enterprise organizations including USAA, Disney, and Nationwide.
The important question for most organizations to ask is whether they can afford to not develop a DevOps culture. In a recent article, I highlighted key Agile Health Indicators for organizations. One of those indicators was Lead Time — the amount of time it takes to go from idea to production within your organization. While not all organizations can release multiple times a day (some due to compliance and validation rules), long gone is the day when we told users to wait six months for a feature. Organizations who cannot get new features in the hands of their users on a regular basis are fighting a losing battle.
Organizations should take time to evaluate these key questions to determine if a DevOps culture shift is needed within your organization:
Developer Instances: Does each developer have access to a development instance which closely mimics the production environment? Are the settings/configuration for this instance in version control? Is the instance creation process automated?
Cloud (if deploying on a cloud platform): Is the application built as a cloud-first application? Are you fully leveraging the functionality provided by the PaaS/IaaS or are you building custom software that mimics what the platform already provides?
Deployment: Is the entire deployment process to any environment automated? Is the deployment process considered of equal value to the system architecture within your organization?
Testing: Is a majority of the application and integration testing for your solution automated? Is your application tested on every commit to the source code repository?
If you answered no to any of these questions, it may be time to consider adopting a DevOps philosophy.
Like all aspects of development culture and methodology, DevOps is not a silver bullet. I have worked with organizations that have developed bad DevOps practices which are affecting their quality of delivery. However, one can also not deny the track record of organizations that have embraced DevOps wholeheartedly.
If you are looking to scale DevOps holistically within your agile organization, you should be encouraged that DevOps is a key component of the Scaled Agile Framework. By having DevOps as a part of the shared services team, you can ensure that you have a scalable team which can respond to needs across multiple agile release trains or even across multiple portfolios.
Receive a DevOps Culture
Building a culture that takes into account fast development at all levels.
Sitting with an engineer from Github at an AWS meeting a couple of years prior, I watched in wonder as he looked into the organization’s constant sending rationality and process. The idea was astounding; develop your ventures such that you can send whenever (at times 10– 15 times each day). To differentiate this, I consistently work with customers where their sending procedure can assume control a month and a half from start to finish (which means they may have 1– 2 organizations a quarter). While the contrasts between these associations are many, one key distinction can be summed up in single word: DevOps.
What’s going on here?
DevOps can be a hard and befuddling point to talk about on the grounds that everybody characterizes it a bit in an unexpected way. For the reasons for this article, we will characterize DevOps as a logic that weds light-footed standards of improvement with the activities group that will keep up an answer on its foundation. Associations that embrace this attitude have some normal attributes:
Associations that grasp a DevOps mindset invest as much energy in the early periods of a task assessing how a venture will be tried, conveyed, and assessed once underway as they do on the design of the product they are making.
Associations that grasp a DevOps mindset robotize about each progression of the testing, organization, and condition creation process.
Associations that grasp a DevOps mindset can discharge their product on-request.
Associations that grasp a DevOps mindset can give solid information execution of an application underway.
Is It For Us?
In dialogs with big business associations, numerous rush to expect that a DevOps culture would not be a fit inside their association. They comprehended that organizations like Amazon, Netflix, and Facebook have accomplished a high level of progress with this logic, yet the musing is that sort of achievement isn’t conceivable inside customary undertaking requirements. Notwithstanding, in the previous years, we have seen DevOps prevail in numerous customary endeavor associations including USAA, Disney, and Nationwide.
The imperative inquiry for most associations to ask is whether they can bear to not build up a DevOps culture. In an ongoing article, I featured key Agile Health Indicators for associations. One of those pointers was Lead Time — the measure of time it takes to go from thought to generation inside your association. While not all associations can discharge various times each day (some because of consistence and approval rules), long gone is the day when we advised clients to sit tight a half year for a component. Associations who can’t get new highlights in the hands of their clients all the time are battling a losing fight.
Associations should set aside opportunity to assess these key inquiries to decide whether a DevOps culture move is required inside your association:
Engineer Instances: Does every designer approach an improvement occurrence which nearly imitates the creation condition? Are the settings/setup for this case in rendition control? Is the occasion creation process mechanized?
Cloud (if conveying on a cloud stage): Is the application worked as a cloud-first application? Is it true that you are completely utilizing the usefulness given by the PaaS/IaaS or would you say you are building custom programming that copies what the stage as of now gives?
Sending: Is the whole arrangement procedure to any condition robotized? Is the sending procedure considered of equivalent incentive to the framework design inside your association?
Testing: Is a lion’s share of the application and coordination testing for your answer computerized? Is your application tried on each focus on the source code archive?
In the event that you addressed no to any of these inquiries, it might be a great opportunity to consider receiving a DevOps theory.
Like all parts of advancement culture and system, DevOps is definitely not a silver shot. I have worked with associations that have grown awful DevOps rehearses which are influencing their nature of conveyance. Nonetheless, one can likewise not prevent the reputation from claiming associations that have grasped DevOps wholeheartedly.
On the off chance that you are hoping to scale DevOps comprehensively inside your light-footed association, you ought to be supported that DevOps is a key segment of the Scaled Agile Framework. By having DevOps as a piece of the common administrations group, you can guarantee that you have a versatile group which can react to needs over different spry discharge prepares or even over numerous portfolios