Back

Before DevOps

DevOps as we know it today employs fundamental concepts like Lean and Kata. Lean is a Japanese concept of a way of work, where companies manufacture products that are of value to the customer. It creates a horizontal movement involving all the teams that work to create a product. It is in the process of creating the product that it gains value. In the end, it is the essential value of the product that the customer is actually paying for; not just simply the product itself. It’s creating something useful and purposeful instead of simply making something available.

In software development, this translates to creating a program that is built around the needs of the consumers and built with quality. To ensure the quality of a product, testing is integrated with the build process and are ran at crucial points of the entire development process. This process repeats until it is ready for production. And though this type of process may require more resources and better talent to do the work, it results to a better and more reliable product. And any customer who is after quality and reliability will be willing to pay for it, because it’s the value that it brings to them that makes it worth investing their money in.

The Fundamentals of DevOps

Lean, Kata, Agile — these are just some of the terms that usually come up when we talk about DevOps. So let’s take a look at these concepts one by one.

The Lean framework focuses on quality and the reduction of wastage in the work cycle. Instead of cutting on costs to increase profitability, it focuses on eliminating waste in the work stream to eliminate losses that can be avoided. Production costs are not cheapened and resources are used intelligently and appropriately. Long before the Agile days, Lean was already being used in Japan, not just in manufacturing but in other areas of businesses as well. The lean framework always asks, “how can we make it better for the customer?”

Kata on the other hand, focuses on continuous improvement and how to achieve a desired outcome by using a systematic approach that taps into the workforce’s capabilities. The core of this framework is creating and developing the right habits and continuously working to improve it, so that the quality of the products and services they delivery improves as well. Kata is a lifelong process of understanding, practising, problem solving, correcting, and harmonising work. It is through the collective actions of the people in a team that pave the way for daily improvements to occur and make it the norm for everyone within the organisation.  Kata instils thinking and working skills that enable a person to adapt to any situation and find the best solution for any challenge, at any given time.

The Agile concept is woven with these underlying principles, and includes ways to make the work flow more efficiently and effectively, without sacrificing quality and reliability. Through the use of a value stream map, organisations can identify what’s important to them and what’s not, and what matters to their customers and what doesn’t. By improving and adjusting the value stream map based on previous learnings, new understanding, and by incorporating the lean framework, the value of their work increases as well as the value of the products and services that they deliver. Teams can adapt to change better and are able to hit the ground running at all times. Agility is measured by velocity; a way of tracking the rate at which the work is getting done and is used as the basis for planning sprints and calculating future actions. At its very core, the Agile values and principles are a way of breaking down an entire project into smaller tasks that are much easier to manage and accomplish. Small releases and frequent deployments make it much easier to pinpoint the source of an issue, allow teams to be able to find the appropriate solution, and implement the solution in a shorter turnaround time. This way, the work pace is sustained and teams work more systematically.

DevOps Today

Today, we know DevOps in software development as a approach that’s designed to increase the work flow efficiency by eliminating pure wastes from the stream, cultivating a feedback driven environment for continuous improvement, and continuing to build on work habits and practices that positively impact the outcome of the work. It has paved the way for developers to meet the needs of the end users, by creating products and services that are designed with their needs in mind.

Translate »