This time in “People in Testing” I had the chance to interview Markus Gärtner, the author of ATDD by Example – A Practical Guide to Acceptance Test-Driven Development and one of the most influential agile testing professional person (Awarded in 2013).
Daniel: Markus, what is currently your biggest challenge at work?
Markus: Right now, I am working with a client on introducing Scrum in both the medical world as well as constructing medical equipment, rather than software development. Although, I we just started, I feel engaged by the amount of things that I learn in order to make this happen.
On another note, I work in a company where we enjoy lots of freedom together with self-direction and self-management. Though the stuff you read about it-agile, if you dive into the background, and are part of it, it’s very hard work. Right now, we are on the edge of hopefully overcoming some of the struggles that come with self-organization.
What was the best bug you have ever found?
The best bug I ever found had to do with an interface between a C real-time component and a Java backend. There was a financial transaction, and the Java backend had the ability to tell the C real-time component, that it should pro-rate something. So, for example, if you signed a contract starting from May 04th, you would have to pay for 28 days in May, rather than the full amount.
As it happened, the implementation in Java used a lower case double rather than an upper case Double variable type. That resulted in different precisions. Now, when it comes to financial transactions, you don’t want to deal with problems related to misunderstandings in precisions. The problems could occur with the pro-rating percentage at the 10th digit after the comma due to doubles being too imprecise at that point.
For the bug, I was able to expose that there could be a problem (I think it was in Februarys in a leap year) resulting from the lower-case double imprecision when dealing with a monthly amount of 500 that was prorated for 25 days or something. Though that might sound minor, we were creating software for mobile phone providers with millions of subscribers where this particular bug could have yielded a four figure miscalculation.
Do you think the role as a software tester will change in the next years? If yes, what do you think will change?
My personal believe is that the role of a software tester as practices widely in the industry today has to change. Why? More and more companies out-perform more traditional set up companies. How do they do that? They invest in the people behind the organizational hierarchies, and bring them back to what us humans do best: learning. My picture of the 21st century workplace is a multi-skill multi-learning one. And to reach that, the more traditional roles we face now will have to change in order to have the companies attached to it survive in a highly competitive market.
Partially I already answered what I think will change. When diving into the taxonomy from Ken Wilber in “Reinventing Organizations” from Frederic Laloux, there appeared to be a common pattern: people start to find new roles in organizations based upon what they think how they can contribute best to the overall success. That said, I don’t know much what bits about writing a test plan or test strategy document might change, but I think that software testers will have to engage with their companies to help them see how they can contribute in the future, and define their roles during that dialogue.
What is your recommendation to other software testers on how to improve their testing skills?
Look for ways that kick you out of your comfort zone. So, if you are an automation engineer, then you probably want to find places to dive deeper into exploratory testing or performance testing. If you are a more traditional tester following a test script, you may enjoy diving deeper into test automation or more exploratory testing. You may also want to dive into programming or some of the soft skills areas as manager, or servant leader. Software testing is a wide field.
How do you improve your skills? Well, that mostly depends on your learning style. I have a strong preference for reading. I read lots of books, articles, and blog entries on the Internet. For the better readings that I do, I feel so engaged that I try it out the next day at my job. In the past, I found the combination of theory and practices helped the learning to kick in deeper for me. Your mileage may vary, for example when you’re more of a social person, then talking to colleagues outside your company might do the same as reading does for me.
So, it boils really down to knowing yourself. Know what skills you already have, and which ones you want to dive deeper into. You should also know your personal preferences for learning something new. That combination should already give you a good first step on improving your skills.
What do you like most to be an author?
To me, writing is a way of thinking and reflecting over things that crossed my mind. I really like the process of writing when I have high energy for the topic that I am writing about. That what I like mostly about being an author. Of course, then there comes the time when people read what I have written, and they find all these mistakes, and so on. At that time, my learning has already shifted further, so that it’s hard for me to come back to those old lessons.
Oh, those are the things I don’t like that much. It’s really the process of writing and reflecting.
Markus Gärtner works as Certified Scrum Trainer (CST), coach and consultant for it-agile GmbH, Hamburg. Markus, author of ATDD by Example – A Practical Guide to Acceptance Test-Driven Development, a student of the work of Jerry Weinberg, received the Most Influential Agile Testing Professional Person Award in 2013, and contributes to the Softwerkskammer, the German Software Craftsmanship movement. Markus regularly presents at Agile and testing conferences all over the globe, as well as dedicating himself to writing about agile software development, software craftsmanship, and software testing, foremost in an Agile context. He maintains a personal blog at http://www.shino.de/blog. He teaches Scrum, TDD, ATDD and context-driven testing to customers in the Agile world.