A week ago, I was in Oslo, Norway, for the OdinSTAR 2017 conference on software testing, and I had the privilege of teaching a great group of people in my Agile Leadership Workshop. The workshop is taught dynamically and I never expect for us to get through all of the materials in the class. So, in the very beginning the students sorted the backlog of potential topics and added key questions to establish the highest value for their four-hour investment. By the end of the course, we did have a few questions left on that backlog. So, I thought I would take the time to answer those questions.
How do I become an Agile ambassador? I’m going to put this into the frame of a person who is representing or promoting the goodness of Agile to both management and teams. Perhaps the best starting spot is becoming a good practitioner yourself. This way you can speak with authority on the benefits of Agile to the people that you’re trying to influence. Along with this, when you’re dealing with promoting Agile within large enterprises you need to create a strong connection between the business and the activities in Agile. This means you need to use words like time-to-market, quality improvements, employee retention, security improvements, etc. to describe the benefits. This way you are connecting the benefits of Agile to real measurement systems that are used in most corporate businesses today. Lastly, facilitating a strong community of practice within your organization and bringing great data and methods that you learned at the OdinSTAR conference back to others in your company is another way of building strong advocacy around Agile methods. Leading and growing a strong community of practice are great ways to become a strong Agile ambassador.
How do I inspire and mobilize the team? This question is kind of similar to the previous, but let me take a slightly different perspective about inspiration and mobilization. I’m a strong believer in leading from the front. Which means that we take actions that inspire others to take greater actions. One way of doing this is to establish a vision of what you want to see happening within your company. This could be an Agile vision that makes life better for the developers and others that use the software that you’re developing, or it could be something a little bit smaller but more focused on just making the day go a little bit easier. With that vision, you want to enlist people to participate in making that vision a reality. This is probably another reason to start with something small within your organization, because you should be looking at ways that you can create quick-wins in order to celebrate and to create more momentum and gravity around what you’re doing. Once you have that momentum, it’s important that you encourage others to take up leadership themselves. Teach them your methods of how you inspire people, and allow them to take part in the cause and grow the effort as well. Here we are shifting the question from how “I” inspire and mobilize the team to how “we” do that. This way you gain momentum faster.
Autonomous teams versus need for standards and procedures? In reality, especially in larger organizations, there is no such thing as a fully autonomous team. We all live under a set of corporate guidelines, laws, and other constraints that teams need to comply with. The difference is that in Agile teams we use self-organizing teams that are not just subservient to a set of rules and agreements that they never had any say in. It’s expected in the self-organizing team process, along with accomplishing the work of the team, they participate in helping to set organization wide strategies and improvement programs that create the governance around all teams. Within this, there’s nothing wrong with establishing policy buffers that allow teams to operate both within the guidelines and at times outside of the guidelines. This allows for a high degree of experimentation and testing of new possible rules that might work for the greater organization. In all cases, the expectation for teams is to uphold the organizational values and principles, and if those organizational values and principles are Agile ones then the expectation is that the policies and procedures don’t violate what we expect from Agile teams.
What is the role of test managers and testers in Agile? I made a prediction back at EuroSTAR 2009 that testers would become developers in five years. In reality what has occurred in the industry is that developers and support positions all now have responsibility to test their own products. So, what this means is you now have a large number of entry-level testers that need to be trained by experienced testers. Some of the traditional testers do need to step into the role of developer to help others to write good tests early in the development cycle. Furthermore, especially with high regulatory environments, we still need to perform a great deal of rigor around testing components as they integrate into their final platforms. Even with high degrees of automated testing. there are still a number of testing scenarios that need to be performed in order to ensure high quality, safety, and security for the users of the product. This is an area where test managers and testers will still be needed regardless of whether you are using waterfall or Agile methodologies. Lastly, the larger issues around test management and execution will continue to grow in complexity and size over the next decade. Here we need very skilled test engineers to develop the next generation of testing architecture to address these problems. This means that part of the role evolves into a validation architecture position. Regardless of the title of the people today, the people with these critical testing and testing management skills will be needed to make this happen.
I hope my answers help, and I look forward to the opportunity when I can be back in Oslo, Norway. If you get the opportunity I will be at the Agile2017 conference in Orlando, Florida, the Agile Testing Days in Germany, and the Better Software East this year. I would enjoy continuing the conversation there.