Do I need to know programming as an Agile Tester?

Do I need to know programming as an Agile Tester?

Agile Testers need to know programming?

Agile Testers need to know programming?

Do I need to know programming as an Agile Tester?

Yesterday I was writing the blog Agile teams: the business argument for team responsability and common goal in which I was making the point that the service to those who will use what you are creating becomes more important than doing what you are good at or doing what you enjoy the most when I received this question from one of my LinkedIn connections. It is a great question!

QA/Agile Testing is not exactly my deepest expertise area, but I will do what I preach and try to give you the best answer I can, as an Agile team member, Scrum Master, and Agile Technology Manager, still inviting the other community members to provide their view.


Agile community point of view

This is a topic that creates a lot of debate in the Agile community. During an Agile Testing/QA conference, half of the participants considered that technical expertise is needed, half did not.

The argument of not being technical is related to the power of Black-box testing which is a software testing method in which the tests are done without knowing the internal implementation of the item. This it very powerful, because it is indeed focused on testing from the user point of view, without knowing any constraints of the code base (because, hey, the user does not know nor care about the code base constraints). In my experience, this brings a huge value and has the power to uncover many errors that usually developers who know so well the code base cannot find.

This is different from White Box testing and then the question could be should QA/Tester do the White-box testing also? Is Black-Box testing even possible anymore after you get to know the code details? Agile promotes T skilled profiles, but where is the boundary of general knowledge and specialization, hard to tell.

Team point of view

One good reason why there is no black or white answer is that so much depends on the context of the team and the project, and this tends to change in time. A team that did not have any systematic manual testing before, will probably need the Tester to focus on that full capacity.

You could call it that the manual testing quality debt needs to be paid. In time, the more automated testing is added according to Agile principles and if the quality of the code is actively evolved, some Testers do see an increase in their spare time. Maybe a team that had a tester for 3 years can have a lower demand on Black-box manual testing and then, there is a spare capacity that the Tester can use to achieve the common goal of the Sprint. In order to do that, s/he may need some technical skills.

Organization point of view

Here it is always a matter of how you can bring the most value to your customer and the way you can contribute the most in your company for that. Supposing there is some spare time in your schedule inside your team, but the company lacks overall testing expertise, then the support needed from other teams has to be considered.

Maybe your team is doing great on the testing side, how about the other teams? Sharing practices during a Testing Community of Practice and collaborating with other Testers to create a company systematic testing (especially when multiple teams work on the same product), are topics that need to be discussed with your Technology Manager. Then, it becomes a matter of priorities.  

Personal point of view

OK, there is so much “it depends” that it might confuse you even more. If I were in your shoes, I would take advantage of any opportunity to grow my skills. If the team/manager etc. thinks I should learn something more, I would go for it. If the team has a strong opinion on that topic, then it means that they are willing to support by peer coding or even other knowledge-sharing sessions.

If the manager considers that new skills are needed, then probably you will receive some support as a training budget, time for self-learning, etc. It is very possible that the manager who has an overview of all the teams to say it clear and loud that s/he prefers that you invest your learning efforts in deepening your Testing expertise because the lack of deep expertise at the company level is high.

If no one around you considers that this is valuable, me, I would still learn in my spare time as an investment in my future, a small experiment and out of curiosity. You can ask your team where to start to have already some short term contributions. One hour per week takes you far in one year. You see, overall, I think that in the long term it is better to have the ability to get involved in technical topics and then be flexible on when to use it. This way you create the opportunity to have a personal opinion on this topic based on your first-hand experience. 

I hope it helps. As I said in the beginning, I invite other Agile community colleagues to comment on this! Thank you for sharing your point of view! 

About:

Roxana supports IT Executives to leverage the Agile mindset and the latest management research to achieve Strategic Business Agility. Her fully customized approach includes the right mix of Agile Management Training and Consulting, Executive Coaching, and Mentoring. Read more about the Agile Business Transformation services, focused on Agile ManagementTransformational Leadership, and Startup Profitable Growth at MastersWhoCare: Uncovering better ways to lead and serve.

10 steps to effective Agile meetings that feel great!

10 steps to effective Agile meetings that feel great!

The business argument for team responsibility and common goal

The business argument for team responsibility and common goal