Reduce the friction of digital transformation
TLDR
Over the past few years in consulting I have found myself being brought into opportunities around innovation/disruption/new product development, and agile transformation. In most occasions this is tied to a digital transformation initiative. Without discussing the nuances of these terms, I usually end up in a situation where the core competency the organization is missing is business agility. I have largely come to the point of view that if you want to achieve business agility, instilling an business and technical architecture that makes it as easy as possible to build and deliver new products is an enabling capability. In this article, I'm going to focus on people, structure, and technology of product development teams, and how this creates a foundation for organizations to build on in their journey towards business agility.
Preface
I came across an article on medium.com that had a very catchy title "No one should write Terraform". Being a fan/developer of Terraform, a DevOps evangelist, and an adherent to "Infrastructure as Code (IaC)", I wanted to understand the author's point of view. The author hits on a bunch of topics (agile, DevOps, software development, culture) , but essentially he was saying that the (relatively) new AWS Cloud Development Kit (aka CDK) for Terraform is a positive step forward in the DevOps tooling and maturity landscape, and teams should use that, instead of Terraform directly. I responded to the writer and opined on agile and the role DevOps has to play in that. Interestingly enough, that one response got what I consider to be a phenomenal number of "fans". So I thought that I should probably expand on my thoughts and since it applies directly to what I tend to do in my everyday job, I thought I would do that here.
Then I came across this article, by Camille Fournier , that touches on nearly everything I feel about this domain of digital/agile transformation, and/or innovation/disruption, and the very important role software development and IT organizations have to play in that transformation. So instead of writing the same article again, I thought I would simply highlight the aspects which I feel are critical, based on my experience working in, leading, and now consulting to IT organizations over the past 20+ years. Basically, I'm being the biggest advocate of Camille's writing that I can be.
[One caveat so all my infrastructure friends don't immediately unfriend me: I know there are reasons for certain Security & Infrastructure individuals to be independent, and where ticketing systems might be of value. Those are unique use cases that need to be addressed, but not relevant to the challenge(s) we are discussing herein.]
The highlights
Camille hits on many good points. I would like to add the following:
The role of Cloud
To be clear, these business architecture problems have existed way before the cloud. This point of view started when I was a team member developing software for a large company. But the cloud presents a very big opportunity if you realize the transformation required. For your technology architecture, I believe the cloud can be the easy button for your company - full stop.
The dominant cloud platforms (AWS, Azure, GCP) bring together many capabilities that can make agility easier. The cloud can be your easy button for technology IF you enable your teams to use it to its fullest capabilities. If you break it up into the typical silos present in your current on-premise architecture, you will probably devolve into cost-focused arguments about which is cheaper (cloud vs on-premise), or why nothing seems easier or faster in the cloud. And all the executives in the company will wonder "why we spend all this money on cloud" and other really hard questions. These questions are another "smell". Instead, focus on the transformational value that can be attained.
To be successful with the cloud your ProdUXDevSecInfraOps teams need to be empowered to easily provision, prototype, build, test, deploy, revise, and monitor their products in the cloud. They shouldn't be filing tickets to get stuff done by someone else who is not part of their product backlog. You need "Digital Architects" who are thinking about this, and creating an environment in the cloud that enables this. And it has to be secure and reliable - I am not advocating for the so-called "wild west" infrastructure nightmares.
My point is this: Don't let people exist in silos, especially if they are critical to having products come to life - they should be part of your value chain. Next, engineer your business and technical architectures with this guiding principle: Minimize the friction in your value chain for the ProdUXDevSecInfraOps teams.
Let me know your thoughts. Questions about how to do this? Drop me a note on LinkedIn. I write on medium as well, but typically not about work stuff. Besides myself, my organization has many brilliant people who also have great perspectives on this subject (e.g Wilson Tarleton )
Parting thoughts
This article was not meant to holistically address what it takes to achieve business agility. Two topics come to mind:
Human Centric Tech and AI Expert On a mission to empower individuals and enable teams to scale with AI. Follow and learn AI with me!
2 年Fascinating and well said. “I usually end up in a situation where the core competency the organization is missing is business agility. I have largely come to the point of view that if you want to achieve business agility, instilling an business and technical architecture that makes it as easy as possible to build and deliver new products is an enabling capability.” This same experience of seeing that organizations lack of business agility, caused me to start a new brand that focuses on the humans as their own entity in systems with the samw rigor. I don’t think that agile (or waterfall) work as well to configure humans as they do to configure technology so I experimented with a human centric methodology. If your situation was compared to the car industry then Amazon/google/Microsoft would be car manufacturers, and partners would be dealerships, and the issue that you’re describing is that the job to be done for dealerships is to order and configure the right car. But then the new owner wrecks it leaving the lot because another issue (it turns out) is that the business didn’t know how to drive and dealerships aren’t Drivers Ed. I got sick of all the wrecks and started The Human Stack? to focus on drivers.