Digital Transformation with agile and devops

The year 2021 is slowly coming to an end. The pandemic is accelerating digital transformation. Not a day goes by when we are not digital and we ask ourselves whether there is software or an app that can take a requirement off our hands. Every company today is a technology company and almost everywhere we can see the effects of digital transformation. When we talk about digital transformation, a fundamental question always arises: what is digital transformation and how can we drive it forward in the company? Digital transformation with agile and devops – in today’s blog post we analyze best practices and offer you an overview. In our own words, we present the core principles of various well-known “Devops” and “Agile” books (“Agiles Manifesto”, “The Devops Handbook”) – in an abbreviated form so that you can get an overview. At the end of the blog you will find a bibliography if you are interested in the topic and would like to read more deeply about one of the topics mentioned.

Content

Waterfall Model

The waterfall model is an approach to project and software development that has been used for decades. Your development works on a stream of tasks – similar to a waterfall. Critics say that this model lacks the flexibility to respond to customer needs, lacks a focus on people, encourages customer collaboration, and lacks room for creativity and innovation.

So let’s take a closer look at the mentioned methods.

Waterfall is the most traditional method, where the team works from top to bottom to reach the end goal. Before a team can move on to the next step, the previous phase must be completed.

Waterfall is best suited for projects with concrete timelines and well-defined deliverables. In fact, if your requirements are well understood and documented, waterfall is actually a good approach.

However, the waterfall model is correspondingly unsuitable for projects with many unforeseeable factors that require quick and flexible adjustments.

With “Agile” methods were developed that focus on collaboration, continuous delivery, constant feedback and communication between stakeholders. Agility also includes a positive attitude towards change.

So the question is: Do IT systems need quick and flexible adjustments and are they subject to many unforeseeable factors?

Digital Transformation

Ultimately, digital transformation is about constantly adapting and further developing the digital core competencies of your own company. This with the aim of perceiving customer needs and serving them better, faster and more scalably than the competition.

opensight.ch – roman hüsler

The “FANGMAN companies” (Facebook, Apple, NVIDIA, Google, Microsoft, Amazon and Netflix) have impressively demonstrated to us over the past decade what a combination of an agile mindset and Devops principles can achieve for digital transformation. So is this the recipe for success?
We would like to get to the bottom of this and take a look at the “key players” involved. Who are the key players in our example:

  • Customer
    The customer and potential customers of your company
  • Development
    Generally speaking, this is the product development of your company, which wants to offer the market new, innovative products
  • Operation
    The ongoing operation of your company
Image – Tasks and needs of the key players
Source – opensight.ch

The customer (picture above – customer) is looking for the best provider on the market who can best and fastest meet the customer’s needs. Customer needs can also change very quickly (keyword: pandemic). The product development (image above – development) of your company is constantly under pressure and should be agile and innovative in order to be able to integrate and offer new features quickly and iteratively. The “Agile Manifesto” describes principles with the help of which your development can optimally meet these customer requirements.

The day-to-day operations of your company (picture above – operation), on the other hand, are interested in stable operation, the security and availability of all productive systems. How does this fit with the rapid and iterative integration of new features through development? Devops offers answers and solutions with the “3 ways” philosophy. More on that later in this blog.

So, as you can see, Agile and Devops can complement each other to optimally meet the needs of all key players. At this point, however, we would like to advise against initiating a comprehensive agile transformation by hook or by crook. This should be done with care. First, you get a thorough overview and transparency of the company’s current value chains and what data is generated in which systems. This as a basis for decision-making for projects to improve digital maturity. For more information, we recommend the book “Successfully Implementing Digital Transformation“.

In summary: The goals of digital transformation are speed, customer focus, transparency and innovative ability.

When to use agile instead of waterfall?

The Stacey Matrix developed by Ralph Stacey can help to identify the appropriate “Agile Method” based on two dimensions. That of the requirement and that of the implementation. Even operating with the traditional “Waterfall” model can make sense depending on the requirements.

Image – When do I use which agile method?
Source – https://wecreation.de

There is an online assistant at https://proagile.de/stacey-matrix. Based on a few questions (Stacey matrix), this provides an answer to the appropriate management method.

Agile

Agile is an umbrella term used to describe value-added frameworks based on the values and principles outlined in the “Agile Manifesto“. The Agile Manifesto is the basis for agile working and was published in 2001 under the name Manifesto for Agile Software Development. It consists of 4 values and 12 principles. If “Agile” is used, these values and principles are established in the company or team.

Agile focuses on rapid feature delivery, rapid incremental product customization, and collaboration rather than delegating and following a fixed plan. In agile processes there is constant feedback, which enables the team to quickly adapt to the challenges that arise on the market. Agile was developed for complex projects where the requirements or customer requirements are often not exactly known.

Below we describe some “Agile Methods”. The current State of Agile Report shows that Scrum is still the most commonly used agile method at 66%.

Bild – Welche Agile Methoden werden von Unternehmen am meisten verwendet
Source – https://stateofagile.com

Kanban

The State of Agile Report states that 77% of Agile teams use Kanban boards as a technique. So let’s take a quick look at the Kanban framework.

The Kanban framework is implemented using Kanban boards. It is a form of visual project management with which the workload and work processes can be visualized.

A Kanban board is a column-organized board that represents work. Each column usually stands for a work phase. The simplest kanban boards have columns to do, in progress, and done. Each task is represented on the board with visual Kanban cards and moves from one column to the next until completed.

A simple way to illustrate the Kanban framework is with a whiteboard (Kanban board) and post-its (Kanban cards):

In modern Kanban, teams start with a backlog, a column of pending work. Depending on the capacity of the team members, a task is dragged from the backlog onto the board.

