As discussed in my last post, after setting the vision to “responsibly move at market speed” and defining the KPI’s, you can break the technical organization into three focused, empowered teams:
Team 1: hybrid cloud
Team 2: continuous delivery
Team 3: continuous insights
I addressed hybrid cloud in my previous post. Today I’m going to focus on continuous delivery and insights.
I like to think of the following guiding principle when approaching continuous delivery…
I’ve been involved with previous projects that attempted to rollout Agile and DevOps across the organization that have failed because of philosophical debates. Those passionate about Agile methodologies would argue with those that believed Waterfall was best. Similarly, those that believed DevOps was the right approach were quickly met with fervent arguments for strictly adhering to ITIL and segregation of duties. Each of these camps preached their beliefs, built a small following, but struggled to drive real change. For Continuous Delivery, organizations must strive to deliver automation that solves specific pain points plaguing their application teams.
The second most important innovation in the solution is the software development analytics organizations are able to capture and leverage for their decisions. With automation in place, they are able to determine the best/worst developers, best/worst offshore contractors, and best/worst application teams leveraging the data they collect from the Continuous Delivery platform. They can then use this data to negotiate better prices with their offshore vendors, hold the vendors accountable for the quality of their code, as well as build customized technical development plans for their own application developers.
From an application team’s perspective:
- The app developer checks in code
- The code is automatically deployed to the hybrid cloud using the Development application pattern
- If the code fails the automated checks (e.g., Static Security Scans and other “white box” analysis) the build fails, and the application developer is notified
- If the code passes the build checks, it is automatically deployed using the Test application pattern, where additional automated checks (e.g., Dynamic Security Scans, automated regression tests, and other “black box” analysis) are executed
- If the code passes the additional checks, it is marked as ready for production, and in certain cases the code is automatically deployed, and in other instances, the production deploy will require approvals from the CIO. The code will be deployed using the Production application pattern
- Throughout this entire process, data is collected and conveyed to the team via the analytics dashboard
Back to the candles versus religion analogy — by focusing on solving acute problems plaguing the application teams, orgs are able to deliver the Continuous Delivery platform without distracting themselves with subjective debates. Over time, the application teams naturally change their team structure and processes to take advantage of the Continuous Delivery services provided and the application teams essentially implement the best practices from Agile and DevOps.
Three principles to govern technical decisions for Continuous Insights:
Some organizations are flying blind. When an outage occurs, even for the simplest and most common reasons like a memory leak in the application, it will result in all-hands-on-deck crisis. Subject matter experts from all layers in the technology solution are summoned to a conference call. Rather than collectively seeking the root-cause, component owners will instead defend why the problem isn’t in their area, and that the team needs to look elsewhere. Which brings me to the third most important innovation in the solution — a real-time dashboard for Product Managers and IT Operations will provide actionable commercial insights and enable them to quickly visualize, analyze, and take proactive action. Every application pattern in the hybrid cloud should be fully instrumented, providing a 360-degree view – including user-experience, business process performance, and infrastructure services – of what’s happening in the system. The data can be aggregated using operational analytics and business activity monitoring (BAM) technologies. This combination allows orgs to create customized views and quickly dig into the data.
The following example shows how Continuous Insights prevents a Failed Customer Interaction from occurring:
- The system detects that there’s a problem between the Loan Originations application and the system of record by monitoring server logs, searching for specific error messages
- Once the error is detected, customer service is notified about the in-flight loan applications that are about to have an issue, allowing customer service to pro-actively reach out to the application via telephone or email, providing personal assistance to close the deal
- In parallel, all of the relevant log data from 5 minutes before, and 3 minutes after the error are collected and shown on a single pane of glass within IT Operations
- The IT Operations expert has all of the data necessary to diagnose the problem, determine the root cause, and take corrective action, significantly reducing the mean-time-to-recovery (MTTR)
- For issues that occur frequently, a common corrective action or preventative measures can be automatically executed, avoiding the problem altogether.
The dashboard for product managers is built on the same underlying technology, but is focused on how customers are using the services. Organizations must establish a cadence for continuous improvement based on the data from the Continuous Insights platform. IT Operations and application teams use the dashboards to collaboratively determine problems in the applications.
Bringing it all together
Individually, the hybrid cloud, continuous delivery, and continuous insights capabilities will incrementally move the needle. By combining these three technologies in innovative ways, organizations can truly transform how they operate:
- Product managers can identify new features and services
- Application developers can continuously delivery those features to market with quality and predictability
- Those features run on an inherently secure and compliant application platform via hybrid cloud and application patterns
- The features are fully instrumented, providing actionable commercial insights to our product managers and IT operations, enabling them listen to the data and pivot or iterate
- We’re able to provide qualitative and quantitative evidence to our auditors – via standardized application patterns, software development analytics, and 360-degree monitoring of our application behavior –proving that we’re operating responsibly.
I look forward to continuing this series soon, when I discuss innovation and stability at reduced costs.
CTO, Splunk Inc.
Earning a Seat at the Table: Introduction
Earning a Seat at the Table: Responsibly Move at Market Speed
Earning a Seat at the Table: Hybrid Cloud with Continuous Delivery & Insights (Part 1)