Welcome!

Microservices Expo Authors: Jason Bloomberg, Elizabeth White, Liz McMillan, Flint Brenton, Yeshim Deniz

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.

@MicroservicesExpo Stories
Many organizations are now looking to DevOps maturity models to gauge their DevOps adoption and compare their maturity to their peers. However, as enterprise organizations rush to adopt DevOps, moving past experimentation to embrace it at scale, they are in danger of falling into the trap that they have fallen into time and time again. Unfortunately, we've seen this movie before, and we know how it ends: badly.
"I focus on what we are calling CAST Highlight, which is our SaaS application portfolio analysis tool. It is an extremely lightweight tool that can integrate with pretty much any build process right now," explained Andrew Siegmund, Application Migration Specialist for CAST, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Explosive growth in connected devices. Enormous amounts of data for collection and analysis. Critical use of data for split-second decision making and actionable information. All three are factors in making the Internet of Things a reality. Yet, any one factor would have an IT organization pondering its infrastructure strategy. How should your organization enhance its IT framework to enable an Internet of Things implementation? In his session at @ThingsExpo, James Kirkland, Red Hat's Chief Archi...
Don’t go chasing waterfall … development, that is. According to a recent post by Madison Moore on Medium featuring insights from several software delivery industry leaders, waterfall is – while still popular – not the best way to win in the marketplace. With methodologies like Agile, DevOps and Continuous Delivery becoming ever more prominent over the past 15 years or so, waterfall is old news. Or, is it? Moore cites a recent study by Gartner: “According to Gartner’s IT Key Metrics Data report, ...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Without a clear strategy for cost control and an architecture designed with cloud services in mind, costs and operational performance can quickly get out of control. To avoid multiple architectural redesigns requires extensive thought and planning. Boundary (now part of BMC) launched a new public-facing multi-tenant high resolution monitoring service on Amazon AWS two years ago, facing challenges and learning best practices in the early days of the new service.
You often hear the two titles of "DevOps" and "Immutable Infrastructure" used independently. In his session at DevOps Summit, John Willis, Technical Evangelist for Docker, covered the union between the two topics and why this is important. He provided an overview of Immutable Infrastructure then showed how an Immutable Continuous Delivery pipeline can be applied as a best practice for "DevOps." He ended the session with some interesting case study examples.
All organizations that did not originate this moment have a pre-existing culture as well as legacy technology and processes that can be more or less amenable to DevOps implementation. That organizational culture is influenced by the personalities and management styles of Executive Management, the wider culture in which the organization is situated, and the personalities of key team members at all levels of the organization. This culture and entrenched interests usually throw a wrench in the work...
Without lifecycle traceability and visibility across the tool chain, stakeholders from Planning-to-Ops have limited insight and answers to who, what, when, why and how across the DevOps lifecycle. This impacts the ability to deliver high quality software at the needed velocity to drive positive business outcomes. In his general session at @DevOpsSummit at 19th Cloud Expo, Eric Robertson, General Manager at CollabNet, will discuss how customers are able to achieve a level of transparency that e...
We all know that end users experience the internet primarily with mobile devices. From an app development perspective, we know that successfully responding to the needs of mobile customers depends on rapid DevOps – failing fast, in short, until the right solution evolves in your customers' relationship to your business. Whether you’re decomposing an SOA monolith, or developing a new application cloud natively, it’s not a question of using microservices - not doing so will be a path to eventual ...
We all know that end users experience the internet primarily with mobile devices. From an app development perspective, we know that successfully responding to the needs of mobile customers depends on rapid DevOps – failing fast, in short, until the right solution evolves in your customers' relationship to your business. Whether you’re decomposing an SOA monolith, or developing a new application cloud natively, it’s not a question of using microservices - not doing so will be a path to eventual ...
We all know that end users experience the Internet primarily with mobile devices. From an app development perspective, we know that successfully responding to the needs of mobile customers depends on rapid DevOps – failing fast, in short, until the right solution evolves in your customers' relationship to your business. Whether you’re decomposing an SOA monolith, or developing a new application cloud natively, it’s not a question of using microservices – not doing so will be a path to eventual b...
Docker is sweeping across startups and enterprises alike, changing the way we build and ship applications. It's the most prominent and widely known software container platform, and it's particularly useful for eliminating common challenges when collaborating on code (like the "it works on my machine" phenomenon that most devs know all too well). With Docker, you can run and manage apps side-by-side - in isolated containers - resulting in better compute density. It's something that many developer...
"DivvyCloud as a company set out to help customers automate solutions to the most common cloud problems," noted Jeremy Snyder, VP of Business Development at DivvyCloud, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
The goal of Microservices is to improve software delivery speed and increase system safety as scale increases. Microservices being modular these are faster to change and enables an evolutionary architecture where systems can change, as the business needs change. Microservices can scale elastically and by being service oriented can enable APIs natively. Microservices also reduce implementation and release cycle time and enables continuous delivery. This paper provides a logical overview of the Mi...
Your homes and cars can be automated and self-serviced. Why can't your storage? From simply asking questions to analyze and troubleshoot your infrastructure, to provisioning storage with snapshots, recovery and replication, your wildest sci-fi dream has come true. In his session at @DevOpsSummit at 20th Cloud Expo, Dan Florea, Director of Product Management at Tintri, provided a ChatOps demo where you can talk to your storage and manage it from anywhere, through Slack and similar services with...
"We're developing a software that is based on the cloud environment and we are providing those services to corporations and the general public," explained Seungmin Kim, CEO/CTO of SM Systems Inc., in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
In his session at Cloud Expo, Alan Winters, U.S. Head of Business Development at MobiDev, presented a success story of an entrepreneur who has both suffered through and benefited from offshore development across multiple businesses: The smart choice, or how to select the right offshore development partner Warning signs, or how to minimize chances of making the wrong choice Collaboration, or how to establish the most effective work processes Budget control, or how to maximize project result...
In his keynote at 19th Cloud Expo, Sheng Liang, co-founder and CEO of Rancher Labs, discussed the technological advances and new business opportunities created by the rapid adoption of containers. With the success of Amazon Web Services (AWS) and various open source technologies used to build private clouds, cloud computing has become an essential component of IT strategy. However, users continue to face challenges in implementing clouds, as older technologies evolve and newer ones like Docker c...
In his keynote at 19th Cloud Expo, Sheng Liang, co-founder and CEO of Rancher Labs, discussed the technological advances and new business opportunities created by the rapid adoption of containers. With the success of Amazon Web Services (AWS) and various open source technologies used to build private clouds, cloud computing has become an essential component of IT strategy. However, users continue to face challenges in implementing clouds, as older technologies evolve and newer ones like Docker c...