In this simple way, team members can visually track how much work is still to be done, what the status of a work is and where there are bottlenecks.

One of the most important characteristics of Kanban is that the amount of work in progress is limited. The WIP limit (work in progress) is defined per column and means that only a defined number of Kanban cards can be in the column.

A WIP limit prevents too much work from starting but not finishing. In a functioning Kanban system, everyone only has as much work as can be done. This alone means that tasks are completed more quickly.

Scrum

Scrum is a framework for developing, delivering and maintaining complex products that uses an incremental approach. The framework defines roles, artifacts (planning and work results) and occurrences (events). Scrum is not a process specification, but as a framework sets up a playing field with rules, so to speak – the Scrum users can define the concrete working method themselves within this framework. So the team is self-organized.

Scrum knows three roles for those directly involved in the process:

  • The product owner (sets technical requirements and prioritizes them)
  • The ScrumMaster (Manages the process and removes obstacles)
  • The team (develops the product).

In addition, there are the stakeholders as observers and advisors.

The requirements are maintained and prioritized in a list (product backlog).

The product backlog is constantly in motion. In order to enable meaningful work, a defined work package is taken from the product backlog and implemented monthly by the team with the product owner. This work package, the so-called increment, is not changed during the current iteration, the sprint. All other parts of the Product Backlog can be changed by the Product Owner in preparation for the next Sprint.

The increment is broken down into smaller work packages (tasks). During the sprint, the team works in a concentrated manner and without interference from outside the team to convert the tasks from the sprint backlog into an increment of potentially shippable functionality, i.e. a completely finished application part that can potentially be used productively.

The team compares itself in a daily meeting, strictly limited to 15 minutes, the Daily Scrum, so that everyone knows what the other worked on last, what they have planned next and what problems there may be.

Source – https://www.helloagile.de/

At the end of the sprint, the team presents the implemented functionality to the product owner and the stakeholders as well as interested participants in a so-called sprint review. The product owner’s feedback and new requirements for the upcoming sprint are then fed back into the next sprint planning meeting, and the process begins again.

Throughout the process, the Scrum Master ensures that rules are followed and the status of all tasks in the Sprint Backlog is updated by the responsible team members. He makes the project progress transparent, creates a report that visualizes the progress for the current sprint and for the entire project.

Source – https://agilescrumgroup.de/was-ist-scrum

Agile and the digital transformation

Agile creates a framework based on which a company can ship a given product in rapid iterations. This helps improve the digital customer experience.

Agile is driving a drastic culture change. For any organization looking to move from a traditional framework to a digital one, a number of factors such as transparency, collaboration, culture, accountability, etc. need to be considered. Everyone needs to be trained to understand change and its consequences. Agile achieves this effectively.

Devops

DevOps is not a tool but a set of practices and a cultural philosophy (The 3 Ways) that automate and integrate the processes between development and IT operations. The focus is on fostering teamwork, cross-team communication and collaboration, and technology automation.

In traditionally functioning companies (waterfall), innovative projects can push the entire company to its limits over time. The change management process exists, but nobody sticks to it and just does what they want to “just get the job done”. Abbreviations are taken, which leads to a build-up of “technical dept” in the company. We recommend the book “The Phoenix Project” which uses a story to illustrate where the problems lie in a traditional operation.

DevOps is about smooth testing, delivery and deployment – about ensuring the processes. Small interdisciplinary teams are used. A DevOps team consists of developers and IT staff working together throughout the product lifecycle to increase the speed and quality of delivery. This is a new way of working and a cultural shift.

DevOps teams use tools to automate and speed up processes, which contributes to greater reliability. A DevOps toolchain helps teams master key DevOps fundamentals like continuous integration, continuous delivery, automation, and collaboration.

Quelle: SourceClear

The DevOps lifecycle consists of six phases that represent the processes, skills, and tools required for development (pictured on the left side of the loop) and operations (pictured on the right side of the loop). In each phase, the teams work together.

Implementation of devops

Adopting DevOps often requires an open mind to change or even remove legacy teams, tools or processes your organization uses. It means creating the framework necessary for teams to have the autonomy to develop, deploy, and manage products without having to rely on external influences.

A DevOps culture also means teams are embracing new ways of working that involve better collaboration and communication. People, processes and tools are aligned to a uniform customer focus. Multidisciplinary teams take responsibility for the entire life cycle of a product.

Organizations that do DevOps well are places where experimentation and some level of risk-taking are encouraged. Here, thinking outside the box is the norm and failure is seen as a natural part of learning and improvement. After all, failure has a positive effect on learning success.

Devops and the digital transformation

The zero-touch approach encouraged the industry to work with automation, from development to deployment.

DevOps not only offers flexibility and added value, but also more security and protection. Security remains a key consideration for organizations seeking faster and value-added deployment.

Carrying out a DevOps transformation is not rocket science. Any company can do this. The important thing is to start small, choose the right people for the team and then constantly and continuously improve.

Literature

Digitale Transformation erfolgreich umsetzen.

Strategie und Instrumente.: Ihr Wegbegleiter durch die Vorbereitung, Planung und Umsetzung des digitalen Wandels. Mit dem “SKI-Framework” gibt Ihnen Alexander Pevzner einen Leitfaden mit konkreten Vorschlägen, wie Sie die digitale Transformation im eigenen Unternehmen vorantreiben können.

The Phoenix Project

Eine Geschichte aus der IT. Wie Sie Ihr Unternehmen mithilfe von Devops in eine starke Position bringen. Zeigt in Form einer spannenden Geschichte die traditionellen Probleme im IT-Betrieb auf und wie Devops den Betrieb revolutioniert.