All the time! Whether it’s exploratory testing, refining stories, asking those pesky inconvenient questions on meetings, or down on the ground implementing app code, I tend to navigate whole systems in my head.
Doing that plus fully utilizing my developer and tester hats is incredibly powerful. My gut is trained enough now I’m pretty good at intuiting what/how 3rd party/black box systems do/they work.
This helps me not only debug bugs or regressions but informs me how an implementation should be built. I tend to see dangers FAR down the road.
This comes with a huge downside though. This is a very hard thing to teach. It’s also very difficult to transfer the “full” context to others. All those “hidden” connections that my brain hastily used to construct the mental model are lost and I’m already down the block.
The other negative side effect, one I think many testers have experience with, is being seen as a blocker. Folks tend to think I’m overengineering. This is a valid concern and I don’t need it correct right away andy concern is more about not painting ourselves in to a corner. Despite my teams frustrations, they almost always come around. This is after things that I said would blow up blew up.
Wow, that was more than I was expecting. To summarize, I use systems thinking almost anytime I’m working on a code base.
Absolutely, it’s an essential part of the process for me.
I found my way into QA through production support so system thinking is something I’ve always considered. If you can get into a mindset of considering the system as a whole then you can often find gaps or issues much earlier.
This is a great point, a lot of it probably falls under tacit knowledge / experience gained whilst working with certain tech stacks or domains for a period of time.
@mikeharris - if I read your post correctly, you concentrate on the core business processes first before focusing on the implementation details?
Eg I have a form to complete with 100 text boxes and associated labels.
Each text box is mandatory and submitting the form creates a record. If I focus on the process, I primarily need to know that completing the form with a valid dataset will allow creation of one record. Does it matter what each label says? Less important. What are your thoughts on prioritisation for this simple app please and how we focus our efforts most efficiently?
@danuk Yes, systems thinking helps me concentrate on the core processes. If the app being tested has a form with 100 text boxes, it has a usability issue. Systems thinking can help with that, too, because every system has an aim. Determining the aim of the app will help you redesign how data is input into the system.