How “Go To” People Help Make Agile Software Development Work (and How You Can Become One)
By Leslie Ekas
As a development manager and agile consultant, I have seen that when someone on a team takes on the role of a “go to” person, their team’s agile adoption is more successful. A “go to” person is the team member who you contact first to find out “what is going on” or to help discover some specific information. They do not have a special title, but you know who they are. “Go to” people know the pulse of the team at any point in time, and if they don’t, they go find out as soon as you ask the question. It seems to be in their nature. From my experience, many successful agile teams have at least one “go to” person. They are particularly beneficial for teams adopting agile because the behavior that makes them a “go to” person helps create the whole team culture that is critical to agile success.
Whole teams include people from all the disciplines required to design, build and ensure the product is production ready. Whole teams are critical to agile success because together they form the multi-skilled toolbox that enables them to get to “Done!” every iteration. They leverage the combined skills of each team member working together to achieve their team’s goals.
“Go to” people on the team can help enable whole team behavior because they share common traits that help make teams work better together. First of all, they have an intense focus on learning. They figure out not only how to accomplish their own tasks, but they learn how to contribute outside their areas of expertise. They enjoy adding technical skills that may not be required to do their primary job and they continually work to expand their domain knowledge. With these advantages, they are able to work on more areas of the product and bring their unique perspective to create new solutions and solve problems. Of course, being focused on learning goes hand in hand with problem solving, and "go to" people tend to want to solve problems with their new found skills. In fact they love to solve problems because it is fun and problem solving provides a very hands-on way to learn. A critical aspect to agile success is to remove and then avoid building up project debt that will slow down a team. When teams get into the habit of tackling problems when they appear and solving them at their root, they are more able to avoid project debt accumulation. "Go to" people that demonstrate this problem solving initiative help ensure that this behavior sticks with the team, that is, problems get solved once and for all.
“Go to” people have to be good communicators within and outside their team. They are willing and able to describe the work the team is doing, and they will get help when needed. Active and open communication will make the team successful because it encourages team members to help each other. High productivity seen in agile teams is the result of this teaming behavior. "Go to" people also provide better visibility on the progress of the project to the stakeholders because they understand how important it is to get timely feedback. Another critical quality of “go to” people is that they are dedicated to team success. They know their teams well, they support their team members, and they help ensure that no one is left behind.
I worked with two people in particular that inspired me to recognize this “go to” people trait. One of them was a software developer who from the time I met her, struck me clearly as one of the team leaders. It was very evident that she wanted both her team and her product to succeed. She demonstrated two “go to” qualities in particular that helped her team succeed with agile. First of all she was very focused on learning new software technologies, expanding her product domain knowledge, and maximizing the use of helpful tools. Many developers are happy to stay in their own area of expertise and maximize their skills, but she enjoyed learning new technologies and developing broader domain knowledge. With her focus on expanding her skill set, she was usually the first to volunteer to help anyone with a blocking issue at the daily standup. If she did not already have the skills required to help, she was anxious to acquire them. Not surprisingly, she was well versed in many development competencies, and as a consequence could contribute to any part of the project in need. She also made it a point to help more junior team members improve their own technical skills by mentoring them. Her capabilities were critical to ensuring the team could get to “Done!” every sprint because she could jump in and help when it was needed.
Additionally, she was a good communicator and her willingness to discuss what the team was learning, and where it was having problems, gave other team members the opportunity to help solve cross-team problems. One example of her efforts to drive open communication was to establish a set of best practices for the team to follow when code was checked in. The team had an established set of best practices, but they had become outdated due to the new technologies used to build and test their code. Together with some of the other leaders, she created a new set of practices, and published them for easy access. At the end of each sprint, the team would review the practices and update them to make then practical but more rigorous. Her efforts succeeded in having more cross team consistency with the code being developed and with the quality expected with each code update. Her approach resulted in better team cohesion because they had to work together to agree on what practices to mandate and how they would manage offenders. In the process, they eliminated several problems that had reoccurred frequently.
Another “go to” person that I worked with was a test leader. One of her behaviors that struck me right away was that she was a problem solver. She made it a point to learn everything she could about the product, not isolating herself to her own domain and expertise. With that knowledge in her pocket, she did not wait to discover problems, she looked for them. As she started to learn about lean and agile, she recognized that there was a lot of waste in how the team defined testing scenarios. Typically a tester would describe a specific set of text paths for a new capability and then other testers would repeat the same suite as they tested or wrote automation tests. Under time pressure, the next tester would often skip the details that had already been defined and retest or build tests following a slightly different path. This test leader recognized the time wasted documenting these testing patterns and tried a new approach. Her team decided to create user stories to define the test scenarios at a high level, and each tester that tackled that user story did it in a way that made sense to the tester. The result was less work writing details that were not reused and more success with finding defects based on new usage patterns. The team found more critical issues and eliminated low value work. It had not occurred to anyone that this was a problem to solve, but as the changes unfolded, it became evident that the new leaner process resulted in a higher quality product.
This test leader was also an exemplary team player; team success was very clearly her goal. I was impressed that she made a point to get to know everyone on the large project, and develop a rapport with each of them. She learned what they did, where they excelled, and where they were challenged. By doing this she was able to identify new ideas that she would encourage the team member to share. And she also encouraged team members to work together and help each other where they had not before. No one was left out, but rather invited to participate in more activities to expand his own skills and increase overall team productivity. Whole teams are an essential aspect to agile success because when teams leverage the unique skills of each of their team members and work together, they are more productive.
It seems that “go to” people behave this way naturally; it is just a part of their “nature”. And you may even think this is not part of your make up, so it is not a behavior to which you aspire. Having felt the same way I understand this, but in one job in particular, I tried to adopt this behavior. I started a new role in software, one that I had no experience with and was not even sure how to learn. I started to read all the literature available, I reached out to everyone on my team, I asked them a lot of questions, and I learned. I was not afraid to demonstrate my ignorance. And I volunteered to do anything that needed to be done, that no one was available to do, and that I did not know how to do. Not only did I quickly become a functional part of the team, but with my outside perspective I was able to recommend new ways to solve old problems.
If you are not a “go to” person by nature, I encourage you to try becoming one or at least try adopting a few of the attributes so that you not only help your team achieve more success, but you increase your own contribution and value. Here are some tips for being a “go to” person.
- Focus on learning. Try to learn a new skill or acquire new domain knowledge at least once a month. Set a specific goal so that you know how you will use the new knowledge or skill and be able to demonstrate the value of the effort.
- Solve problems at their core. Find a problem that has been festering for a while and take the time to fix it so that it will not resurface. If you can help another team member as a result, that is even better. Feel free to innovate; think of new ways to tackle old problems.
- Communicate well, communicate often. You should always try to improve your communication skills. Get feedback on your speaking and writing skills. Champion the use of a tool to help your team increase its visibility either internally or externally.
- Be a team player first. Make it your goal is to help make everyone on the team succeed. The next time that someone runs into a problem, be the first one to volunteer to help him and get the problem solved. Agile team members do not get partial credit; the whole team is required for success.
This may seem like an obvious list of behaviors to help improve one’s overall effectiveness but they are essential to helping agile success by enabling a whole team culture. The extra energy it takes to be a “go to” person will enable your team to achieve more agile success.