Testing and Solving a Problem as a Team
1 June, 2021
After spending some time with a new development team, I wanted to increase our rate of releases. We had a very large QA team, and, as a result, an extensive and grueling QA cycle.
One thing that I notice a lot of organizations struggling with is moving from manual QA to an automated QA system. In this example, we had a few teams who were saying that there was no way that they could operate under these conditions, on the front-end, especially. They also claimed that the back-end was too complicated to rely on automation alone in its own right.
The attitude was not one of trying to figure it out, but rather one of why it could not and would not work.
I tried a lot of things in order to build a technical solution myself, and many of them, in spite of being technically working, did not convince the team to make the move.
I am not a front-end guy, but I do know what front-end testing entails. I created a proof of concept and presented it to the team. It was a small part of a huge script, which I was able to extract through refactoring and test in isolation. It wasn’t convincing enough.
After a few other mishaps, we held a hackathon to see if we would be able to crack it together. We worked for three days, refining the structure of that huge script. But the team still wasn’t convinced that it could be tested. We tried to automate another area, this time in one of the back-end teams. The same resistance to automation was present.
I sought out the advice of somebody who was not immediately involved with the project. I asked them to dedicate some of their time to the problem. They were not as familiar with the code as my main team was. They brought no prejudice against the difficulty of the project to the table, which, in my opinion, probably helped them to solve the problem. We started by building a small testing framework, and, after testing and testing, eventually we got it to work.
Our QA process was shortened greatly, from three days to maybe twenty minutes. Eventually, the developers found that it was easier to simply write the code than to explain it to the vendors on the outside.
- Sometimes, the baggage of knowing the history behind a project may make it more challenging to engage with it fully. You need to be able to come fresh and to just do it.
- If you set out clear requirements and give adequate time to the right developer, it will happen. You need to give people time. If you don’t give your people time, it will not happen. If you don’t have good requirements, it will not happen.
- Sometimes, you need to be naive in order to solve a problem. Isolating yourself with the problem may give you more space to think about it from all sides.
- If you showcase that something is working, you will earn the buy-in that you need from others. If they see that the product is good, they will believe in it.
Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader
William Bajzek, Director of Engineering at Sapphire Digital, compares and contrasts a team structure that utilized siloed skill sets and one where everybody’s duties overlap at the edges.
Director of Engineering at Sapphire Digital
Neelima Annam, Sr Director Information Technology at Outmatch, shares how something as minor as collaboration tools can be a BIG issue during mergers and acquisitions.
Snr Director Information Technology at Outmatch HCM
Piyush Dubey, Senior Software Engineer at Microsoft, shares his journey of climbing up the career ladder through awkward times dealing with an introverted manager.
Senior Software Engineer at Microsoft
Piyush Dubey, Senior Software Engineer at Microsoft, shares how to understand the stakeholder communication process better and why it is essential.
Senior Software Engineer at Microsoft
Albert Lie, former Founding Engineer and Tech Lead at Xendit, didn’t know what it takes to become an early engineering hire and not a lot of people around him experienced this unknown and arcane path. He had to learn it the hard way from the pitfalls he encountered along the way and he has been creating numerous frameworks to measure his growth and keep burgeoning in this role since then. He codifies and expresses the systems he put in place surrounding the balance of customer inquiry to product building and growing the engineering team.
Former Tech Lead at Xendit
You're a great engineer.
Become a great engineering leader.
Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.