Log in to watch

Log in or create a free account to watch this video.

Log in
Europe 2022
Share
Download slides

How to Upskill Your Teams to Increase DevOps Maturity

Learn about the guiding principles for running a DevOps transformation programme, the principles of continuous learning and experimentation and how to inject learning into daily work.


The talk will cover topics such as the purpose and goal of software development, the definition of upskilling, what is DevOps maturity, what should we be looking to upskill and ways to upskill.


After the talk, you should have all the elements you need to build a plan to address upskilling in your team.

Chapters

Full transcript

The complete talk, organized by section.

Catalin Stoiovici

Hi everyone, and welcome to today's talk about how to upskill your teams to increase DevOps maturity.

The agenda for today is as follows. We're going to do a little bit of introduction. I'm going to be talking about what is upskilling, why is it important, why do we mention it, why should we care about it? Then looking at upskilling in the DevOps context, looking at a few ways to upskill your teams. Then I'm going to be highlighting one of our successes, and we're going to wrap up with some conclusions.

So let's do a little bit of introduction. Who am I? My name is Catalin Stoiovici. I have been working in software development for more than 15 years. I'm originally from Romania, and I moved to UK in 2016.

Throughout my career, I've worn many hats. I started as a software developer, moved into more technical lead, team leadership role, did a little bit of solution architecture, did a little bit of project management, did a little bit of scrum master, before progressing to more senior engineering leadership-focused roles.

My experience is mostly in the corporate environment. I've been working with top 500 Fortune companies, leading large software development teams, developing and implementing scalable solutions, delivering high-quality software products.

I work at Capco, and I have two roles. In one role, I am Head of Scaled Engineering Delivery, trying to build Capco's engineering delivery capability at scale. And because I need to be billable at the end of the day, I'm working with one of our clients. I'm working as a DevOps program lead for a global tier-one bank.

So Capco. Who is Capco? Capco has been around the block since 1998. It is a business and technology management consultancy firm with a focus on financial services and a dedicated energy division. Capco's operational headquarters are in London, England, with 30 offices across the Americas, Europe, and Asia Pacific.

We operate at the intersection of business and technology, combining 20-plus years of experience in financial services, consultancy, and more recent development in the digital and technology capabilities. Our solutions spread across five domains and three types of services. On one hand, we have the banking domains focusing on banking and payments, capital markets, wealth and asset management, insurance, and, like I said, energy. And we offer services around the digital consultancy and technology.

I was told by a good friend of mine that a good presentation starts with a powerful motto. Now, I'm not sure that this is a powerful motto, but when thinking about today's talk, this is the thing that came to mind. Something that B.B. King said. I'm sure you're familiar with B.B. King. He was an American blues singer and songwriter, guitarist, and record producer. And what he said really stuck in my head. He said that the beautiful thing about learning is that nobody can take it away from you. And I think this is really important and really touches on today's presentation, as you will see next.

So let's talk about upskilling. What is upskilling and why is it important? In the micro context, upskilling refers to the process of individuals learning new skills. That is very basic, that is very simple, that is very straightforward to understand.

However, the more interesting part is when we think about upskilling at the macro level. At the macro level, it describes a tectonic shift in the workplace caused by us, by technologists. Technology has created new possibilities that can be fully realized only by a modernized workforce. That means the workforce must learn new skills and competencies that are required for new or changing jobs.

Upskilling really cuts across industries and is critical to individuals and employers alike. To be competitive in a digital age, individuals and companies require a learning-for-life mindset. They require collaboration with humans and machines, and a willingness to embrace new ways of doing things. The digital age requires that workers, no matter the industry, have technical skills and an ability to acquire new competencies required by a fluid marketplace.

As technologists, we tend to forget about the macro-level definition, especially if you've always been working in IT. We notice it maybe when we have to learn a new programming language, when we have to interact with a new API or a new database. However, look at your older generation family and friends. Are they as snappy as you are with technology? Or maybe they've not been upskilled.

So if that's what upskilling is, and from that context, we can understand that upskilling is important, how fast should you upskill? And the answer is pretty fast. Why? A couple of reasons.

Reason number one is because the half-life of professional skills used to be 10 to 15 years. That means that you learned something and you kept it with you for 10 to 15 years before learning something new. Today, the half-life of a learned skill is five years on average. We know it's even shorter for technical skills.

Another reason is a digital economy, the so-called internet economy or the new economy. The digital economy is undermining conventional notions about how businesses are structured, how firms interact, how consumers obtain services, information, and goods. Today, we can track seafood using blockchain technology from when it was captured to when it arrives on our plate. Now, I'm not sure that's the best use case of technology, but this is where we are today.

Human transformation is essential for digital transformation. This fact has never been more apparent than in the past couple of years. And yes, I'm talking here about COVID, when global organizations had to shift their businesses drastically with little to no notice.

