Welcome!

Microservices Expo Authors: Pat Romanski, Elizabeth White, Steve Wilson, Stackify Blog, Derek Weeks

Related Topics: @DevOpsSummit, Linux Containers, Containers Expo Blog

@DevOpsSummit: Blog Post

The DevOps Equation: Agility + Empathy = Quality | @DevOpsSummit #DevOps

Derek Weeks interviews Jeff Sussna on the importance of designing for service and responding to the unexpected

I had the chance to catch up with Jeff Sussna ahead of his keynote address on continuous design, scheduled for DevOpsDays Atlanta, April 26-27. Jeff discussed the importance of designing for service, responding to the unexpected, and the importance of building empathy across teams.

Derek Weeks: Today, I'm really happy that we have Jeff Sussna joining us for the latest in this series. Jeff, why don't you introduce yourself?

Jeff Sussna: Sure. Thanks for having me. I'm an independent consultant. I've been around since rocks were young or the 80s, whichever is older. My particular background is that I have built systems and led organizations across the entire development, QA and operations spectrum. So, I'm a little unique in that respect.

My current focus is on helping IT organizations and digital businesses really bring together their ops and design thinking so they can not only go faster and not only be more resilient, but also provide more customer value at the same time.

DW: Let's talk about that a little. How is continuous design - a subject you have written a lot about - coming into play? How can it help us be more resilient?

JS: Just to explain a little about what we mean by continuous design. It's basically bringing together the entire organization and a unifying design in operations. It's taking what we are doing in DevOps and expanding it to include product, design and support. It lets the whole organization really have an agile conversation with a market and with its customers.

The issue that we face is that we live in a service world now. The point is no longer delivering products like cars coming off an assembly line. It's much more about responding to our customers and having relationships with them. This is happening in a world that is more and more complex, while less and less is in your control. We can't figure everything out in advance. We have to have the ability to respond to the unexpected. We have to be able to do that at every level.

____

"This is happening in a world that is more and more complex, while less and less is in your control."

____

I will give you a couple examples of things that are perfect illustrations of this:

I recently wished a friend of mine happy birthday. The reason I did that was because there was a notice on my calendar that said it was her birthday. It was wrong. It wasn't her birthday. I had no idea where that notice came from. Did it come from Skype? Did it come from LinkedIn? Did it come from email? I had no idea.

We face that in IT too. Systems are becoming more complex. We develop microservices. We use public and private clouds at multiple levels. We're no longer in a situation where we can control things. We have to be able to respond and respond at all levels.

____

When we make design and operations unified and continuous, we are able to say, "Where did we think we were going? Where would we need to go? And, what do we do next?"

____

What I talk about in my book, in my workshops and in all my work is that this needs to happen at every level. It's not just a matter of designing for failure inside the data center or inside the infrastructure. We also have to do it at other levels.

Here is another example:

I was trying to get paid recently by a large enterprise client in Europe. They were trying to wire money internationally; my bank wasn't really set up for it, and they were having problems. They just kind of gave up. I kept getting these messages saying, "Sorry, we tried paying you and it didn't work." That was the end of it.

