What is testing for me

Some days ago I had the occasion to make a presentation regarding testing. But I had one dilemma before. How could I have been able to do this presentation without me being able to say what testing is for me?

There is a concept, praxis, that started my quest to understand how theory can inform and make sense in the practices, in my day to day work. And when I say practices I think about practices in testing, management and programming.  There are lots of them. I began to cover some of them, please look here for examples. The concept I am speaking about now is the complexity theory. 

Is not easy to explain this complexity thing. I like how Edgar Morin explains the complexity. For him complexity is like a tissue or fabric of inseparable associated diverse elements. But at a second look, those elements represent: events, actions, interactions, feedbacks, hazards. 

I like the header image because it is trying  visually to show this complexity. You can see in the image some dots, connection between the dots, but it also shows patterns that can be formed (different lines, triangles, pentagons, polygons and so many others). In our day to day life those dots might represent things like:

  • Technical details in our product(components and objects relating to each other, the fractality of the code, mixing up unrelated abstraction and so on)
  • Humans with their roles working on a product
  • Risks
  • Requirements 

And then there is another important detail and that is the fact that humans think in patterns.

So, what is testing for me? Testing is about finding those relevant patterns that matters within a complex system.

Those patterns might mean whatever is relevant in spotting problems within the product or process. These patterns are not static, they continuously change.

Scrum Master as a complex dynamical attractor

Context

Some years ago I noticed a strange thing when a new Scrum Master was assigned to a team. That team was already formed and just needed a new Scrum Master.  I observed that team before with another Scrum Master. I also observed the new Scrum Master with his former teams. My first reaction was: “How sad. This team will be transformed in selfish team, capable of doing bad things like sabotage. I saw the good part of these people, now I will see the bad part in them “. And indeed, it was like this.

Problem

I was starting to observe certain patterns of influence of people upon groups of other people, with interesting consequences.

At that time I was wondering how I can explain this in a way that it made sense, was coherent, professional and had some bases.

Why this

This was about a Scrum Master,  but I think it applies for Product Owners, managers, ….

This story is particularly important in context of Scrum. I say this because there is an important detail in the Scrum Guide, which is: “…Scrum (n): A framework within which people can address complex adaptive problems…” (1) (emphasis is mine). Here is about complexity theory, it’s deep stuff.

About the word “theory”

We, the IT, have at our disposition an entire body of knowledge from multiple disciplines which can help us a lot. Unfortunately this is, at least in my circles, rather ignored. And we base our ideas, work, actions on some “beliefs” or blindly.

This word “theory” is about science. Some sciences can be very useful in IT: cognitive science, anthropology, complex adaptive systems theory, etc.

We can use practices informed by theory (praxis)(2) in very practical ways in our day to day work. The fact that we know the theory can help us make sound statements/actions about novel and uncertain situations. We can do this because it is about validated knowledge from sciences(2);

In March, this year, I was at the Scrum training held by James Coplien. Everything he said there was not based on beliefs or impressions. He has done his homework regarding the scientific research. He knew how to back up everything of what he said by theory. I hope more Scrum people will follow his example.

This post is about complex adaptive systems theory. At that time, when I was observing the situation described in the Context section, I was looking at it through the lens of complexity theory, more precisely about attractors.

Atractors

Trajectories  that concentrate  on regular/normal patterns define the idea of system’s attractors. What is found in the basin of attraction will have its behaviours constrained/directed/channeled by the attractor, this means increasing the chance of going in one direction rather than in another. The behaviour of the system is constrained by the dynamics of the attractor. (3)

Can the attractors be persons? Of course, parental presence in a children’s party represent an attractor. Just imagine a children’s party with no parent(4). The presence of the parents there will influence what is acceptable and unacceptable behaviours.

Conclusion

● How a Scrum Master is chosen should not be based on frivolous reasons.  I say this because in complex systems, we deal with social phenomena, when developing projects/products, there will always be unintended consequences. Also in complex systems a small cause does not imply a small effect, not at all.

● Strange attractors are and will be present. The fact that the Scrum Master is a good or bad attractor or not attractor at all, will matter;

● I am so tired of seeing Scrum Masters who are chosen just because:

–  is enough that they know how to do reporting;

– the manager choosing the Scrum Master is enticed by the false appearance of words and behaviours of a certain person wanting to be Scrum Master;

– the person is a tester and is cheaper, in outsourcing, to make testers Scrum Masters and not developers;

– that person is very good in platitudes and reproducing the same things which can be put in just 4 A4 pages;

Scrum is not easy to do, is hard and that’s why I saw so many failures with it. I imagine this is because, maybe, lack of knowledge, fear, political games …of course is not a single root cause….

There is a lot more to say, of course. For example, other anomalies can be spotted in the situation described in the Context or in the points listed in how I saw Scrum Masters being chosen. But the intention of this post was to make the connection between 2 things: Scrum Masters and attractors.


(1) “Scrum Guide” , https://www.scrumguides.org/scrum-guide.html

(2) Dave Snowden,  “Of practical wisdom”,  http://cognitive-edge.com/blog/of-practical-wisdom

(3) Alicia Juarrero, “Dynamic in Action”,   https://www.amazon.com/Dynamics-Action-Intentional-Behavior-Complex/dp/0262600471

(4) Dave Snowden, “The landscape of management: Creating the context  for understanding social complexity”, https://www.researchgate.net/publication/228449006_The_landscape_of_management_Creating_the_context_for_understanding_social_complexity

Transformation, Evolution, Coevolution

Preetam De wrote something interesting which made me think to complex systems:

“#Transformation is a process.
#Evolution is a learning experience through empiricism.

Reason why transformations have short term benefits.
Evolution is long term and is based on how the ecosystem is changing.

Are you transforming or evolving?”(1)

Since we deal with complex dynamic systems  ‘coevolution’ word came in my mind. And I would say that near empiricism we also have theory which could help us a lot. ‘Transformation’, maybe, has short term benefits because a mechanistic approach is considered. ‘Evolution’ works better, maybe, because we use another metaphor which is ecology, biology.
This means the techniques used for ‘transformation’ are different than the ones used for ‘evolution’. No wonder that we have problems with scalability when ‘transformation’ should be applied at large scale.

Note: I know there is a place for both but the problem now, I think, is that we only see the mechanistic approach.


(1) Preetam De, Linked In post regarding ‘transformation’ and ‘evolution’ https://www.linkedin.com/feed/update/urn:li:activity:6340146166902059008