So let's bring upskilling in the DevOps context. What does upskilling mean for DevOps? Before we do that, let's establish a little bit of context. Let's talk about what are the drivers and the focus that we see with our clients, especially in the financial services.

DevOps in greenfield is easy, but in financial services, that's rarely the case. So let's look at what drivers we've identified relevant for financial services industry.

The first one is automation of processes, which refers to automating the deployments of application code, infrastructure, to assess quality, security, compliance controls. Obviously, mapping the processes from the bank to something that we can refer to as code.

The second one is driving cultural transformation. That's because DevOps focuses on creating an environment and a culture where businesses, operations, quality assurance, development, and all the other stakeholders work collaboratively towards a shared goal.

Digital banking is a clear and an easy driver to understand. Everyone wants to be digital today. Banks are never relaxed. They want to move everything to digital. They want to reduce on-premises and client-facing and front-office management, so everything happens as easy as possible for the consumers.

The next one is standardization: standardization of the end-to-end processes using delivery touchpoints in the form of structured pipelines, infrastructure as code, observability.

Last but not least, one of the main drivers for adopting DevOps in financial services is to have zero downtime. To achieve zero downtime during application deployment, version upgrade of underlying infrastructure platforms. We don't want those deployments to happen anymore in the weekends. We want to be able to still keep doing business, but don't affect our clients.

And if we look at what we focus on with our clients, this is basically split into two. We talk about tactical implementations and organizational transformation. So let's touch a little bit on both of them.

Whenever we're talking about tactical implementations, we refer to a couple of things. The first one is SDLC automation. And here we refer to continuous integration, continuous deployment, quality assurance, and IT service management. How do you get stuff into production, and how do you have that visibility throughout the bank?

The next one is compliance as code. Here we refer to SDLC policy engineering, automated evidence, violation management, shift-left patterns.

Another one is platform modernization and standardization. So quick and easy to go to cloud-native transformations. Economies of scale through standardization, developer experience, X-as-a-service capabilities.

Last but not least, we talk about SRE, site reliability engineering. Here we usually talk with our clients about how to define and enable capabilities. We talk about tactical enablement topologies, shift-left patterns, autonomous operations.

When we refer to organizational transformation, there are a couple of things. The first one is completing a DevOps operating model. And this model, also called a target operating model, traditional to the bank industry, touches technology, people, processes, and then policies. We talk with our clients about frameworks and patterns. What is the vision? What is the benefit realization as well?

DevOps and enterprise agility reconciliation refers to flows, skills and roles, team formation, automation levers, incremental deliveries.

Another one, an important one as well, is DevOps centers of excellence and communities of practice. So how do we enable our clients to establish an organization that will facilitate the adoption of DevOps practices and DevOps upskilling?

DevOps ecosystem and value stream talks about formation based on business models and processes, value stream architecture, autonomy, and orchestration.

And to help with responding to our clients' DevOps upskilling challenges, we developed our own DevOps upskilling framework, which is a comprehensive solution that covers all tools and processes required for continuous delivery and testing, as well as the due diligence required to meet the security and compliance requirements so critical in the financial services.

So we talk here about six buckets of capabilities that we usually discuss with the clients to understand their maturity and to see where we can help them upskill.

The first bucket is around security and compliance. We know in financial services this is very important, or at least it should be. Here we talk about open source security scanning, regulatory compliance, security testing in general.

Then the following one is source code management. What source code management is best fit for your organization? Talking about branching strategies, best practices, how best to manage the pipeline artifacts and static code analysis.

The next one is continuous integration. So really at the core of it, automate building code and testing. Continuous delivery, automating deployments of code and infrastructure as code as well.

Processes and tools management. So looking holistically at the SDLC, looking at ways of working, look at how do you manage releases, how do you manage production defects that will happen inevitably.

And then the last one is operations and business continuity. So talking here about auto-scaling, auto-healing, rollback strategy as well, continuous monitoring, disaster recovery, and high availability.

Let's talk a little bit about ways to upskill for DevOps. So in this DevOps context that we talked about, what does work for teams to upskill?

The traditional approach to upskilling is to make a plan. Make an individual plan, a growth plan, you may call it. You may call it an upskilling plan. Ideally, that plan is at the intersection of organizational needs. So what does your company need? First, obviously, you need to figure it out. You need to know that. And then competencies. What are individuals great at? The skills and knowledge individuals are good at, and they can use them to distinguish themselves. Last but not least, passion. What do individuals love? What are the activities that they perform out of love and desire?

So Capco's traditional method of upskilling focuses on executive leadership and management and delivery team levels with the goal to grow long-term capabilities and maturity across the entire organization. We train across these three levels mentioned from day one. We then scale quickly and bring DevOps champions from the client side with us so clients can start training and build their own capability at scale quickly.

Training is obviously adapted to the client needs, focused on business context, and offers certification routes as well for career progression so they have a long-standing and sustainable capability.

