RubyConf TH 2022

Dealing With A Project's Complexity In A Changing Environment

A talk from RubyConfTH, held in Bangkok, Thailand on December 9-10, 2022.

Find out more and register for updates for our 2023 conference at https://rubyconfth.com/

RubyConfTH 2022 videos are presented by Cloud 66. https://cloud66.com

RubyConf TH 2022

00:00:00.120 Welcome to my presentation. Today, I want to discuss how to deal with a project's complexity in a changing environment.
00:00:18.180 Let me just get right into it. Perhaps you're familiar with the five stages of grief. It's a well-known psychological model that describes five emotional stages a person goes through after experiencing a loss: denial, anger, bargaining, depression, and ultimately acceptance.
00:00:35.160 This model is pretty handy, especially considering that everyone goes through smaller or larger losses in their daily lives. Are you surprised? Let me use a trivial example. How do you react when you see a pull request that says 'looks good to me'? Be honest with yourself. What goes on in your head before you sit down to review it?
00:00:49.620 You might think, 'Is he joking?' That's denial. Then you may feel, 'He must be out of his mind.' That's anger. You might bargain with yourself, thinking, 'Maybe if I wait long enough, someone else will do it.' This leads to feeling overwhelmed, similar to those who are actually depressed, but in this scenario, it lasts just a few moments. By the end of the day, you accept the situation and just do it.
00:01:16.500 It's an emotional roller coaster every single time. A loss doesn’t have to be physical; it can be a loss of opportunity, time, energy, comfort, position, control, or a dream. Each time we lose something, we go through all of these stages again. Now consider another situation at work—there's a new complex feature requiring development, and it doesn't really make sense to you. Someone from the product team might say, 'How hard can it be? It's just a button.'
00:01:59.280 You probably go through similar stages as during a pull request review, but each stage may last a bit longer because it's a bigger project. If you don’t see the purpose of this feature, the work you need to do can feel like a loss of energy or time. Imagine you need to develop a complex feature you dislike or don’t understand with a new team whose members you don’t know yet. You might feel a loss of comfort—the comfort of being in a familiar situation with known rules, code, and people.
00:02:43.620 We tend to create comfortable boxes for ourselves, and while there is nothing wrong with it, this comfort allows us to automate certain tasks, processes, or behaviors without wasting time and energy overthinking. We can focus on what truly matters to us—writing clean code. However, regardless of how perfect our code is, our work is not solely about writing code. Do you have any ideas about what our work is really about?
00:03:38.580 Audience members might say, 'Customer value.' That's close. It's about producing business value, which is almost always tied to money. This might be depressing, but in business, nobody cares about the code itself; they care about the value it adds, which helps them achieve their goals. In a dynamic world, businesses need to constantly adapt by adding new features, improving existing ones, and sometimes pivoting from their entire business model.
00:04:41.580 Often, we are asked to deliver something quickly, which may not be sustainable and requires starting over. This can be motivating because it breaks our comfort zone. When we are accustomed to a certain way of working, any disruption can be unsettling. However, although we may not feel attached to the code itself, we usually refactor, apply design patterns, and make changes throughout the development cycle. We see our code lifecycle as normal, but why do business-related changes scare us so much?
00:05:44.620 There are several reasons. First, the scale of the project affects our grieving process. When faced with a pull request, we usually get over it quickly. However, if we have been invested in a project for years, it can take days, weeks, or even months to adapt to a new situation. Secondly, adaptation is always a process. The length and intensity of this process depend largely on individual temperament and need for closure. We might be relaxed and go with the flow or have a strong reaction to new ideas. Unfortunately, it has biological roots in our DNA, meaning we can't change our temperament, but we can train our behavior.
00:06:59.640 As I mentioned, business changes are often new to us. However, with practice, we can make this easier on ourselves. The grieving model I started with was created by Dr. Elisabeth Kübler-Ross in 1969, originally based on patients dealing with terminal illnesses. It has since evolved, creating what is known as the change curve, which explains typical responses to changes in organizations. All changes, no matter how positive, involve loss, and this means adaptation.
00:08:10.700 The model consists of stages: shock, denial, anger, uncertainty, and confusion. As people start to deal with their emotions, they may experiment to see what change means to them. If the experiment goes well, they're likely to stick to the change. It's crucial to note how motivation is affected over time.
00:08:24.900 In the change curve graph, it's important to realize that motivation may start declining before the actual change begins and can continue to fluctuate afterwards. This reflects the never-ending nature of adaptation. Hence, one alternative title for my talk could be 'Eat, Sleep, Code, Repeat.' We just need to get used to this cycle.
00:09:10.920 At this point, I think it's a good moment to introduce myself. My name is Anita Jaszeweska, and while it might seem strange that I'm here discussing grief with a group of developers, I want to provide more context.
00:09:30.600 I started my career as a back-end developer nearly ten years ago. I joined my current company two years ago, initially as a developer and after a year, I transitioned into a managerial position. I hold the role of an engineering manager now, which has allowed me to view the same environment from two different perspectives—the developer and the manager.
00:10:08.520 As I mentioned earlier, my current company, Japan Talent, is a workforce-as-a-service product that operates across nine different countries. Each country has its own legal and tax regulations, leading us to constantly adapt and meet the varying needs of our clients. Currently, Japan Talent is valued at nearly two and a half billion dollars, making it a significant player in its sector. The engineering team has doubled over the last year, reflecting the rapid changes taking place.
00:11:58.160 What I share today is based on my experiences guiding people within my teams, supported by my psychology knowledge. While technology itself is primarily predictable and rational, it is built by people—who are often unpredictable and irrational. Regardless of our differences, we all face similar emotional issues and reactions to changes.
00:13:04.020 Returning to the change curve, you'll see that if we start with high motivation, even at our lowest points, we still have room to grow and adapt. This feeling is often similar to the honeymoon phase of a new job where everything seems perfect. However, as time goes on and we face challenges, we may hit a valley of stagnation. If we don't progress past this point, it can hinder our motivation and lead to confusion and frustration.
00:14:56.520 It is at this time that we often feel powerless. I realized this during a challenging phase and so began extensive research into motivation and teamwork. I found that simply acknowledging our feelings and accepting that they are normal can help alleviate some of the burden. In fact, naming an emotion often expedites the process of moving past it.
00:16:59.340 So, what’s next? There’s a model called the Lipid Noster model for managing complex change. According to this model, five elements are required to introduce a complex change smoothly: vision, skills, motivation, resources, and an action plan. However, understanding the absence of any of these elements can also reveal what might be holding us back.
00:18:38.399 For instance, if there's no vision, confusion arises. Lacking skills leads to anxiety, while insufficient motivation results in resistance to change. If resources are missing, frustration occurs, and when there's no action plan, we experience false starts.
00:19:52.740 Identifying these emotions means we can also pinpoint which elements are lacking and work to address them. If you find yourself confused, ask questions. No question is too trivial. By doing so, you can help others who might feel even more lost than you.
00:21:58.680 When you're anxious, recognize that the lack of skills might stem from imposter syndrome, which is a legitimate concern. Acknowledging our weaknesses as developers, whether junior or senior, is crucial for fostering a supportive team environment. It's normal for individuals not to have all the answers, so feeling comfortable enough to seek help can strengthen the team dynamic.
00:23:13.680 When anxiety spreads among team members, it's essential to communicate openly. Remember, it's better to ask for help than to struggle in silence. In moments of resistance or low motivation, internal and external motivators play a significant role. Remember, internal motivation drives personal success while external motivation can involve incentives like recognition or rewards.
00:24:12.360 If your organization lacks motivating incentives, you should create your own list of reminders reflecting your goals. Having a plan can give meaning to your tasks, regardless of their scale. Frustration from a lack of resources can be communicated clearly by discussing the essential tools and time needed to thrive in your role.
00:25:44.040 Discussing these aspects can help non-technical stakeholders understand the challenges involved. Remember to provide realistic project timelines, as unexpected changes will impact many others who rely on your inputs. In the end, the key is to ensure that communication is open and effective among teams.
00:27:19.620 Effective communication allows teams to navigate complexity and collaboratively create action plans that align with project goals. When faced with uncertainty, it’s crucial to communicate openly and tap into team resources to build strategic action plans that address potential issues.
00:29:39.275 In summary, experiencing emotional ups and downs when facing change is entirely normal. Business is business, and acknowledging and naming your emotional state can help identify necessary adjustments, leading to positive outcomes. Always remember to communicate; in case everything seems to be falling apart, Keep Calm and Carry On, because at the end of the day, it’s just a job.
00:30:01.500 Thank you for your time! May I have a small favor? Can I take a selfie with all of you? You can be like Elmo!