The Agile Architect
The Softer Side of Agile: It's Not Just Coding
Our Agile Architect, for whom Spock was his primary emotional role model, brings in a ringer to talk about the soft skills required to be successful in the agile world.
- By Jenissa Moore, Mark J. Balbes, Ph.D.
You learn how to code and you become the god of your computer: It must obey your will! Every thought, every action you take is immediately and obediently executed. But then you join an agile team. Suddenly you are pair programming. That beautiful code you wrote yesterday just got refactored by someone else. Rather than being a god of the code, you now find yourself in a social environment, having to work side-by-side with other developers, sharing the code and, worse, having to interact with people. That's not what you signed up for.
Soft skills are often elusive for technology people. I know they are for me. That's why I asked our local soft-skills expert at Asynchrony, Jenissa Moore, to write this guest column..
Wow, an expert may be a bit of a stretch, but I won't turn down a compliment. I've been with Asynchrony now for about 5 years, and have developed skills in a multitude of roles. Most recently I have found myself leading our professional development department with a passion to see our people grow.
My feelings about how I fit in here have shifted greatly over the years. I started out feeling like the black sheep -- the one that was different from everyone else. You see, I'm not very technical and I ended up in a developer-saturated company. I thought it was only a matter of time before I was pushed out for my differences. After sticking it out a while, I transitioned into feeling more like Jane Goodall; entranced within a culture so different from my own, observing, learning, growing to care for these individuals and wanting to be part of their world. Today, I feel more like the Rainbow Fish from the ever so popular children's book; an individual, different from the rest, with something to share and offer those around me.
So what exactly is my "shiny scale" that I can share? As the title suggest, there is a softer side to software development. Soft skills are skills everyone has, but may not be aware of, or may not be proficient in.
What are soft skills and why should they matter? Simply, they are the skills it takes to do your job, minus the technical aspects. They are the pieces of you that make up your personality. For example, your communication style, teamwork abilities, professionalism, self management and relationship-building skills.
In Agile, some of the things we value include communication, self-organizing teams, reflection, improvement, individuals, and collaboration. Over time, [un]fortunately, creating software has really become a social activity. Whether you work at home, in a cubicle, or a swanky open space, you are interacting with others. Every e-mail you write, meeting you attend, presentation you give and phone call you answer, you are demonstrating your soft skills.
In an Agile environment, the process used to create the (working) software is just as important as the software itself. With short feedback loops, pairing environment and team logistics, your soft skills are often used more throughout the day than your technical skills.
Think about a great manager you have had the pleasure of working with. What are some characteristics about that person that made them so great? Were they trustworthy? A good listener? Empathetic? Did they provide you autonomy to do your job? Were they able to make decisions and delegate? Now think of a great teammate you have worked with. What was it about them that was so great? Were they on time? Passionate? Collaborated with other team members? Communicative not only about work but in general? When you think about these people you have worked with, these characteristics that made you feel they were "great" are soft skills (not necessarily their tech chops). Surprising? Maybe. Here is something more surprising: If you notice soft skills in others, I promise you they are noticing yours, too.
Let's look at a few examples:
I spent time on a quite large, self organizing, agile development team. Self organization can pose some complications when many people and opinions are involved. In this particular instance, the team as a whole was trying to decide: team leads vs. no team leads. The entire team was in a room, discussing the options, which turned out to be a much more sensitive subject than we thought. A majority of the team liked the idea of self-leading. We are in a largely flat organizational structure, and the idea of bringing that to our development team sounded appealing. However, there was at least one strong personality on the team that actually wanted to be named team lead. The problem was not in what he wanted, but how he communicated it. Instead of communicating honestly and openly about his perspective, he deliberately communicated the opposite, in hopes that he could coax others to say what he wasn't. Needless to say, his communication tactic of misdirection and misguiding actually resulted in the exact thing he was trying to avoid.
Pop quiz: How many different soft skills could you point out in this situation? I noticed at least 4: collaboration, persuasion, verbal communication and office politics. Perhaps instead of being misleading about what he actually wanted, an open and honest conversation with the team could have led to a more positive, or at least compromised outcome for him. Some skills that were not present that may have helped that individual get what he wanted: managing difficult situations, self awareness and honesty.
Recently, I was part of daily stand up with the majority of the members calling in. The current debate was around notification federation and using a tool already hosted or finding a better one. The conversation quickly deteriorated when one of the tech leads continuously interrupted the developer working on the task. The lead abruptly stated that it didn't matter what the developer thought of the tool, and to stop "worrying about the wrong things." What the lead was unaware of was the offline conversations happening about how rude, disrespectful and insensitive he was treating his team. After the call, a separate developer provided some feedback to the lead stating that there is likely a "better way to communicate" these things. Most surprisingly, the lead agreed his tone was out of line, and reached out to that developer to have a conversation.
Pop quiz: What soft skills did you notice that time? I saw verbal communication, listening, feedback, team building and interpersonal relationships. There were actually multiple channels of verbal communication. The disrespectful tone and insensitive words are obviously not the best way for a lead to communicate with his team. From what I witnessed, this conversation had a direct negative impact on the team's relationship. What the lead is still not aware of is the offline conversations that were happening between other team members about the lead's inappropriateness and continued lack of proper team communication.
Last year I was part of a pair that would work together for a few hours each day by blocking time on our calendars. This work was not our primary focus, so we tried to stick to our scheduled time to be most effective. However, my partner was easily distracted. He would often be late to our scheduled sessions and spend a portion of time after arriving with small talk. Now I could understand he was trying to build a relationship with me, but I was frustrated that we were not being as productive as I thought we should be. Additionally, we were often interrupted during our sessions, partially thanks to our open working environment, which led to several side conversations and even more time delay on progress. These interactions left me feeling that my pair was unreliable and disrespectful of our time. I eventually initiated a conversation about the situation and my feelings, which resulted in more trust between us and an action plan to be more focused.
Last quiz: Did you notice some different soft skills in this example? I was aware of verbal communication, team building, feedback, self-awareness, problem solving and time management. After a conversation about how I was feeling, together we came up with a plan to address the issue in the future. My partner even continued to ask about his diligence to remaining focused during our working sessions for months after. This pointed out to me that he listened, became more self-aware, and could adapt to a new approach to our working sessions.
Putting Your Soft Skills To Use for You
Consider what soft skills you may have already used today: How do you think your day-to-day soft skills can help align you to that new project or promotion you've had your eye on? Consider your next job interview, performance review, business meeting or networking event. Your impact and performance in all of these situations depend on so much more than just your technical abilities. So how can you use this knowledge to your advantage?
First, you have to be aware of your soft skills. There are certainly some soft skills we may all use -- for example, communication -- but how you communicate may be different depending on your environment. You may also use a variety of leadership or creative skills depending on your role. These skills are something you can improve, but they don't improve automatically. Getting a promotion doesn't automatically make you a leader. Speaking at a conference does not automatically make you a great presenter.
Start by paying attention to your interactions. Notice how you communicate with others, the tone you use, the words you are choosing. Consider what your body language is saying and how you manage your time. Acknowledge how you respond in stressful and uncomfortable situations. Make a list of the soft skills you notice yourself and others close to you using. At the end of each day, add skills to your list and circle the ones you find yourself using most often.
Next, spend some time self-reflecting. Of that list you created, which skills would you consider your strengths? If you were to ask your team, which skills do you think they would appreciate most about you? Which skills do you think you would want to improve? Of the skills you noticed in others, did you see patterns you would want to imitate, or avoid? Self-assess your soft skills using a simple scale to help determine your strengths and weaknesses.
Once you spend a few weeks determining your soft skills and self-assessing, you can start to prioritize and focus on improvement. Similar to the continuous improvement of our code, we can continuously improve our soft skills. You can even be agile in your soft skill improvement -- but that's another story.
And there you have it. If you'd like to learn more from Jenissa, let us know and we will bring her back for another guest column.