But the traditional method doesn't really scale. So we developed a framework for DevOps enterprise capabilities. So how to upskill your DevOps enterprise capabilities. This affords the flexibility to try, learn, and iterate key designs and delivery. And this is obviously constantly reinforced with coaching and training across the organization.

Stage one is about establishing a vision and an agreement of what needs to be achieved. We look at the current state of play of DevOps capabilities. We look at system architecture and people skills. We look at trying to create a plan and agree it with the client.

Stage two is about rapid mobilization. So trying to mobilize a team, the best skills and the best fit for that team. Make sure that we build an MVP system of delivery because that is at the core of delivering things to production. Start easily with coaching and an awareness of key upskilling concepts.

Stage three is about build, test, and evolve. So we start onboarding new products to the system of delivery created in stage two, obviously continuing to refine it and improve it as well. We coach and train across leadership, management, and delivery parts.

And stage four is about scaling the delivery. Scaling product onboarding, improving and innovating the system of delivery, and building an internal capability uplift.

From our experience and interaction with clients in the last few years, we concluded that culture is the most critical factor to transformation success. And of course, at the epicenter of culture is people. So what we found helps is the following.

First of all, a culture focused on learning and psychological safety. Leaders setting the tone for the organization, making it okay to learn. Making it explicit to learn, to make mistakes and try again.

When companies make it explicit that it's okay for teams to focus on improving daily work, that gives a lot more boost to the upskilling capabilities. Whenever we're talking about teams prioritizing technical debt, allocating time for improvements, holding events, and it may be an assortment of events that we may call hack days, game days, however we want to call them, they're very important to DevOps transformation success.

Last but not least, adopting engineering patterns into the daily work. Some examples might include rehearsing for failures or adopting things from resilience engineering, but not necessarily. It could be best practices about how do you build your systems, how do you maintain them in production, how do you make them scalable, and how do you get that security aspects throughout the pipelines that, yes, the auditors and everyone cares about.

So let's highlight one success that we had, and this is about a DevOps acceleration program. What we did is Capco partnered with a tier-one bank to deliver a DevOps acceleration program focused on cloud migration and the use of DevOps best practices across people, process, and technology. The goal was to have a fast flow of changes for their digital products in a secure and reliable manner with minimum risk.

We worked hand-in-hand with the client to define a digital strategic vision, which was based on all products to be cloud-based, product teams to be co-located, autonomous teams aligned to the business following continuous delivery best practices, and the global business domains alignment as well.

We formed a team of 15 Capco DevOps SMEs, which worked on delivering a DevOps as a service platform. We defined an operating model based on the Team Topologies framework to create the foundation of autonomous teams needed to deliver the business value.

We then implemented shift-left patterns to containerize the different products, forming the foundation of all cloud migration. Then we defined and built a CI/CD framework. And because the testing capabilities were low, we defined a build and test automation framework.

The impact was that the teams were able to deliver high-quality digital products at a much faster rate than before. They were able to work more transparently with other parts of the organization, respond better to changes. And we established the foundation of a platform to grow.

From a technical delivery standpoint, we started with team setup. We built the CI/CD pipelines for the continuous delivery. We started to containerize the product to be onboarded into the delivery system, and we built a container as a service ecosystem to drive cloud migration.

So we're almost at the end of the talk. Let's talk a little bit about some conclusions, some things you can take home with you.

Whenever you want to start an upskilling plan, an upskilling transformation, step number one should be do an assessment. Run interviews, ask people.

Step number two is understand your context and figure out what do you want to prioritize. Ask yourself some of the questions. Do you have a learning culture in your organization? Can you enable that? Are blameless postmortems as part of the BAU? How well are they conducted? Can engineering best practices help you? Is your organization aware of the technical debt it has accrued? Do you make steps to address it? Does your organization focus on learning and creating ways for people to teach, or is this seen as expensive? How much do people share their individual experiences?

Step number three, whatever your plan is, however small or big, however disruptive it is, invest in it. It's not going to happen overnight. It's not going to be cheap from a financial point of view or emotionally convincing the myriad of stakeholders to support you in your journey. But whatever you do, make a plan and follow the plan. I'm sure you'll be successful with it.

Last slide is about what help do I need from the community. Well, first of all, reach out if you want to hear more about Capco's DevOps upskilling experiences, about our transformation projects. We're happy to talk and just bounce ideas off on how do you deal in your organization, what challenges do you see, see if we encounter something similar, and see if we can leverage and support each other.

The second point is this is personal. Reach out to me personally if you need some help, support with your individual journey. I'm available on LinkedIn. I do post quite a lot in the last few years on LinkedIn, so you'll find me there. Reach out to me, say hi, and why not? Tell me if you like this presentation.

That's everything that I wanted to discuss today. Thank you very much for your time today, and I hope you enjoy the rest of the conference. Take care.