For many, and for myself, the basis of modern Lean principles come from Toyota and the Toyota Production System. If you want to read about this in detail then I would recommend The Toyota Way, by Jeffrey Liker, a book that I read a couple a years ago and enjoyed. Often referred to as Lean Manufacturing, the definition on Wikipedia states that it’s ‘a systemic method for the elimination of waste within a manufacturing process’. Since then Lean IT has emerged as an extension of Lean manufacturing and focuses on eliminating waste in IT services while providing increased value to customers or employees.
The Principles Of Lean Applied to DevOps
The Principles Of Lean Applied to DevOps The main principles of Lean focus on identifying value streams, which in the case of DevOps, are applications that form services provided to customers, employees or partners. From this, value stream mapping visualization techniques are used to break down and analyze identified value streams into steps or processes, from design through to delivery, so that waste activities can be identified and eliminated. For example, in terms of monitoring, this would be tools which are not providing value to certain processes in the value stream, thus inhibiting flow and therefore not promoting speed and quality, essential to DevOps.
Six Lean Essentials For DevOps And Application Performance Management (APM)
Understanding and optimizing value streams is crucial. But Lean has a number of other key concepts, which can be applied to your APM strategy in order to ensure that it provides value to DevOps adoption:
- Understand how applications create value for customers, employees or partners. Lean defines a concept called ‘Gemba’. In Japanese this means ‘actual place’ and it means to understand where value is created for customers. In terms of APM, it’s about understanding the value that an application creates for its users. This is important, as you can’t create a business case for an APM solution without understanding the business importance of the application you are going to monitor. In relation to DevOps (delivering at speed while maintaining quality) features such as Real User Monitoring (RUM) help safeguard the value created while AppDynamics’ ability to identify Business Transactions in an application mean that all key interactions, which deliver value to the user, are automatically identified and proactively monitored.
- An APM solution must be ‘second nature’ in terms of operation. Students studying the Japanese martial art of Karate memorize and practice moves that become ’second nature’. This concept has been adopted by Lean and is about reinforcing certain activities, patterns and thought. In DevOps, this will mean reinforcing culture characteristics such as ‘fail fast, fail forward’. APM is an essential activity that should be reinforced in DevOps adoption, and it’s vital that an APM solution is easy to use so that it becomes ’second nature’ in terms of operation. For that reason one of our driving principles at AppDynamics is ease of use.
- Eliminate waste, inconsistency and absurdity from your APM strategy. There are three categories of waste in Lean: “muda” is a physical waste (e.g. time, money, and resources); “mura” is the inconsistency or unevenness of process; and “muri” means avoiding absurdity and unreasonableness. For DevOps, removing these three categories of waste is critical for speed. But they are also critical for your APM strategy, as multiple overlapping monitoring tools in a typical siloed enterprise mean physical waste (licenses etc), an inconsistency in the way they are used, and ultimately absurdity as alerts are not representative of the business. Hence at AppDynamics we provide you with end-to-end visibility of application performance and have smart alerting which means alerts are always in the business context.
- APM must act as a ‘fail-safe’ against application performance issues. “Poka-yoke” is a Lean principle that means ‘fail-safing’ or ‘mistake-proofing’. Essentially this is what any good APM solution should provide – the ability to make sure that application issues are remediated before they impact the customer or employee. As explained in my blog post on automation, our platform makes it easy to run a response to an issue or event meaning that a problem can be remedied before it impacts the business.
- Contextual dashboards are critical to APM strategy and DevOps. Data from any APM solution only becomes information and knowledge if it’s displayed in context of the audience. The Lean principle of “kanban” means “visual signal” or “card” and is about making sure that visuals are used to allow teams to communicate more easily on what work needs to be done and when. In DevOps, this easy communication is central to speed while maintaining quality and it’s also central to APM. A great APM solution should allow you to generate visual reports and dashboards quickly in order to communicate information relevant for the audience.
- APM should provide the basis for continuous improvement in DevOps. DevOps success means delivering quality applications and new features at speed, which either internally, support employee productivity, or externally, delight customers. Therefore to stay ahead of the competition, the Lean principle of “kaizan” or continuous improvement of your people, process and technology in regards to DevOps is critical. As a great APM solution provides visibility of end-to-end performance of an application then this should be a primary source of information for performance improvement. At AppDynamics, with our built-in application analytics features, it also means that we provide the ability to not only continually improve performance, but your overall software strategy.
So these are my six essentials for Lean, DevOps and APM. I find that Lean principles always promote lots of discussion so I would love to hear your thoughts and comments. Also if you want to hear more about DevOps and Culture then please join or listen to a recording of my webinar which I will be running this Thursday, 9th April. More information can be found here.