I started to get frustrated, and my client within the enterprise started to get frustrated to the point where they sent a scathing email to our AP department (which they cc'd me on) saying, "Why can't we take the lead to get this guy paid?"

That's an approach that is based on resilience in the sense of assuming that something can go wrong and figuring out what he can do to fix it when it can go wrong. As opposed to the traditional approach where we've been trained to push certain buttons and take certain actions. If those actions don't work the way they are supposed to, well, I guess that is someone else's problem.

https://www.youtube.com/watch?v=ISSMHmwIMtA

DW: This brings to light some recent conversations I had with Paula Thrasher at CSRA. She was talking about developing systems and how to make them more resilient. She is using pictures as part of her conversations with people to help visualize their work. What work steps are there? What work is flowing? What is communicating with what?

Are you taking similar approaches with continuous design in how you work with clients to pursue it?

JS: Well, I try to introduce them to the principles, and I also try to introduce them to a set of practices which actually comes out of Mark Burgess' work on promise theory. It is really a conceptual model for how we think about success and failure and how we think about service. For example, Amazon helps you get everything you need in your life from shaving cream to batteries to snow tires to books as quickly and easily as possible. In order to keep that promise, they make a whole variety of other promises. Some of which filter all the way down to a promise to be able to go over change to production as quickly as possible.

Once you take that mindset, the interesting thing about a promise and the reason we use that word is because it is very intuitive. We all know what a promise is. We all make promises to each other every day. On the other hand, when we think about it in terms of service, IT or whatever, it may seem a little odd. The thing about promises is that, on the one hand, we are making commitments to do things, and on the other hand, promises sometimes get broken. That is actually good because it forces us to think. If I promised to pay my vendor, what do I do if I'm not succeeding in paying my vendor?

____

"The thing about promises is that, on the one hand, we are making commitments to do things, and on the other hand, promises sometimes get broken. That is actually good because it forces us to think."

____

It's sort of flipping our mind. Again, we are doing this in the DevOps world where you start thinking about things like mean time to repair (MTTR) instead of mean time between failure (MTBF). We shift from how do we create a situation to how do we create a situation in which nothing will ever break - which becomes less and less possible. We then need to shift to a situation where we can respond more and more quickly.

We go to executives and say we don't want to worry about how often stuff breaks anymore, and they freak out. We have to teach them and we have to teach ourselves that we can't prevent things from breaking. Instead, let's be able to fix them so quickly that maybe no one notices. My focus is on really helping people shift their mindset from thinking about ourselves to thinking about who we are helping. And from thinking about what we are doing to thinking about how well it succeeds and how well it overcomes problems.

____

"We have to teach them and we have to teach ourselves that we can't prevent things from breaking. Instead, let's be able to fix them so quickly that maybe no one notices."

____

DW: You talked about delivering on promises as quickly as possible. How does continuous design account for doing things as quickly as possible but making sure the quality is there at the same time?

JS: In two ways: One way is that when you do things in small increments, you are able to find problems more quickly. This is classic; it comes out of Lean. It comes out of integration. It's pretty basic stuff for our community now that it's much easier to find and fix a bug five minutes after you change a code than five weeks after you change the code.

When you put things like Linux, Agile, DevOps and design all together, they all focus on incremental feedback loops where you very quickly discover the gap between what you think you're accomplishing and what you're actually accomplishing. Secondly, when you take this all to the way to the marketplace and you make it part of the relationship with your customer, you can reduce a tremendous amount of waste.

The way to think about continuous design is: It's all about steering. Think about a boat that you're trying to sail across a bay. You can't just point the boat at the other side and say go because the winds are changing, and you're going to have to respond to things that you can't predict. If you sail for 20 minutes then discover you had pointed in the wrong direction, you're going to be way off course. You're then going to generate a tremendous amount of energy getting back on course.

What continuous design says is just an extension of continuous integration and continuous delivery taken all the way though the business. When we steer continuously, we steer efficiently.

____

"What continuous design says is just an extension of continuous integration and continuous delivery taken all the way though the business. When we steer continuously, we steer efficiently."

____

DW: I know you're going to be keynoting DevOpsDays Atlanta coming up in April. Chris Corriere, one of the guys on the organizing committee, tells me that you're leading a full-day workshop on continuous design before that. Maybe you could tell some of the people that are attending DevOpsDays Atlanta why they should be there a day earlier for your workshop and what things you're going to address during that time.

JS: To some degree, what I am going to address is everything we have been talking about for the last ten minutes or so - relative to DevOps. I think the key thing is - and we need to think about it - we need to think about more than just going fast. One of the big misunderstandings that I see with DevOps is this notion that it is primarily about delivering application changes to production faster. That's only half of it. We really need to think about it from the perspective of providing service.

____

"One of the big misunderstandings that I see with DevOps is this notion that it is primarily about delivering application changes to production faster. That's only half of it. We really need to think about it from the perspective of providing service."

____

You know what we are talking about is essentially developers and operations people providing better service to each other. As a result, they can deliver better service to the business.

Where we talk about microservices, you know that word service is in there for a reason. If all you do is you kind of shatter your organization and shatter your architecture into a bunch of little pieces, you still have to figure out how those pieces come back together into something coherent. The answer to that is taking a really deep service-oriented approach. That is very much what my workshop is about. What does that word even mean, and how do we do it?

DW: You mentioned thinking about interactions as delivering better service to one another within the organization. How does empathy come into your thinking around DevOps and continuous design?

JS: I'd like to say agility plus empathy equals quality. What I mean by that, in particularly empathy, I think it's important to take a minute and clarify. When we talk about empathy, we are not talking about wallowing in someone else's pain. We're not even necessarily talking about things on an emotion or feeling level. It's very simply the ability to see things as if from another's perspective. I will give you a prime example of where that comes into play and how it's important and how it helps.

____

Agility + Empathy = Quality

____

When I work with clients, I tend to look at their process using their organization from the product beginning to the support end. Oftentimes, I see support getting the short end of the stick. I see places where they get phone calls from customers with features that they don't even know exist yet. They sometimes get talked down to by development or product or even operations. They say things like, "Well, you're just supposed to support the stuff. You're the young people. You're the less experienced people."

When we have the ability to see things from their perspective, we can think about how support is actually experiencing our delivery process. If we don't think about them when we go through the process of delivering new features, they will be lost. Them being lost will show when customers call for help. That will significantly affect customer satisfaction and then even beyond.

The reason we need to empathize with support is so we can empathize with the customer. Oftentimes, when we build something, we don't think about the notion that our customers might have trouble with it. On the one hand, we have the illusion that if we design it and we build it really well, they won't have trouble. We can't perfectly predict who they are, what they need or what they will encounter. There's an inevitability to the idea that they are going to need some amount of help.

DW: I think that is probably the best description of empathy within a DevOps environment that I have heard anyone talk about. Jeff, it has been a great conversation. Thank you very much. I really appreciate it, and we look forward to seeing you at DevOpsDays Atlanta coming up.

JS: Thanks. It has been great talking to you, and I am really looking forward to the conference. It will be fun.

If you want to learn more about continuous design from Jeff, be sure to join us at DevOpsDays Atlanta. I will also be at the event giving an Ignite Talk entitled "Real Heroes Draw Pictures" focusing on lessons learned from the 31 DevOps and Continuous Delivery Reference Architectures assembled.

More Stories By Derek Weeks

In 2015, Derek Weeks led the largest and most comprehensive analysis of software supply chain practices to date across 160,000 development organizations. He is a huge advocate of applying proven supply chain management principles into DevOps practices to improve efficiencies, reduce costs, and sustain long-lasting competitive advantages.

As a 20+ year veteran of the software industry, he has advised leading businesses on IT performance improvement practices covering continuous delivery, business process management, systems and network operations, service management, capacity planning and storage management. As the VP and DevOps Advocate for Sonatype, he is passionate about changing the way people think about software supply chains and improving public safety through improved software integrity. Follow him here @weekstweets, find me here www.linkedin.com/in/derekeweeks, and read me here http://blog.sonatype.com/author/weeks/.

@MicroservicesExpo Stories
In his session at 20th Cloud Expo, Mike Johnston, an infrastructure engineer at Supergiant.io, discussed how to use Kubernetes to set up a SaaS infrastructure for your business. Mike Johnston is an infrastructure engineer at Supergiant.io with over 12 years of experience designing, deploying, and maintaining server and workstation infrastructure at all scales. He has experience with brick and mortar data centers as well as cloud providers like Digital Ocean, Amazon Web Services, and Rackspace. H...
When you focus on a journey from up-close, you look at your own technical and cultural history and how you changed it for the benefit of the customer. This was our starting point: too many integration issues, 13 SWP days and very long cycles. It was evident that in this fast-paced industry we could no longer afford this reality. We needed something that would take us beyond reducing the development lifecycles, CI and Agile methodologies. We made a fundamental difference, even changed our culture...
As many know, the first generation of Cloud Management Platform (CMP) solutions were designed for managing virtual infrastructure (IaaS) and traditional applications. But that’s no longer enough to satisfy evolving and complex business requirements. In his session at 21st Cloud Expo, Scott Davis, Embotics CTO, will explore how next-generation CMPs ensure organizations can manage cloud-native and microservice-based application architectures, while also facilitating agile DevOps methodology. He wi...
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...
These days, change is the only constant. In order to adapt and thrive in an ever-advancing and sometimes chaotic workforce, companies must leverage intelligent tools to streamline operations. While we're only at the dawn of machine intelligence, using a workflow manager will benefit your company in both the short and long term. Think: reduced errors, improved efficiency and more empowered employees-and that's just the start. Here are five other reasons workflow automation is leading a revolution...
We have Continuous Integration and we have Continuous Deployment, but what’s continuous across all of what we do is people. Even when tasks are automated, someone wrote the automation. So, Jayne Groll evangelizes about Continuous Everyone. Jayne is the CEO of the DevOps Institute and the author of Agile Service Management Guide. She talked about Continuous Everyone at the 2016 All Day DevOps conference. She describes it as "about people, culture, and collaboration mapped into your value streams....
Cloud adoption is often driven by a desire to increase efficiency, boost agility and save money. All too often, however, the reality involves unpredictable cost spikes and lack of oversight due to resource limitations. In his session at 20th Cloud Expo, Joe Kinsella, CTO and Founder of CloudHealth Technologies, tackled the question: “How do you build a fully optimized cloud?” He will examine: Why TCO is critical to achieving cloud success – and why attendees should be thinking holistically ab...
Docker is on a roll. In the last few years, this container management service has become immensely popular in development, especially given the great fit with agile-based projects and continuous delivery. In this article, I want to take a brief look at how you can use Docker to accelerate and streamline the software development lifecycle (SDLC) process.
We define Hybrid IT as a management approach in which organizations create a workload-centric and value-driven integrated technology stack that may include legacy infrastructure, web-scale architectures, private cloud implementations along with public cloud platforms ranging from Infrastructure-as-a-Service to Software-as-a-Service.
Did you know that you can develop for mainframes in Java? Or that the testing and deployment can be automated across mobile to mainframe? In his session and demo at @DevOpsSummit at 21st Cloud Expo, Dana Boudreau, a Senior Director at CA Technologies, will discuss how increasingly teams are developing with agile methodologies, using modern development environments, and automating testing and deployments, mobile to mainframe.
As DevOps methodologies expand their reach across the enterprise, organizations face the daunting challenge of adapting related cloud strategies to ensure optimal alignment, from managing complexity to ensuring proper governance. How can culture, automation, legacy apps and even budget be reexamined to enable this ongoing shift within the modern software factory?
While some vendors scramble to create and sell you a fancy solution for monitoring your spanking new Amazon Lambdas, hear how you can do it on the cheap using just built-in Java APIs yourself. By exploiting a little-known fact that Lambdas aren’t exactly single-threaded, you can effectively identify hot spots in your serverless code. In his session at @DevOpsSummit at 21st Cloud Expo, Dave Martin, Product owner at CA Technologies, will give a live demonstration and code walkthrough, showing how ...
There are several reasons why businesses migrate their operations to the cloud. Scalability and price are among the most important factors determining this transition. Unlike legacy systems, cloud based businesses can scale on demand. The database and applications in the cloud are not rendered simply from one server located in your headquarters, but is instead distributed across several servers across the world. Such CDNs also bring about greater control in times of uncertainty. A database hack ...
@DevOpsSummit at Cloud Expo taking place Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center, Santa Clara, CA, is co-located with the 21st International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is ...
API Security is complex! Vendors like Forum Systems, IBM, CA and Axway have invested almost 2 decades of engineering effort and significant capital in building API Security stacks to lockdown APIs. The API Security stack diagram shown below is a building block for rapidly locking down APIs. The four fundamental pillars of API Security - SSL, Identity, Content Validation and deployment architecture - are discussed in detail below.
With Cloud Foundry you can easily deploy and use apps utilizing websocket technology, but not everybody realizes that scaling them out is not that trivial. In his session at 21st Cloud Expo, Roman Swoszowski, CTO and VP, Cloud Foundry Services, at Grape Up, will show you an example of how to deal with this issue. He will demonstrate a cloud-native Spring Boot app running in Cloud Foundry and communicating with clients over websocket protocol that can be easily scaled horizontally and coordinate...
In his session at 20th Cloud Expo, Scott Davis, CTO of Embotics, discussed how automation can provide the dynamic management required to cost-effectively deliver microservices and container solutions at scale. He also discussed how flexible automation is the key to effectively bridging and seamlessly coordinating both IT and developer needs for component orchestration across disparate clouds – an increasingly important requirement at today’s multi-cloud enterprise.
DevOps at Cloud Expo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 21st Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to w...
IT organizations are moving to the cloud in hopes to approve efficiency, increase agility and save money. Migrating workloads might seem like a simple task, but what many businesses don’t realize is that application migration criteria differs across organizations, making it difficult for architects to arrive at an accurate TCO number. In his session at 21st Cloud Expo, Joe Kinsella, CTO of CloudHealth Technologies, will offer a systematic approach to understanding the TCO of a cloud application...
Most companies are adopting or evaluating container technology - Docker in particular - to speed up application deployment, drive down cost, ease management and make application delivery more flexible overall. As with most new architectures, this dream takes a lot of work to become a reality. Even when you do get your application componentized enough and packaged properly, there are still challenges for DevOps teams to making the shift to continuous delivery and achieving that reduction in cost ...