Testing Talks is a series of interviews highlighting well-known personalities from the world of software quality and testing. In this new episode, we had the pleasure to talk with Melissa Eaden.
She was a writer in the Ministry of Testing for over three years and is now Senior Director of Engineering at Unity. She is also a speaker, writer and advocate for a culture of quality and testing in engineering.
Can you introduce yourself and your background?
My name is Melissa Eaden. I'm a senior technologist. I have been everything from a manual tester to an automation all the way up to a QA Manager and now Engineering manager. I'm currently working at Unity Technologies. Unity Technologies is a game engine company primarily, but they also have several other offerings around virtualized graphics, 3D rendering, and ads for mobile and desktop games. There's a lot going on at Unity today, it's very fun to work there. There are little stressful times, but still a lot of fun because of all of the interesting things happening.
What is the best part of leading a QA team?
The best parts are being able to interact with everybody that has specific knowledge. Everybody comes in with different experiences. Some are better at coding than others. Some have higher process skills, like knowing how to find the gaps and get in and do the glue work.
If you're not familiar with that term, look up glue work. And I'm sure there will be a lot of information around that. Those are the things that I like working with the team on, finding everybody's strengths and leaning into that and figuring out what kind of work they want to do, what their career goals are, and how we can help each other out as a team.
All of this is super interesting to me, and honestly, that's hopefully how every team works, regardless of the work that they do. But sometimes, that's not the case, and that's how I like to help my teams and help them work. I prefer coaching and service-oriented management instead of micromanaging. My focus is on asking how I can help the team do their job, which is how I learned to manage and how I like to work with them.
What is the best way to get testers and developers to work together?
There are so many answers to this. Actually, I think it is better to consult with a tester, QA person, or coach to determine the best approach. It could be everything from pairing to a coaching model where they have questions about testing, and you're helping them shape what that answer is going to be. It could be more hands-on and working with devs actually in the code, it could just be demoing code and tests between devs and testers.
I think every team has their dynamic and how they like to work. And it also depends on what model of software delivery you're doing. It's going to be different for a software development shop if they're using Waterfall or Agile or Scrum or Kanban, so everything is going to be a bit different. If you've worked in a particular style, sometimes, the initial reaction is to try to use that same style again. But, I think from team to team, how I've worked with developers is different. It really depends on the team dynamics, and taking that into account and working with them and building a foundation of trust is more important than any particular style.
What books do you recommend for quality culture and testing in engineering?
I recommend “Rocket Surgery Made Easy”.
“Don't make me think easy”. This is all focused on UX design and general use cases… Really good foundation for testers.
“The digital quality handbook”, really good reference material, especially working in cloud environments and mobile environments. I really recommend that.
And we cannot not mention Lisa Crispin and Janet Gregory's agile testing. There's also more agile testing and agile testing condensed. I think there are a couple of books after this, but if you're going to get one, this is it.
Even if you're not a manager, even if you're a QA lead or someone that interfaces with a lot of teams or a lot of people; “The five dysfunctions of a team”. Definitely recommended as a lead or a manager. Regardless of what your role is, this is really good for setting a foundation for how your team can work better.
“Measure what matters”. If you're looking for how to measure things, everything from KPIs to metrics, this is a really good foundational book. It talks about OKRs, but I think you can pull a lot of things from here because oftentimes folks will measure bugs, and bugs are a symptom of a bigger problem. (...) This really helps clarify a lot of that.
And if you're someone that has problems figuring out how to start conversations or how to have the right conversation: “Crucial conversations”. I can't recommend this book enough. This is for anybody that works in software or tech. I think we don't have enough of having the right conversation. This is where we run into having meetings over and over again. We don't take away action items from meetings. We don't find clarity. This book has really helped me focus what I'm asking and why I'm setting up a meeting. It's something as simple as an agenda can really clarify and make the meeting useful. This will talk about those kind of things and how you can make every conversation you have to the point and helpful.
Can you develop one thing every new software tester should learn, and tell us why?
(Related to your book ‘30 Things Every New Software Tester Should Learn’)
Heather Reed and I were the editor of this book. It was an amazing experience! I think it was kind of first in class when we originally did this, and now it's kind of been repeated everywhere.
The new thing I would add is to learn the chart and learn Conway's Law, because those two are kind of interlocked. A lot of software companies will develop their software based on the chart. If you understand the chart, you can find where the gaps in quality are, and what the initial problem is. If you can narrow in on that, you can really find some low-hanging fruit that can raise the quality of a product pretty quickly, just by understanding how the product is being put together and who's involved in what parts of the product. Once I learned Conway's Law, my whole perspective on how I approach testing changed because it is not necessarily the developers that I have to go to fix this problem. It might be the product people, or subject-matter experts to understand what they actually need and bring that back to engineers.
The engineers and I, as a tester or a QA person or a coach, can even explain it better and build a process around making that particular piece better, especially if it's high up in the customer complaint queue. It requires a bit of research and understanding, but once you get it, it's a lot easier to see patterns at a macro level that could affect quality rather than just functionality or the code. (...) If you can get it and understand it, then you're going to do amazing things with quality.
What is the rookie mistake to avoid starting your career as a QA Manager?
I just wrote a newsletter blog about questions you should ask as a new manager – you can check that out at firstname.lastname@example.org. The question you definitely should ask going into any new management situation is: “What are the expectations of your role? Are you the hiring manager?” You need to understand how to retain people. If you have to let someone go or fire someone, you need to understand how that works and the process that's involved there before you ever really set foot into a team or figure it out pretty quickly.
The other thing is just understanding the expectation you have. Are you there just to manage people? Are you a people person? Are you expected to actually do IC work, individual contributor work, along with your management work? Are you expected to do career development with your folks? Are there things that you have to deliver on as a team that are going to affect KPIs or the bottom line or any of that?
Just asking questions about what the expectation for the role is, and making sure that it is very clear (...) because what happens is I found that especially with new managers, you don't know exactly what questions to ask.
After three years, I knew if I took another managing role, this is what this looks like. It's important to have a clear understanding of the work you're taking on and not make assumptions. Otherwise, people may try to expand your scope, which can lead to redefining the project. If you're freelancing, the redefinition could change how you're getting paid. Or should anyway, especially if they're adding more work. If you're a full time employee, that could change the amount of work you're trying to do, and you should be able to push back on that. New managers should ask about expectations, rules to follow, and other important information. Without this, they may feel lost and not perform their managerial duties effectively.
Tell us an anecdote about your career as a senior technologist?
It's been the last couple of years that I've worked as an engineering manager technologist, doing more generalized things. What that's allowed me to do is take things from the quality realm that were very narrow, very specific, and apply them to larger, bigger projects that can span business units and even companies sometimes.
I have done everything from QA testing, obviously, to program and product management and sometimes analysis, data analysis. It's really taken the scope of what I know and do and broadened it to be more strategic and more impactful in a way to quality overall.
I enjoy combining process and technology to help people make the most of both. I also like creating communication channels that didn't exist before, depending on the product, and watching amazing results happen as a result. Communication is the foundation of building software. I think the idea of being in this corner and coding or writing tests over is very much a legacy of the past. We have to come out of that and be way more collaborative than what we're used to. The industry is reflecting that right now, too.
I like that collaboration. I like being able to help people and put people together and talk about problems that they're both passionate about and being passionate with them about solving those problems.
Who is the best meet you ever had, and inspired you for your career?
The best meet was at the Ministry of Testing Test Bash, in New York 2015. I met Abby Bengsinger, and she's a big guru now in the DevOps world and doing all kinds of great stuff there. Back then, we were both testers and had a really long conversation until 03:00 in the morning about career growth and development and all of that stuff.
If I hadn't met her and gotten a really good perspective and figured out what I wanted to do, which was move into consulting and work for ThoughtWorks, I don't think I'd be here. I think I'd be doing something else, or I'd still be a little unknown. So Abby and The Ministry of Testing group overall really impacted my career.
Then, I met people like Lisa, Janet, Ash Coleman, Martin Henier, Angie Jones and Alan Page – who I worked with for a while. All of those folks, I don't think would have been possible without that one meeting with Abby. I think she realizes that, but I like to tell her that every so often. It's a pretty big reason, and she helped quite a bit at that point.
Do you have a final word?
Whether you're a functional mobile test, whatever kind of tester you are, don't worry so much about being made redundant or being let out of a job. You have skills and abilities that you can adapt to new tech, to new ideas, to new workflows. You have to be open to doing that, though.
I think a lot of times I've run into testers that have done the same kind of job for several years. When things start changing in the company, they're some of the first people to go because they haven't adapted to new programs, new software that helps with testing. A really good example right now is trying to understand AI and how that's going to impact testing because really, it's definitely not going to eliminate testing. They're going to have to be experts in AI to help program the models and understand what those models are doing and that's a whole other role, but it could still be part of testing and understanding. What's that data? Is that data good data or bad data? How do we keep that from changing algorithms and models that we're using for software every day?
To be a tester to maintain a career, you have to keep an open mind, you have to be adaptable. If that's any other advice I can give you, that would be it, like if you're getting into software testing, just learn everything you can and then keep adapting. Outside of development roles, testing and QA and quality aspects or quality roles are probably the easiest to get into. But, from there you have to really think about your career and how you can adapt it moving forward and look at other roles too. You don't have to stay in testing. My recommendation is just that if you're open-minded and adaptable, you're going to be fine. Don't worry about your job going anywhere, because you're going to develop your job, and you will always develop into another job. You just have to keep your eye on what the company is doing or find another company that is doing something that you are progressing your career in. That's my recommendation.