Devops has been around as a term for roughly eight years now, and it’s time to review what has changed if anything.
As you probably already know, Devops is a common term for how to make better software using modern practices and tools. The term originates from collaboration between developers and IT operations, but includes the *culture of working towards a common goal and the *tools enabling an automatic software development pipeline, or continuous delivery if you may.
There have been two major areas introduced in the Devops scene since its first days: Containers and Culture.
The Short History of Devops
Agile Methods, Test Automation and Continuous Integration all laid groundwork for making fast releases often. In smaller organizations these practices were enough to actually allow delivery of new features or fixes to production environment as soon as they were finished. However it left bigger organizations dangling between ‘development is ready and we are currently running the UAT (user acceptance testing)’ and ‘our next service window is on Thursday and the next release is due in two months’.
What Devops did was getting everyone, including the top management, use the same term for how to develop and release new digital services on time and budget. No matter how far the goal, Devops was, and still is, a term for everyone to look in the same direction.
At the same time the digital revolution has reached even the biggest industries. Delivering new concepts is not enough anymore. The services have to be appealing, easy and intuitive to use, and include a social dimension.
Organizations that have already adopted the Devops culture, are able to concentrate on the market demand and adjust their products according to feedback, fast.
What belongs to Devops today?
Traditionally Devops has been seen as something for the tech-people, no matter if they are developers or IT support. In reality Devops is about the culture of working together and automating everything that is repeated. This means that everyone in the organization should be involved and brought together; business, developers, quality assurance, contractors and IT operations. And most importantly, the management.
Larger organizations are moving towards three areas to enable their Devops: Platforms, Pipelines and Cloud / Orchestration.
The Devops Platform will bring everybody technically together under one umbrella of services like the user management, requirements management, version control and continuous integration. Devops Pipeline on the other hand binds these services and developed product together all the way from the requirements to each automated release. Cloud, especially Containers and Orchestration, will then provide a modern environment for the organizations products and services.
What are the benefits?
In the modern digital world, with its accelerating pace of releasing new innovative products and adjusting to customers’ needs, it’s safe to say that it’s no longer about the benefits. Without implementing Devops practices, the organizations developing or providing digital services will wither away or become overrun.
If there is one benefit that comes as a surprise to many, it is job satisfaction. Devops does make working with software development more fun.
What Skills Are Needed?
There is a good saying about hiring people to a startup; the first ten people should be “Jack of all trades, master of none.” Especially in large organizations the same applies for the Devops people.
One of the most important concepts in modern Devops, Docker and Containers, has been around for less than four years. It is a good example how fast new technologies and tools emerge in Devops. This is why its important for the people working with devops to be curious and constantly learning new.
How Can We Do It?
As Devops has already become a mainstream term, and a way to improve organizations, there are many good books available.
In our trainings we show the following five steps for how to introduce Devops, and how to start building the Devops culture in organizations:
* Chart the status of your software development processes.
* Build a roadmap that allows you to develop in small and tangible iterations.
* Experiment with areas where the culture is open to change, or where most of your brightest and wildest innovators work.
* Form common principles and make them practices in your organization.
* Take a leap into the unknown! Example: allow developers to release new features using continuous delivery.