Five years ago Marc Andreessen, a well-known American entrepreneur, investor and software engineer, coined the phrase "software is eating the world". The years that followed his statement became more and more reality. Companies like Uber, AirBNB, Apply Pay, Spotify, and Netflix have changed and are still changing entire industries by disrupting them with new business models and value-added services to customers. IT plays a crucial role in these startups and high-tech companies. In order to survive the digital age, you better look carefully at what these industry leaders are doing to make sure you make the right investments and to get rid of unnecessary waste.
Speed is the keyword to differentiate winning companies from those lagging behind. Short time-to-market, short feedback loop with end-users, and quick responses to changes of user requirements or to tests of new ideas are key indicators for success nowadays. Companies such as Amazon and Netflix are putting new software code in production thousands times per day, without us ever being aware of it, let alone being interrupted during our shopping experience or movie night. You may argue your company is very much different than Amazon or Netflix, but the truth is that in order to stay ahead of competition, you may need to turn into such a company much more than you realize.
Enter DevOps. Fortunately, within IT departments people have been focusing on speed, simplicity, and higher quality for quite some time. The latest buzzword that promises to solve all of our problems is 'DevOps'. DevOps was started by Developers and System Administrators as a grassroots movement to re-engineer the fundamental ways that these two groups interface. This is important to understand. DevOps was not created in some think-tank outside the beltway. It was born from a very real frustration that many practitioners in the technology industry were feeling. Most of these frustrations were related to a key difference in the central objectives of both departments: supporting innovation and short lead time for products and services vs. supporting continuity for the business. The logical approach to remove this so-called "wall of confusion" that caused irritation and lack of understanding both ways, was to propose a far simpler way of working together.
DevOps is not a software product, nor a framework or methodology. DevOps is a collection of best practices and principles. Above all, DevOps is a mindset and way of working that helps creating a culture of high-performance IT. And high-performance IT is what it is all about. No more "IT department says no" behavior. No more businesses that come to a grinding halt because software wasn't properly tested. No more deprecated vendor-lockins that obstruct innovation in your company. Your company is an IT company, whether you like it or not, and that means that becoming high-performant equals high-performance IT. Organizations that have invested in DevOps have made incredible steps towards this goal, and these tangible results, as depicted below, explain why DevOps is gaining incredible traction up until the boardroom of organizations. High-performing IT organizations report experiencing:
The key DevOps principles, as explained in a separate white paper, help creating a high-performance culture. After helping an extensive amount of customers to accelerate and improve the quality of their IT, we found that there are five key ingredients for every successful DevOps transformation. Each of these will be covered more extensively in future blog posts. Together, they are a very strong combo and indicator for high-performance IT organizations. But based on extensive evidence and much experience in all types or organizations, we found that starting with one of them can already make a big difference. These are the five ways to start your DevOps journey:
- Adopt an Agile and Lean way of working. DevOps is rightfully seen as a next-step in Agility or "add on" to becoming an agile organization. This is because DevOps principles add a number of ingredients to the core principles of the agile manifesto. Examples include product thinking (end-to-end responsible teams), and a continuous improvement mindset.
- Modernize software architecture. Application modernization is still a topic high on the agenda of the CIO. Despite many enterprise architecture frameworks, technical debt metaphors, application rationalization programs and service buses, organizations often still have a complex, interwoven application landscape. Architects have now put their faith in microservices, API gateways and serverless architectures to address this big impediment to organizational agility. Having agile teams operating without a loosely-coupled architecture is a perfect way to demotivate your best employees and to quickly build masses of antibodies to the new way of working.
- Embrace Continuous Delivery. The benefits of Continuous Delivery are enormous for your organization. If you automate the software development value chain the right way, you can drastically minimize waste and shorten lead time (“Done = Live”). At the same time, quality is added to the value chain and a quality mindset is injected into the team, who gradually gains a feeling of ownership for the products they build. Continuous Delivery also greatly helps freeing up time to spend on more value-adding processes within the organization.
- Invest in Intelligent infrastructure. Continuous Delivery pipelines greatly help deliver software faster. But if, for example, deploying your software on a server in the datacenter takes several weeks, then the total agility in your value chain is still subpar at best. Imagine you found a start-up to build a great mobile app in the healthcare domain. After initial trials and demo versions, the user base is growing and customers like your product. Would you then accept your "IT operations" department stating that the IT servers cannot handle all customer requests or data processes by all users using your product, and that it will take several weeks before capacity is further increased? Large traditional organizations often believe that they still need to live with such constraints. When they start exploring how to build their infrastructure, they are amazed at the intelligent ways they can accelerate.
- Manage your talent. The biggest hurdle for organizations in need for becoming high-performant is not the way of working, the application architecture, the (semi-)automated software delivery chain, nor the way IT operations are organized. By far the biggest concern organizations should have is related to the knowledge and skills of their own workforce. Not because people have no experience or proven track record in all kinds of areas, but because many of these skills and experiences prove little value in the new world of IT. Building an engineering culture is what firms need, and finding qualified software engineers is difficult, to put it mildly. Even worse, turning IT operations people, manager, testers or project leaders into engineers by calling them DevOps engineers, sending them to DockerCon or organizing hackathons, is an illusion. Organizations should come up with integral talent management programs to address this often forgotten problem which, if not solved, will render all other investments rather useless.