The Continuous Mindset with Michela Federico – DevOps Experience 2024
In this talk, we’ll unlock the power of the Continuous Mindset, a holistic approach to DevOps and life. I’ll share how its 3 pillars – continuous learning, automation, and analysis – drive perpetual progress and we’ll learn how to embrace change, cultivate a positive outlook, and harness these principles to achieve both personal and professional success
Transcript
So picture this, A baby is making random sounds like Bababa mama. The parent responds by repeating mom or a dad. The baby then mimics the sound and keeps trying until finally we hear them saying for the first time the words mom and dad.
So what's happening here? The baby mixes some sounds, gets feedback and adjusts through repetition and feedback loop. The baby learns.
Let's look at another example, like, uh, learning to play an instrument. We started our instruments when, uh, suddenly we hit the wrong note. We may stop if you're in a practice session or we keep playing if you're in front of an audience.
But one thing is for sure our body reacted. It detected that something wasn't right in the music flow, and it sent us an alert reaction right away. So the brain stores that reaction, adjust its model control and fine tunes the skill of playing.
Hence, the more practice, the quicker we learn this process of trial error and feedback, it's fundamental to how the brain works. So now let's quickly look at, uh, software development. Have you ever heard of Red Green Refactor?
Well, it's a test-driven development technique where we write a test, we implement some code, and we run the test. If it fails, we adjust the code and we run the test again until it passes. It's a continuous loop.
Write, fail, adjust refactor. Sounds familiar, right? So this, uh, process is yet another perfect example of how we start with something.
Get feedback and adjust until it's correct, just like a musician learning to play. Uh, the right notes. Test driven development ensures that our software improves incrementally through fast real time feedback.
So what's the science behind this process? We need to delve into brain sciences a little bit, uh, best known as neuroscience, and particularly at a process called synaptic plasticity, which refers to the brain's ability to adapt and reorganize itself by re-weighting connections between neurons or so known as synopsis. So each time we take an action and receive feedback, the brain strengthen these connections.
The process is called long-term Pot Potentiation. And over time repeated actions and feedback for enforce this neural pathways, making it easier and faster for the brain to perform the same action in the future. Essentially, neurons that five together wire together.
It's, uh, a concept also known as Habian Learning introduced by Donald Hubb in the 1949 work, the Organization of Behavior. But listen, there's a catch, as we say, with the baby learning, uh, to speak and learning to play an instrument. Timing matters.
The brain is most effective when feedback is received immediately, uh, after the action. If a feedback is delayed, those neural connection don't strengthen us quickly and the learning process slows down. This means that if we wait too long for feedback in our development, uh, cycle, whether it's life or software, we are dramatically slowing down our process.
Studies show that immediate feedback accelerates learning while delayed, uh, feedback may slows it down. This concept is crucial, not just in neuroscience, but also in the context of product development or organizational processes. The quicker we get that feedback, the quicker we can adjust and improve and deliver.
So in other words, feedback needs to be as immediate as possible for maximum effectiveness. Whether we are learning to play an instrument, developing software or improving processes in the team continues and fast feedback is the key to mastering any skill or achieving success. So by now, you may be wondering, but what does all of these have to do with DevOps?
Well, everything, whether we are learning to speak, mastering a skill or deploying software, we do need continuous feedback to improve and accelerate results. So, hello everyone. I am Michela Federico, our front-end tech, lead and DevOps advocate.
And today I'm here excited to introduce you to the continuous mindset, a holistic approach to DevOps that offers a framework for successfully achieving any type of goal, whether it's personal, professional or technical. This mindset not only drives success, but also helps us manage cogniti overload, uh, burnout and even imposter syndrome along the way. So let's zoom out for a minute and look at how software development methodologies have evolved in the years.
Starting with Waterfall in 1970s with w Royce described a software development as a sequential process made of, uh, requirements design, implementation, testing, deployment and maintenance. Now, each phase depends on the previous one, and we don't move forward until the previous one is done. But what's missing here now imagine learning to play the instruments, but waiting until the very end of the song to know that we hit the wrong note, you'd improve much slower, right?
The same problem exists with Waterfall. By the time we get feedback, it's too late to learn and adjust, making changes really expensive and time consuming. So that's where, where Agile comes in.
Uh, in the early 1990s, lightweighting methods like Scrum Extreme programming, feature driven development, they all emerged and they emphasize iterative development, collaboration, continuous feedback and flexibility. And by 2001, we had the Agile manifestor, which brought in, uh, very important values like responding to change over, following a plan and, uh, customer collaboration over contract negotiation. So with Agile methodology, uh, we are no longer waiting for the end of the development, uh, to get feedback.
Instead, we are working in iteration. We are receiving feedback after every cycle. But here's the thing, even in agile timing and feedback still matters.
So if the longer we wait for the feedback, the most cost, uh, costly, our mistakes can be, it also still relies heavily on separated teams, uh, to handle different aspects of software delivery processes like developers would finish their work and then pass it to testers who will then pass it to operation for the deployment. And these hands off can cause delays. And as we saw earlier, the slower we get feedback, the slower we can learn and adjust, causing an increased cost resources, whether it be time, money, sometimes even mental health.
So how do we solve this problem? Let's think, um, let's think about a, a restaurant kitchen. Imagine a kitchen.
You have a chef dedicated to starters, uh, one to main courses, and another one for desserts. So each chef, it's highly specialized in their respective field, but they aren't limited just to their own tasks. We, um, well, each of them excels in their specialty.
All of them know how to handle the food process from sourcing ingredients, cutting, preparing the food, even plating the end for the final presentation. So in this kitchen, chefs don't wait for specifically someone to clean and chop their vegetables before they start cooking. They handle this task themselves, taking ownership of the whole process, of making the dish occasionally their basic guidance, uh, or help from some other shelves that are specifically skilled, but the most for the mostly part, they're equipped to handle the word process from start to finish.
And this is exactly what is missing in Agile. So let's fast forward to 2009. Patrick deis, uh, finally talks about DevOps, uh, as a cultural shift and integration, uh, between the traditionally siloed roles of development and IT operations.
Uh, but then later industry leaders like, uh, Jin Kim and Jaza, Jean Willis, they all expanded the concept, um, describing it as a more of improved collaboration between teams starting but not limited to development and operation. And then they introduced automation to accelerate processes. So the shift left, uh, DevOps incorporates testing and security into the development phase, ensuring the code is continuously tested and secured, um, as it's being written, uh, not after development is complete.
And this helps teams catch issues very early and fix them faster, obviously guaranteeing a higher quality and a more secure software. And with this DevOps and shift left guarantee that like each chef is able to prepare cook plate and deliver of a meal, developers are able to take care of software delivery lifecycle autonomously. So to recap, metal Hands-off are long, are no longer an issue since, uh, shift Left makes developers responsible for implementing testing, deploying and maintaining their code Two automation processes, uh, such as automated testing, CI/CD in France code, uh, make feedback much faster and more reliable, reducing human errors and speeding up delivery.
And three, thanks to Shift left that moved the testing and security earlier in the loop software has higher quality and is more secure. So looking at these, at the initial examples of a learning to speak, a musician learning to play, and a developer implementing code and why not teams building a product, we can confidentially identify three pillars for success, continuous learning and growth, continuous implementation and automation and continuous fit. These are the three pillars of the continuous mindset, our holistic approach to DevOps that can be applied to any field or aspect of life to achieve success.
These pillars are the tools to help us achieve something, but we must define what the something is. So when do we start? Just like a chef has an idea for a new dish or a company or even an engineer has an idea for a product, we need to start with a vision.
Defining a vision gives us a clear idea of where we are headed and most importantly, why. So let's say that we decide to save money for a trip, we can choose a destination, but if the why is not clear in our head, uh, why we are taking this trip, we don't, we want to make the most of it. Perhaps, uh, we want to relax, but instead we end up visiting family in another country, which, uh, leads us to endless dinners and visiting relatives.
So yes, uh, we saved money, we went on a trip and we came back. But because our objective wasn't clear, we returned more tar than before. We wasted money, we wasted time.
And while the journey may have been enjoyable and filled with nice memory, it wasn't as fruitful as we intended. So now imagine a company that is eager to capitalize on the latest technological trends, let's say ai, but without focusing on having a clear understanding of, uh, the problem they're, I mean, to solve. So imagine that despite investing significant resources and employing highly skilled engineers, the end product still fails to resonate with the market.
Why? I'd say lack of a well-defined vision and clear problem statement resulting in wasted resources and a product that lacks market fit. So understanding the problem we are trying to solve, it's really essential for success.
Once our North Star is defined, we need to figure out what skills and resources are required for each, uh, for it. For example, say I want to relax. So I want to go on a trip on maldi.
I need to, I need flight for, um, I need flight tickets. I need a hotel reservation, stream, search some screen, maybe some beach gadgets, uh, possibly a good camera for pictures. We may already have some of these gadgets, right?
Like, uh, sunscreen and beach gadgets, uh, from a previous trip. Uh, but we need money for reservation, uh, or we need to say reach a healthy weight, uh, to be confident in the pictures. So it's clear that now we have new goals to achieve our vision, we need to save money and we need to lose some weight.
So what's next? We need to define a strategy. Maybe we can take part-time jobs or come down on the number of streaming services we used to save money on the trip, or maybe we decide to go on a diet to lose some extra weight, or maybe even just cut down some takeaways, which will also help saving money.
Each solution is valid and will differ for each person based on their current situation. But listen, how long will this sustain these actions? We've defined some goals, but to ensure that we achieve our vision, we need to make them smart, smart as the famous acronym, right?
Specific. We need our goals to clearly state what we want to accomplish. We need to be miserable, track progress over time, uh, achievable.
So we need to set realistic expectations and relevant meaning, meaning that, uh, we need to make our goals aligned with the vision. Like there's no point in buying sunscreen if we already have enough. And then finally, we need to make them time bound.
So we need to set deadlines to maintain the motivation and ensure that the goals don't become irrelevant due to some change in circumstances, for example. So now that we have our vision, our strategy, and our smarts, we need to create a plan. How will we make progress?
How will we track it? Don't forget to have regular review sessions to assess the pro the progress and tweak anything necessary. Set some milestones and celebrate the wins.
Reflect that on what went wrong, but also on what went well and learn from the process. To implement this plan, we will use the three pillars of the continuous mindset. So implement the work that needed to, that you need to achieve the smart goals and analyze the feedback to figure out what went well and what didn't.
And finally learn, learn from the experience and adjust by implementing new solution to meet up, uh, to meet the updated goals. So this process will repeat in a continuous loop until all the goals are met and the vision is finally realized. But why is the continuous mindset why using it, isn't it, uh, setting this goal and achieving them enough?
Well, let me tell you the, the truth is external factories can affect us. Whether it's our own emotion impacting performances or some change in the environment that surrounds us. We need a framework that allows us to fail, but without feeling like we are failed in this way, we can trick our brain, our brain, um, into seeing failure as part of the process.
And we give it a way to recover. So continue working towards our, so we are able to continue working towards our goals. Say for instance, uh, maybe your car breaks, you don't have money for to save, uh, for your trip on that month.
Or maybe your pet gets sick and the stress leads you, leads you to overweight, and it derails your weight loss. These are stress factors and that may trigger self-criticism. And this is when imposter syndrome often creeps in.
But another re another issue is we fail to achieve our goals, and that can lead to overworking ourself, uh, to make up for it. And eventually that can lead to burnout. So how do we get back on track?
How do we silence the imposter and recover from burnout? Well, the truth is we don't, instead we listen to it literally. We just listen because that's where the feedback that we need lies in.
Um, return to the three pillars, uh, of the continuous mindset. Uh, write them down maybe, uh, having different columns for each category, you'll likely find out that the continuous feedback column is either empty or nearly. So why, because we're lack of feedback or we are not listening to it.
So stop, reflect and listen. Ask yourself, why am I feeling this way? Or what triggered this, the, these feelings, how I'm feeling?
And, but most impo importantly, ask yourself, how can I adjust and learn from this? So these pillars are crucial in any context at any time. And for any problem, say a company, uh, or a team member misses important goals or doesn't hit their or care OKR, uh, in a quarter, what should they do?
Get angry. Withhold bonuses. Make their employee work extra hours.
That won't change the underlying variables. Uh, what they should do is follow the continuous onset. For example, start by requesting and analyzing feedback.
Uh, understand what went well and what didn't listen to people, and then adjust the plan accordingly. Internal feedback can help, uh, refining the team plans, but external feedback is very important as well. Look at market trends.
Look at competitors strategies, uh, that can help you review the overall strategy and eventually realign it with the vision that you have. So the continuous mindset isn't just a new buzzword or a trending methodology, it's a holistic approach to achieve success. Whether we are working on, uh, our personal goals, optimizing tip topologies.
For fast flow in companies or improving software delivery lifecycle, the mindset, uh, can be applied universally. Why? Because it reflects the natural way human beings process informations.
They learn above. Just as we continuously improve through actions and feedback in life. The continuous mindset applies the principles of DevOps and beyond aligning them, uh, with the way our brain is wired to work.
By following this mindset, you are embracing your own strengths. You are leveraging your weaknesses, and you're allowing yourself to continuously learn, adapt, and grow and fail without feeling like you're failing. And in doing so, you are setting yourself up for success, both in your personal and voice and within your organization.
The key takeaway here is that, well, the continuous mindset is about being yourself. Follow your natural learning process and constantly evolve through learning automation and feedback. So as you move forward, I want you to ask yourself, are you continuously learning and adapting in all the areas of your work and life?
Are you automating what can be automated so you can free up time, valuable time for more valuable tasks? And finally, are you seeking feedback regularly so that you can improve and iterate more effectively? So I want to finally paraphrase Meta Metas and say, with the continuous mindset, you're not just moving faster, you are moving smarter.
Thank you.