Return of the Darlings, Pets, Cattle and GUID’s

3–4 minutes

687 words

In march 2021 I wrote about how we can understand the components of our artifacts on a four characteristics model:

  • Darlings, for the unique and carefully crafted
  • Pets, for the repeated and replaceable
  • Cattle, interchangable
  • GUID’s, disposable

Kill your darlings and treat your tests more like cattle than pets, are among the heuristics for managing your environments and automation test suites. The “cattle and pet” analogy was probably first coined at GOTOcph in 2019: ” In the old days, before cloud and kubernetes, we treated our services as pets. Nowadays, we treat our services as cattle”. These heuristics tells me that the environments and automation where in a state of product or even commodity, while previously they where like darlings and pets – named and nurtured.

We do need the darling solutions for the things that sets you uniquely apart and for the unknown of the new incoming features. We need the cattle, structure and standards for factory solutions and stable operations. Not the other way around – FFS!

Named and nurtured tests with explicit steps and specific test data on all test cases are are a sign of a team stuck thinking that all problems can be solved with more and more specification and detailed up front design. We have seen numerous times that this is not how you build trust and collaboration – nor when handling systems that are not stable – nor when the subject matter experts test. You cannot structure yourself out of a complex situation.

The next change to face

Back in 2021 and years before that we discussed, test automation and especially low-code tooling. I was there – I wrote the piece and ran the projects. This time around the challenge is the same, but the change perhaps even closer to the testers heart. The test cases. Test cases are no longer crafted nor unique.

I was just at a test tool demo today, and I had a moment.
Test cases are no longer carefully crafted and unique, they are generated.
Test cases are no longer an atomic unit of measure (if it ever was).

Given source code, system specs or even a one-liner, test scripts can be generated.
in vast numbers both positive and negative.

https://www.ministryoftesting.com/moments/test-cases-are-no-longer-crafted-nor-unique

Given even drafted test ideas, even drafted systems under test or even sketches of system documentation engines can generate test cases that can be tossed away and rerun. We can treat test cases as GUID’s, that are merely referenced – never stored. This will challenge our thinking, documentation and test tool stack. What is left for us is to imagine that things can and will be different. This is not the first time safe bets and industry best practices and we do have the insights we need rearrange for future solutions.

We already know how to read the landscape

We can use the stages of evolution from the Wardley mapping landscape to position the parts of the systems relative to one and another. On the left we have the uncharted and on the right the industrialized:

Based on Simon Wardley‘s Evolutionary Characteristics Cheat Sheet, CC BY-SA 4.0

By addressing the system under test and aligning with the business user needs we can understand the relative positions of the technology stack, movements of the business knowledge and practices. We can see that exploration makes sense on the left side, along with subject matter experts intricate knowledge. We can also see that codified and explicit knowledge ties with codified solutions and industrialized on the right.

There’s a huge difference in addressing a user need of cloud operated commercial standard systems and systems being held together with duct tape, WD40, gatekeeping and all the other dangerous animals in product management. While there used to be a difference between life science and the business-to-consumer solutions, the former is catching up and similarly needs to deliver faster and validated at the same time.

To me it is about enabling organisations, delivery teams, bid teams and CTO’s to get their core challenges solved – not merely the status symbols and status quo. It’s clear that we cannot solve the challenges of tomorrow with the tools of years gone by. We need to stand of the shoulders of previous giants to reach the stars of the future quality solutions.