The expectation of regular software updates – it's what developers are tasked with, and what users expect and demand. Increased functionality, better performance, and fewer bugs – often in a week or less. Automation of critical processes such as QA can help meet the gargantuan task of constant updates, but it can also send your software into a death spiral of user abandonment unless deployed correctly ...
DEVOPSdigest asked experts across the industry – including analysts, consultants, vendors and even users – what they think is the most important cultural change an organization can make to ensure DevOps success. The result is a broad range of answers that delves deep into what DevOps is really all about. Part 4 covers development and testing.
25. START SMALL
The best way to introduce a DevOps culture to your organization is to start small and scale from there, repeatedly demonstrating success in larger and larger increments. The first step in a DevOps cultural shift is ensuring everyone understands that they control their own destiny. Give everyone the visibility they need to do their job right and share accountability evenly – each member of the team needs to know they have full ownership of their work and processes, and responsibility for company success. When this happens, developers and operations see each other as teammates working to deliver value to the customer and business, and it creates the foundation of self-service, prioritization and people required for getting DevOps right.
Head of DevOps, PagerDuty
26. SOFTWARE FACTORY
Currently, most organizations view software creation as a set of artisan engineering projects. To make DevOps a reality, organizations should consider software generation more of a factory exercise where small components are built, connected, and reused in multiple ways to create different products. Because the components become smaller, they warrant smaller but multidisciplinary teams that bring all the needed expertise to successfully produce the components (and eventually the larger products). In this type of environment, architects, developers, testers, and InfoSec individuals solve small problems rapidly and creatively ultimately to accelerate the business and make the organization more agile.
27. CONTINUOUS IMPROVEMENT
The most important thing is to place a strong focus on Continuous Improvement. Changing the culture to one that continuously seeks out ways to improve the processes, tools, teams, and individuals will unlock benefits of DevOps such as Continuous Delivery and resilient systems.
DevOps Evangelist, VictorOps
Companies need to foster a culture of continuous improvement, which penetrates itself into all facets of development and operations. This culture of improvement should be generated through multiple factors, such as persistent problem-solving, agility, and constant communication between teams. One top reviewer on IT Central Station suggested that a company can use APM to support such a culture, using the different monitoring points as gauges for constant improvement. A consistently positive end-user-experience can be one of the threads in this fabric of continuous improvement, becoming the yardstick by which to measure application performance
Founder and CEO, IT Central Station
Allow time for training. This requires a dedicated training budget that people know how to access. People should be able to choose training they find most interesting, rather than being restricted to specific manager chosen topics – even if it isn't directly applicable to what their job is today.
VP of Product Marketing, Puppet Labs
29. ELIMINATE TICKET CULTURE
The most important cultural change an organization can make in pursuit of DevOps is to rid the organization of the ticket culture. Service/help desk solutions can be valuable however, too often they are used in a way that encourages an "us vs them" mentality. Some solutions are to augment the ticket system with instant messaging for chatops, use a shared automation solution for dev, QA and Ops and have Ops personnel on the dev/scrum team.
DevOps Dude & Jenkins Marketing Mgr, Product Marketing, CloudBees
30. OPERATIONAL ACCEPTANCE TESTING
In order to make DevOps a genuine reality organizations need to consider the whole development and testing process – in the round – and not just focus on what we would describe as "Check-Box Testing." They need to look beyond the confines of functional testing if they are to ensure applications will work effectively when deployed into the real world. In order to achieve this, they need to consider external factors that will impact the user experience such as the networks, private and public, over which the great majority of applications are expected to be delivered over these days. Therefore, all organizations need to broaden their DevOps horizons to incorporate the new discipline of Operational Acceptance Testing which is used to conduct operational readiness of a product, service, or system before it is introduced into the live production environment.
Operations Director, iTrinegy
31. CONTINOUS TESTING
Continuous Testing is a fundamental element of DevOps. You cannot do Continuous Integration and Continuous Delivery without continuous testing. Without continuous testing, the net result is that testing process can't keep up with your development speed. You might accelerate your release cycle only to find out more problems in production. Not good. Both Continuous Integration (CI) and Continuous Delivery (CD) are almost meaningless without continuous testing.
Founder and CEO, Nouvola
32. RELEASE FAST, CATCH PROBLEMS IN PRODUCTION
Perfect quality should never be a blocker. Successful DevOps teams move quickly and build their software in such a way that the it can be released to production fast and at any time. This requires team focus to shift to catching problems quickly after release with monitoring, canary environments, traffic shaping and roll-back tools rather than trying to prevent them from being released.
General Partner & GM, Heavybit
33. GO BEYOND CONTINUOUS RELEASE AND DEPLOY
In order for DevOps teams to meet their application service level objectives, they need to go beyond continuous release and deploy. Keeping these applications up and running requires real-time analytics of the data throughout the entire application infrastructure — including performance data, logs, configuration and topology, which will automatically show the impact of a software release on the operations in the continuous delivery and integration mode.
JF Huard, Ph.D.
Founder and CTO, Perspica
Check out Top Culture Changes to Make DevOps a Reality - Part 5, offering some final thoughts.