Welcome!

Eclipse Authors: Pat Romanski, Elizabeth White, Liz McMillan, David H Deans, JP Morgenthal

Related Topics: @DevOpsSummit, Eclipse, @CloudExpo

@DevOpsSummit: Blog Feed Post

Making Agile Real: The Zen of Continuous Delivery By @XebiaLabs | @DevOpsSummit [#DevOps]

Much of what is written about Continuous Delivery at present seems to revolve around technical challenges

Making Agile Real: The Zen of Continuous Delivery

By Andrew Phillips

Much of what is written about Continuous Delivery at present seems to revolve around technical challenges and technical choices: “Which is better: Puppet, Chef or Salt?”, “Should I use Jenkins, Go or XL Release?”, “How do I build a CD pipeline with containers?” etc. etc. If we’re looking at CD properly, though, this is the sideshow – an implementation detail at best. The real CD story is much bigger.

Don’t get me wrong: as a technical kind of person, I can get very enthusiastic about the tech: there are a lot of cool tools and frameworks out there and the tooling landscape is expanding rapidly. Working with evolving technology is a lot of fun, and there are plenty of challenges to be solved around supporting Continuous Delivery at scale…which is why we develop XL Release, XL Deploy and XL Test.

The fact that we now have a set of tools to automatically build and deploy applications, provision environments, run tests and more is not what I think is important about CD, however. Even the notion of wiring all these tools up efficiently to create delivery pipelines isn’t all that interesting. To me, the thing that is really exciting about Continuous Delivery is that it can allow us to fundamentally change the way we interact with our users. I think CD can finally allow us to turn software delivery into something approaching a modern consumer experience.

In short, Continuous Delivery isn’t a toolset, and it isn’t a business process either. Continuous Delivery is a new way of doing business.

What does this “new way of doing business” look like? What is the mindset, or the culture of a Continuous Delivery organization? To me, these are the most important aspects: focus on the end user and improve through data.

Part 1: Focus on the end user

Having a focus on the end user sounds like an obvious statement that every organization should claim to aspire to, but given the way we release software today, there is often an enormous gap between the people creating the software and those that actually use it. I’ve worked on numerous teams where we never really knew who was actually going to use the software, or why. We certainly didn’t have any personal contact with the end users of our software, and thus little ability to empathize with their needs and constraints, or put ourselves into their shoes to try to understand how the system could best work for them.

This gap, which was reinforced by organizational structures that put lots of layers between developers and users, resulted in something like an “emotional variant” of Conway’s Law: not only did we build systems that reflected the layers of organization, we developed mentalities and boundaries of empathy to match: “The system is totally unworkable for the users? OK, but look how clean our repository layout is/how elegantly we’ve managed to decouple these components/how complete our test coverage is…”

If your team knows your users, if you have some kind of personal connection with them, if you meet them from time to time for a chat, to talk about software, but also baseball, or family, or your next vacation, or whatever…you cannot feel proud of a system that is totally unworkable for them.

It’s not just enough to create an emotional connection, however. In order to turn the intrinsic motivation into great software and a great user experience, every member of the team needs to understand how the overall service they are creating is put together and delivered to the user. They also need to be able to contribute to improving the service if they see an opportunity to do so – whether in “their patch” or area of expertise or outside of it.

If you’re thinking that this sounds suspiciously like “product teams” or “end-to-end teams” or “Devops,” you’re very much on the right track. The key point here, though, is that this goes beyond development, QA and Operations to include the business and, beyond them, the end users for whom the software is actually being built. And the aim of giving everyone visibility over the entire process, and the ability to influence it, is not because more pairs of eyes can spot more opportunities for optimization: it’s because a more engaged team that has a greater influence on the delivered service and a stronger connection to the end user is more motivated to look for improvements in the first place.

Part 2: Improve through data

If we have a team that is motivated to continuously make things better for our end users, how do we identify where the opportunities for improvement are in the first place? If we have given them the chance to make changes, how do we figure out whether those changes are helping? In a word: data, data and more data.

It’s not as though we don’t have any data today, of course. Most organizations collect tons of information on many, many aspects of system behaviour. But the vast majority of this information is of a technical, operational nature: in most enterprises, it’s much, much easier to figure out whether a particular CPU in your data center is doing OK than understanding whether a particular user of your services is satisfied.

Which of the two pieces of knowledge is more important for your business, however? And if it’s the user that really matters, why then are we basing so many of decisions about the user-facing functionality and behaviour of our services on educated guesses and gut feel, without any kind of follow-up plan to figure out whether we guessed right?

Improving through data means applying the same methodology to making services better for our users that we apply to improving the technical performance of our systems:

  1. Measure to identify the pain point
  2. Formulate a hypothesis as to what is causing the pain point
  3. Make a small change to a single part of the system based on the hypothesis
  4. Measure to check for the expected improvement
  5. Rinse and repeat

So: no more all night feature brainstorm sessions; instead suggestions based on accurate, detailed information on how your users are actually interacting with your services. Feature requests with measurable (!) estimates of how the feature is supposed to affect users. Service architectures that allow for small changes to be quickly and efficiently deployed to production, and reverted if necessary. And, of course, applications that are designed to that collect whatever data is required to allow the impact of new features to be measured and the associated hypothesis to be verified or disproved.

Enough dreaming already..?

If you’re thinking that this all sounds very nice but will certainly not happen anytime soon in your organization, bear this in mind: you’re probably working with people in your own organization that are doing this today. Tell this story to your colleagues in Marketing or even HR and you’re quite likely to hear that this is all rather old hat. Advertising campaigns designed and targeted by analyzing the effect of previous efforts. A/B testing to help choose between multiple options, or to ensure comparison against a valid baseline. Full instrumentation to track every user interaction and collect all relevant metrics. Standard stuff in Marketing nowadays.

Or take HR: Personal development programs tailored to individual preferences and learning styles. Training courses that adapt to your current performance and suggest additional programs that might be useful for you. Again, all pretty normal today.

And all of it powered by software! The stuff that we are writing. It’s more than a little ironic that we have made it possible for so many fields to revolutionize their ways of working, yet have so far been unable to provide a better user experience ourselves.

That, to me, is what Continuous Delivery (and, by extension, Agile) is all about: revolutionizing the way we serve our users. Making the delivery of IT services a modern experience. An experience we can be proud of.

Let’s do it!

The post Making Agile Real: The Zen of Continuous Delivery appeared first on XebiaLabs.

Read the original blog entry...

More Stories By XebiaLabs Blog

XebiaLabs is the technology leader for automation software for DevOps and Continuous Delivery. It focuses on helping companies accelerate the delivery of new software in the most efficient manner. Its products are simple to use, quick to implement, and provide robust enterprise technology.

IoT & Smart Cities Stories
All in Mobile is a place where we continually maximize their impact by fostering understanding, empathy, insights, creativity and joy. They believe that a truly useful and desirable mobile app doesn't need the brightest idea or the most advanced technology. A great product begins with understanding people. It's easy to think that customers will love your app, but can you justify it? They make sure your final app is something that users truly want and need. The only way to do this is by ...
Digital Transformation and Disruption, Amazon Style - What You Can Learn. Chris Kocher is a co-founder of Grey Heron, a management and strategic marketing consulting firm. He has 25+ years in both strategic and hands-on operating experience helping executives and investors build revenues and shareholder value. He has consulted with over 130 companies on innovating with new business models, product strategies and monetization. Chris has held management positions at HP and Symantec in addition to ...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
DXWorldEXPO LLC announced today that Big Data Federation to Exhibit at the 22nd International CloudEXPO, colocated with DevOpsSUMMIT and DXWorldEXPO, November 12-13, 2018 in New York City. Big Data Federation, Inc. develops and applies artificial intelligence to predict financial and economic events that matter. The company uncovers patterns and precise drivers of performance and outcomes with the aid of machine-learning algorithms, big data, and fundamental analysis. Their products are deployed...
The challenges of aggregating data from consumer-oriented devices, such as wearable technologies and smart thermostats, are fairly well-understood. However, there are a new set of challenges for IoT devices that generate megabytes or gigabytes of data per second. Certainly, the infrastructure will have to change, as those volumes of data will likely overwhelm the available bandwidth for aggregating the data into a central repository. Ochandarena discusses a whole new way to think about your next...
CloudEXPO | DevOpsSUMMIT | DXWorldEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
Cell networks have the advantage of long-range communications, reaching an estimated 90% of the world. But cell networks such as 2G, 3G and LTE consume lots of power and were designed for connecting people. They are not optimized for low- or battery-powered devices or for IoT applications with infrequently transmitted data. Cell IoT modules that support narrow-band IoT and 4G cell networks will enable cell connectivity, device management, and app enablement for low-power wide-area network IoT. B...
The hierarchical architecture that distributes "compute" within the network specially at the edge can enable new services by harnessing emerging technologies. But Edge-Compute comes at increased cost that needs to be managed and potentially augmented by creative architecture solutions as there will always a catching-up with the capacity demands. Processing power in smartphones has enhanced YoY and there is increasingly spare compute capacity that can be potentially pooled. Uber has successfully ...
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...