The final of the series of my Testing Principles. It is great to be here writing the final one. Overall it must have taken me 6 hours + to write all of this up. I do hope it’s useful for others. For me, I’m feeling it is helping me learn more about software testing in general. I’ve already started to reflect on these current principles and I believe they are going to mould continuously as I move forward. For example, the principle around the theme of role I feel, for me, is not very relevant in my current position. I have a fantastic team that understand the role of testing and it’s importance, so it is becoming less applicable right now. I might replace it with the theme of review. How we review our testing and ask the question, how good is our testing? More on that in later blog posts where I’ll explore my current thinking.
Back to the theme of learning. In my experience and observations I believe there is a problem. We are maintaining code or automation that no one is using in production. We are not reviewing what’s going on in production continuously to see what we can remove in the code base or automation. It’s always add add add. Create this new feature. Add more. How about less is more? There has been a craze about minimalism in the last decade and maybe there’s something we can learn from it.
Let me share an example with you. I was working on a salesforce product and we have something called a managed package. It is basically a group of functionality, say one package could be a benefits offering. In total we had 12 packages and we were maintaining each of those, applying security patches or running automation over them. I took a step back and asked the question, who is using these in production? I spoke to customer success managers and other team members to find out the answer. It turned out that two of the packages were redundant. No one was using these. Yet we were spending time maintaining these. I mean, what a waste of time! I personally believe this is happening across companies right now. You have no idea what’s happening in production and overall wasting time maintaining things you don’t need to be maintaining.
This can all be solved by doing some research.
What is going on in production right now? What are your customers using and what are they not?
It’s great these days, you can use telemetry to track what’s going on in production. However, what you can also do is speak to people outside engineering. Not enough of this goes on in my view. Speak to people on the front lines — your support staff, customer success or sales. I would suggest to speak to your customers, however, I know that’s not always possible and you have a front line team to do that.
Overall, please, review what’s going on in production. You will save a lot of time by doing this.
Thanks for reading my series on Testing Principles. To read the rest of the series see:
Principle 3- Empathy https://fishouthebox.medium.com/testing-principle-3-empathy-fc63b0680793
Principle 4 — Role https://fishouthebox.medium.com/testing-principle-4-role-e8f98ceded02
Principle 5 — Visibility https://fishouthebox.medium.com/testing-principle-5-visibility-3856de5c1e4b