Agile Practices: Agility in the Unknown
What Does Agile Mean in Today's World?
Agility requires a certain mentality. One must constantly evaluate and adapt, and we are currently witnessing that on a global scale with the COVID-19 pandemic. Everyone has been challenged to quickly adjust their way of life in the face of many unknowns. Parents have become teachers. Teachers now have virtual classrooms. Many employees have had to shift to working fully remote. Restaurants have had to close their dining halls. Essential workers have been tasked with the difficulty of keeping businesses and hospitals operational under tough circumstances. We have all had to learn how to be agile in one way or another.
The Core of Agility
Agile is often referenced in the context of software development, and there is no shortage of content on the topic. Depending on with whom you speak, you might get a different response on what being agile means and the best way to go about being agile. Don’t worry. This blog post isn't going to be focused on me trying to tell you how to be agile. Each company has its own flavor of agile principles or frameworks, but at the end of the day, those are just methods of implementation. Agility, by definition, is the ability to move quickly and easily. Why is that so important, not only in software development, but also in life? It enables us to adapt and pivot in response to the unexpected. The faster and smoother this is done, the sooner one can benefit, both professionally and personally. That's what this blog post is all about.
The spirit of agility and the values that enforce that spirit can help us both at work and at home. I want to share the experience that I have gained from implementing and using agile frameworks in the IT space, and how I have found that to be relatable to my personal life.
I’m going to leverage the four agile values outlined by the Agile Manifesto and how these values can translate to life outside of the office. For those not familiar with the Agile Manifesto, it is a list of values that were drafted back in 2001 by a group of seventeen individuals looking for a better way to work in the software development world. The four agile values are as follows:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Before we dive into each of the four values, it is important to emphasize a critical part of the manifesto that states that the items on the right of each of the four statements are still important. There is just more value placed on the items on the left of each statement. With that, let’s take a look at each of these values and how I’ve come to relate these to agility outside of my day job.
Individuals and Interactions Over Processes and Tools
Meaningful conversations and relationships are effective, not only when working with teams but also in everyday life. However, that is not to say processes and tools are not important. Process reins in the chaos, and as a Scrum Master, I’m pretty process-oriented myself. However, processes and tools are not as effective without the communication that occurs with an open dialog.
Similar to other organizations, at SentryOne, there are a lot of organic conversations. Someone from one team will walk over to another team to bounce an idea around or simply ask how their weekend was. In my role as Scrum Master, I spend a lot of time having conversations with teams about the work we are doing. These interactions build rapport and help foster an environment of collaboration. And, they have helped enable me and the teams I work with to continue to function in a now fully remote work environment.
When we intentionally talk about a problem or idea with someone else, it's often because we're seeking to gain additional context or insight from someone with a different perspective. We do so because it might shed light on something we didn't think of and that knowledge could impact how we approach or view something, ultimately driving change.
I frequently witness that with the teams I work with. It's common for an engineer to talk through a problem with other teammates and bounce ideas around because it can bring awareness to other factors and/or dependencies that weren't known or considered from the start. That, in turn, can change the initial solution or specific implementation. Personally, if I need to challenge my perspective on a situation or seek advice, I call or meet up with family and friends. It is the same concept. As you talk things out, you learn new things and adapt to what you did not know or think of before.
Working Software Over Comprehensive Documentation
At the end of the day, results matter. Whether it's working software or a personal goal, ask yourself, did you achieve what you set out to do? Did you solve the problem you were faced with? At work, I do this by asking why we are doing something. With software development, teams think about what problems they are trying to solve for their customers, test solutions to solve those problems, and then validate it based on feedback.
At home, we do the same thing, just in a different context. Instead of building software, you might be faced with another problem such as trying to find a way to teach your kids something in a way that resonates with them. For me, a perfect example that comes to mind is when I was teaching my nephew the concept of addition and subtraction while working on practice problems in one of his workbooks. After a few attempts of trying to verbally explain the idea and watching my nephew's eyes dart everywhere but his workbook, quickly losing interest, I realized my approach wasn't working. Instead of talking, I opted for a more visual approach.
I used things he loved, such as toy cars and candy, to demonstrate addition and subtraction. Using that approach, he was engaged and started to understand the concept. As a bonus, the candy ended up being a reward and motivating factor for solving problems correctly.
Customer Collaboration Over Contract Negotiation
With every position I have held, the customer and their needs have been the center of what I do. When I was a Delivery Lead, that meant working with customers and learning their business and pain points in order to collaborate in building custom software that solved those problems. Today, as a Scrum Master at SentryOne, that means working with teams to improve our software to support our mission of empowering the Microsoft data professional to achieve breakthrough performance across physical, virtual, and cloud environments. How is this done? By working with, helping, and listening to customers, whether that's jumping on a call to troubleshoot an issue with a customer or going on site and learning about the day-to-day operations.
Earlier, I mentioned that results matter. How do you know if you achieved what you set out to do if you don’t work with the people you’re trying to help? That question is not limited to software development. I’ve seen this agile value in action outside of a business that has written contracts in place with customers when I’ve helped my brother out on his food trucks. If a customer didn’t like something or there was a mix-up with their order, the first thing we did was listen to the customer and fix the issue. We didn’t haggle or debate about money. The same goes for his restaurant. Customer service is more important than the transaction at that point, since without happy customers, there is no business.
Responding to Change Over Following a Plan
Unexpected things happen, but that shouldn't keep us from planning. The key is being able to modify plans as we go in response to change. For me at work, that might mean finding out about a technical hurdle to a proposed solution. In life, that might mean learning how to work remote full-time and/or find ways to figure out a new normal and schedule for yourself and your family.
I am a planner by nature, and having a plan is good. In my case, it's necessary for my sanity. That said, I’ve had to learn to be flexible because rarely has anything ever gone exactly as I have planned. That is especially true when it comes to spending time with my more flexible family members and friends that refuse to live life by looking at a clock. Expect plans to change and to modify them as you go. We do not know everything at the start of planning something, so it is only natural that we adapt as we learn new things. You don’t know what you don’t know and things happen. That’s when we learn, adapt, and oftentimes make memorable memories.
Adapt to Change
Change is constant. The ability to be agile in response to change is important, regardless of your profession. Although continual evaluation and introspection of how things are going and adjusting according to lessons learned is at the heart of what I do, it has also proven to be valuable in my everyday life. It's an easy concept to understand. Difficult to remember and practice, but especially helpful during unexpected times, like we are experiencing today.
Although mastering the skill of continual reflection and adaptation in the face of change can be difficult and takes practice, it makes responding to the unexpected easier. Try to make a habit of taking a moment to reflect on situations, think of new ways to approach those situations, try new things out, and repeat that process on a regular basis. You might be surprised by the results.
Nisreen is a Scrum Master at SentryOne. She works with Product Engineering and Product Management to coordinate work, facilitate cross-team communication, and manage delivery. Nisreen is responsible for facilitating Scrumban ceremonies and helping to enforce a continual improvement mindset.