Algorithms for High Performance DevOps

 

Throughput Accounting

To close the loop and map these development improvements to Business Value, management can leverage organizational performance practices notably Six Sigma and the Theory of Constraints (TOC), to define their ‘DevOps Algorithms’. Although originating in the manufacturing domain they deal generally with whole system design and the same principles can be applied to any industry workflow; in software engineering enabling an equivalent of a ‘software factory’.

It is this level of transformation that will yield the real business improvements that senior executives are hoping Cloud computing will deliver for them, and they can call upon existing management practices they already know, in particular Six Sigma and the Theory of Constraints (TOC), to quantify exactly how, the Algorithms.

A highly recommended paper that explores this in detail is Productivity in Software Metrics by Derick Bailey, describing the application of TOC to software development, such as how they relate ‘User Stories’ as a unit of work and including a framework for performance metrics based upon its principles:

  • Inventory (V), and Quantity: Unit of Production (Q) – How does the software team quantify what is ‘work in production’.
  • Optimizing Lead Time (LT) vs. Production (PR) – Using Workload Management to schedule the most optimum flow of work.
  • Investment (I), Operating Expense (OE) and Throughput (T) – Maximizing Net Profit (NP) and Return on Investment (ROI) and calculating Average Cost Per Function (ACPF)

The key ingredient is the science of ‘Throughput Accounting’, versus traditional cost accounting. As the name suggests where the latter is concerned with static snapshots of financial reporting, Throughput Accounting focuses on the systems dynamics of what actually drives cash flow.

Speeding Concept to Cash

Where traditional accounting presents a financial statement snapshot of one point in time, as the name suggests Throughput Accounting is concerned more with identifying the work streams that generate cash flow and other business benefit, and reporting on their performance relevant to overall capacity.

In this blog Stackify make this great observation that helps illustrate the overall idea, that Agile and DevOps combine to holistically address the full lifecyle of translating business ideas into working code running in the Cloud hosting delivery environment.

Improving the throughput of this capability is how organizations can increase innovation rates, how they can bring more new products to market faster, the improvement to high performance.

Better synthesis of both software development and infrastructure operations speeds up the overall cycle of new feature deployment, but of course it’s only a success if the Ka Ching part happens, a process described as the ‘Concept to Cash‘ lifecycle, the core mechanic of generating new ideas and turning them into revenue-generating business services.

Accelerating Digital Innovation – Speeding Concept to Cash

To determine the business case for the Cloud Native technologies of microservices, containers and Continuous Deployment the key dynamic is ‘Business Value Throughput’. Ie. not just speeding up the production of deployed code but of software that adds quantifiable value to the organization.

In this blog Stackify make this great observation, that Agile and DevOps combine to holistically address the full lifecyle of translating business ideas into working code running in the Cloud hosting delivery environment.

Improving the throughput of this capability is how organizations can increase innovation rates, how they can bring more new products to market faster. Better synthesis of both software development and infrastructure operations speeds up the overall cycle of new feature deployment, but of course it’s only a success if the Ka Ching part happens.

This “ah ha > ka ching!” process is also often described as the ‘Concept to Cash‘ life-cycle, the core mechanic of generating new ideas and turning them into revenue-generating business services of some kind.

Continuous Deployment, Continuous Innovation

What this establishes is a direct link between technology and business practices, notably Continuous Deployment and Continuous Innovation, where the optimized software process is harnessed to accelerate this Concept to Cash lifecycle, and can be combined with business practices such as Lean to maximize development profitability.

ThoughtWorks provide an excellent article exploring this implementation: How to Practice Continuous Innovation, Solutions IQ a presentation on a 7 Minute Case Study of Agile and Concept to Cash, and there is a free sample chapter available of the book Implementing Lean Software Development – From Concept to Cash.

Another example is the Amazon white paper ‘Jenkins on AWS‘, where they provide a recipe for implementing Continuous Deployment on AWS, via using software such as Jenkins running on their Cloud service.

Critically the paper also describes how this capability is the foundation for higher up business benefits derived from the same productivity improvements, ie faster software = faster product innovation. This is described equally as Continuous Innovation, the business level transformation achieved through adopting Continuous Deployment building blocks.

This defines the core mechanic of how to harness maturity model planning for Cloud computing, highlighting how leveraging the fast, easy deployment feature of IaaS to make available applications that also speed further adoption.

In short each of these describes an approach of automating key steps to eliminate the various manual procedures of development and release management, as the mechanism for maturing the overall capability and speeding software throughput. This TechTarget article describes this maturity progression in a very simplified form that the models provide the detail for:

Identifying Process Constraints

This presentation from NTT Communications describes this constraint, making the specific point that tools could only achieve a certain level of improvement, their bigger challenges arose from organizational dynamics.

NTT make the critical observation that define the limitations of their progress and with this the need for broader organizational transformation. On slide 23 showing their future plans and challenges, they highlight how they reached the ceiling limits of what toolchains alone can achieve:

“Each section has its own Agile environment.

Difficult to promote collaboration over the sections.”

In other words tools can only solve tool-related problems – Those created by organizational boundaries et al therefore need organizational level solutions.

Starting to define organizational change sets the scene for the role of Business Architecture, providing the tools to both plan the desired future state team and process models, but also help document what the current capabilities are, often a big part of the challenge.

For example Value Stream Mapping is the process of analyzing the flow of work across teams, literally identifying those activities that add value to customer workflow. This would start to identify the blockages caused by departmental silos, as NTT describe. How to better optimize them then the process of planning DevOps transformation.

Therefore it can be seen as a keystone foundation of enabling an overall enterprise culture of continuous innovation, where activities such as Value Stream Mapping can underpin the core skill sets required to implement this throughout the enterprise, as part of designing it in line with Lean principles.

Organizations such as Philips define it as the framework essential to their enterprise-wide innovation program.

Not just about commercial product development. For example in this guide the NHS also describe how it is key to their organizational improvement.

You May Also Like

About the Author: CBPN Editor

Leave a Reply

Your email address will not be published. Required fields are marked *