Loosely Coupled - Understanding Cognitive Load

Show full transcript

Karol:

Good morning, good afternoon, and good evening, everybody.

Karol:

My name is Karol Skrzymowski, and I'm your host today for another episode of Loosely Coupled livestream by Bridging the Gap.

Karol:

Today, I hope you have some nice beverage and a little bit of a clear mind after days of work, or if you're watching this midday, hope you have a slow day today so we can dive into the topic of cognitive load, and we're going to be having a conversation about how cognitive load influences our work as IT teams.

Karol:

I think that's something worth exploring.

Karol:

Joining me today is Aleix Morgadas, who is an engineering strategy consultant and ex-CPTO at Temperature, and Aleix has more than ten years of experience in tech and specialises in engineering strategy with domain-driven design, team topologies, and worldly mapping, which I have no idea what that is, but I'm certainly going to ask Aleix later about that.

Karol:

So, he's been sharing his real-world experiences on his personal blog on Substack, and at conferences, and now he's joining us today to chat about cognitive load.

Karol:

Hello, Aleix.

Karol:

Hey there.

Karol:

Thank you for inviting me.

Karol:

Happy to have you here.

Karol:

So, cognitive load, that's a broad topic, I suppose?

Aleix:

Yes, it is.

Aleix:

Depending to who you ask, it will be very different responses, so looking forward to debate about this.

Karol:

All right, Aleix, let's start off with you telling us something about where you're coming from, what you're doing, and why cognitive load?

Karol:

Why team topologies and all those things?

Aleix:

So, what I do or have been doing for the last years is, of course, I started as a software engineer.

Aleix:

I have a computer science degree or a background, so I have been developing for a lot of years, and at some point, I decided to start in management because of two reasons.

Aleix:

One is, in order to influence how the organisation works, usually, you need to be in the room where decisions happen, and often, that's a room that was at least on the company I was in for managers.

Aleix:

So, I was interested in more like, okay, how things happen and how we can influence where ideas originate instead of being buried in the end of the delivery process.

Aleix:

So, that is kind

Aleix:

of my intrinsic motivation, and that decision about being more involved in the beginning,

Aleix:

it meant that I had to learn about product, about business, about a lot of disciplines that were not

Aleix:

mine, and one of them was strategy, about how we can make better decisions with the limited

Aleix:

information, and that's kind of how everything started, and at some point, I just had to start

Aleix:

sharing my learnings because I thought that, okay, maybe it's only me, so I started sharing some of

Aleix:

those, and some people got interested, so that kept me motivated to keep sharing, and I guess by

Aleix:

sharing, I learned way more than by doing because usually, you have to think about, oh, I understand

Aleix:

this.

Aleix:

You try to put that on a post, and you're like, okay, I don't understand this completely, so you need to push yourself to learn more and more about things, and, yes, that's a little about myself.

Karol:

I mean, I definitely shared the teaching-learning mindset.

Karol:

I found myself that I learn a lot more by teaching others in my specific field of application integration, especially with my ADHD chaos in my brain.

Karol:

I know I have the knowledge, and I can use it, but the moment I need to teach it, it basically is brought to structure, and then I realise, like, oh, I don't know this.

Karol:

I need to fill the gap.

Karol:

I need to find the answers.

Karol:

I need to put more into there, so do research, because I cannot teach that because I don't know this aspect of my work.

Karol:

Oh, that's interesting.

Karol:

And that's because we're, through experience, we're basically exposed to a limited number of factors, not the whole thing that is a field that we work in, and that's also very interesting that, in IT, we stumble into other fields like psychology, which is exactly where cognitive load originates from, right?

Aleix:

That's correct, and, indeed, we sometimes use those concepts.

Aleix:

It's true that we are not psychologists, and sometimes we overuse those, and we shouldn't in some cases, but at the same time, we found them useful for driving actions or driving improvements, right?

Aleix:

So, at the end, it's like, hey, maybe we're not 100 per cent accurate based on the

Aleix:

psychology theory, but at the same time, we're like, okay, we're understanding where it comes

Aleix:

from, and then putting in a way that is actionable, that's really where it can help us

Aleix:

to make this happen, and you mentioned where this everything comes from, and you mentioned

Aleix:

team topologies, and it's true that team topologies influenced me a lot.

Aleix:

Indeed, I have been sharing a lot about team topologies and how it helped, not only in cognitive load.

Aleix:

I think cognitive load played a role.

Aleix:

Today, we will talk about it, but I guess that what it helped me,

Aleix:

what I liked back then in 2020 when I started reading and trying to apply some of the concepts

Aleix:

is that this is your main approach, but also that it was very different to other books I read

Aleix:

before trying to apply which is very US-centric, and I found a book which is more European value

Aleix:

centric, and I like because the authors are from the UK, from Portugal, so the good thing is that,

Aleix:

okay, this is another kind of vision I felt more related to the approach that they were describing,

Aleix:

and one of them were how you apply cognitive load to understand that if the team is exceeding

Aleix:

their capacity, and how you can use that as a data or information to make your decision making more

Aleix:

taking the humans into account, but sometimes, we forget that we are all like it's about people,

Aleix:

right?

Aleix:

So, that's the moment when I realised, okay, this is interesting.

Aleix:

Let me bring this because we focus way too much on systems, and it was missing the human point in the equation about socio-technical system at the end, right?

Aleix:

So, a lot of things together that are connected on how you add more points of view, or it helps you to shape better your decision making at the end.

Karol:

Yes, that is very true.

Karol:

I find it that we as humans, we have a tendency to oversimplify things, and that's the modelling tendency of model everything.

Karol:

We do it subconsciously, basically, because we need a simplistic version of life to exist and cope with it.

Karol:

If you would understand everything, that would be definitely too much of a load on our brains to comprehend and be able to work with, so we simplify things, and then we have biases, and then we have problems of all sorts of manners, including also understanding how people actually work in different environments, which is, again, something we will be touching upon today.

Karol:

And I find it also baffling at times that in this lovely day and age of generative AI, and all those lovely co-pilot improvements, generative code, architecture as code, etcétera, a lot of companies are striving for speeding up, like drastically speeding up delivery and processes, and I think they forget often about that human component.

Karol:

I often saw posts online on various media about the 10x developer, and that doesn't mean what it originally meant.

Karol:

It meant, like, we're going to limit the number of people in our organisation because now we have AI, so our developers can actually deliver ten times faster, which is probably measurably not true, in essence, but that also ties into the velocity of a team and the capacity to deliver, capacity to process information, etcétera, right?

Aleix:

There is, you mentioned already, we went already on AI thing, and I will be honest, I don't have enough data to make claims on anything.

Aleix:

At the end, it's like, since we see things, tendencies, or other claims or expectations on how this will work.

Aleix:

So, based on my limited exposure to this, because I'm not having all the data for all the companies, I'm sure that big companies trade different to small companies, but seeing things like, if you are a smaller company, you do more things, therefore, you have a lot of context switching that is adding new content.

Aleix:

It's true that maybe the AI helps you to have more nuances in something, but before, maybe take you two hours to do something, maybe now take you one hour, but the context switching between topics, for example, I'm doing a web page on this, meanwhile, I'm doing a blog post, meanwhile, I'm doing a, preparing a talk, right?

Aleix:

So, it is like, now you have three contexts, maybe the AI is helping you a little on each of them, but now you have more content in your mind.

Aleix:

So, in terms of cognitive load, you have way more because of the context switching.

Aleix:

But now we just imagine that we only focus on, you are only a developer, you need to do more things.

Aleix:

Before, we were, all the industry were moving from big PRs to smaller steps to small increments, and sometimes I see a backward step, because now it's easier to create more code with less time, now I see way more bigger PRs, I'm like, are we repeating the same mistakes again?

Aleix:

And then it's like, how do you review this?

Aleix:

It will be an AI reviewing it, or it will be a human now, instead of reading 20 lines of code to understand the change, now it needs to read 200 or 1,000 lines of code for the change.

Aleix:

And that's now, again, more cognitive load, because now you need to understand the change.

Aleix:

And the problem is, when you ask the person about, why is this, because the person didn't write it, it is like we're missing communication, because now we have three parties, at least, it's like me and you, and us and the AI.

Aleix:

And in terms of, I don't remember right now this image that this is about the connections, if you have two people, now you have one line of communication, you have three, you have the explosive communication.

Aleix:

So just imagine a team of five, that each of us is using AI, so now it's like, it's not five of us, it's 10 of us.

Aleix:

There's 10 people, 10 agents, all of us following information and not sharing all the information.

Aleix:

It is even worse in terms of the explosion of things that are happening on each team.

Aleix:

So I'm not sure, or at least my intuition says, we will go slower, because as humans, we cannot process this amount of information.

Aleix:

If we need to, you can believe the code, but at the end, the system will tell if it works or not.

Aleix:

And usually, we're still working in a deterministic world.

Aleix:

And that deterministic, it means test, it means specific things.

Aleix:

And I'm still to see, the more code you have, the more variables you will have in the prompt or in the tokens or whatever it's in the input, and the more context window, the more variability on the output, and so on and so forth.

Aleix:

And I will close here, which is the models.

Aleix:

So the people, we pay per input token and per output token.

Aleix:

So sometimes I'm thinking, these people have the intention or the incentive to give you more code, because the more code they produce, the more they charge you.

Aleix:

So sometimes I'm like, hey, they want to give you duplication of code, or not having the right distractions, because they will be able to charge you more per prompt.

Aleix:

So at some point, I'm like, I don't know if we have the right incentives.

Karol:

Yeah, that's evil.

Karol:

That's kind of evil.

Aleix:

I'm not saying they do this, but the incentive is there, right?

Karol:

True.

Karol:

It's like with certifications with different companies, right?

Karol:

I've seen somebody post some time ago that we were passing, the person was passing some sort of AWS certification.

Karol:

And that person actually had robust experience with AWS and cloud computing.

Karol:

And they were asking about a specific use case, what components would that person use to build it?

Karol:

And he, because I was a guy, he answered truthfully to his experience, because he knew which components would be the easiest to implement and least cost and the most manageable for this particular use case.

Karol:

Of course, the answer was wrong, because the test was not testing the knowledge about cloud computing, but it was testing how you conform to the marketing of the particular cloud platform, right?

Karol:

So there's always this risk that we're not only introducing more context and more load onto us and teams, but it's also risk of introducing a lot more bias in the process.

Karol:

That's true.

Aleix:

Bias that is you don't know where it comes from, and it can change, because if the model changed tomorrow, maybe it comes with another assumptions about topics.

Aleix:

And I mean, I come with an automated design background as well.

Aleix:

And what happens is like, hey, the language is super important.

Aleix:

And delegating the language to the LLM is like, be careful, because you're delegating the ubiquitous language to be defined by the external.

Aleix:

And there is one thing about human design, which is the core domain is unknown.

Aleix:

You need to discover, you need to define it.

Aleix:

And LLMs are trained on known data, which by definition means supportive or generic subdomain, which means you don't get money on this, because it's already done.

Aleix:

So what it can produce the LLM, it's known area, which therefore cannot be core.

Aleix:

So we are using LLMs to create core domains, using...

Aleix:

And it will produce known subdomains, it will not be able to give you the space.

Aleix:

And that is still how you can collaborate with domain experts, and how you deal with users.

Aleix:

And of course, you can use AI to summarise some calls.

Aleix:

Yes, you can use it, but be careful on delegating thinking and critical thinking to LLM, because it will give you, it will move from how you need to trade uncertainty and learn and feel and iterate into, hey, this sense of, oh, clarity, because it will tell you what you need to know.

Aleix:

So it is always, just be careful.

Karol:

Or tell you what you want to hear, because they're trained to be helpful and not critical, for example.

Karol:

And that's another level of cognitive load that we're getting into, because we need to check the outputs all the time.

Karol:

If I use a generative AI for any number of purposes, without putting in my content, whatever that company may be, transcript or text, written text, whatever, and I try to work it in my specific field, most content in enterprise application integration is content that is paywalled.

Karol:

AI has no access to sources that would be credible, which means that it hallucinates instantly, and I have to check every single output, which, again, increases the amount of work I have to have every single time.

Aleix:

Let me do one step back, because I want to do some concepts, because cognitive load, we can get into the details about the difference between cognitive load that influences us.

Aleix:

And I will give you now the argument,

Aleix:

and now I will give the explanation, because one thing is true is that maybe you have cognitive

Aleix:

load about interactions with people, and you can heavily reduce that by, I don't want to

Aleix:

have a conflict with you, I don't want to make all the effort to talk with different departments,

Aleix:

and that is sometimes unpleasant, like, oh, I need to go through the same topic three times.

Aleix:

Okay, let me talk only to the LLM.

Aleix:

Of course, here, there is a reduce of cognitive load.

Aleix:

The question is, like, maybe that was needed, and now we are losing soft skills, because instead of having conflict, now I can avoid it and delegate that to LLM, and that can be a possibility.

Aleix:

But I say that is because cognitive load, or at least how we learn it, was thanks, was thanks to team topologies, and what happens when you get into team topologies and cognitive load is that you rapidly find a wall, which is what is intrinsic, what is extrinsic, and what is germane.

Aleix:

And each of them, we can say that germane is about the domain complexity, the inner thing that you want to solve, and then you have extrinsic, which is about the environment you're in, the tooling, and, for example, how to make things work, like CI, CT, things like this, and intrinsic can be seen as a code.

Aleix:

That's at least, if I remember correctly, how the code, the book says.

Karol:

And then each of those examples could be a different type of load for a different person in the organisation.

Aleix:

That's right.

Aleix:

The thing is that then you move into, at least, I want to be specific, I move into this book, which is cognitive theory, you read it, and you say, like, ah, it's hard to apply in a real world.

Aleix:

It's true.

Aleix:

It's very hard.

Aleix:

And I am not able to fully analyse the impact.

Aleix:

So, usually, what it moves from is, like, I cannot use cognitive load per se, I use a proxy thing, which is developer's pain, or developer experience, which is a good kind of touching the same things, but not in the same way.

Aleix:

And developer pain can be, okay, we don't understand the problem, we don't understand how to communicate with other teams, we don't know the responsibilities.

Aleix:

So, there is a lot of things that can influence the cognitive load at the end, because when you ask a developer, how is your load, they can say, it's a lot.

Aleix:

They know it, they feel it, or it can be super low.

Aleix:

But then you realise one thing, which is, if you ask a person why it's high, it's like, oh, it's because I need to give five talks in one month.

Aleix:

Of course, let me help you reducing your cognitive load.

Aleix:

Let me reduce the amount of talks you give per month to one.

Aleix:

It's like, no, no, no, because I like it.

Aleix:

So, it is good cognitive load, because it's what they like to have.

Aleix:

At the same time, it was talking to another developer, okay, what's your cognitive load?

Aleix:

Oh, it's very low.

Aleix:

Then it's good.

Aleix:

It's like, no, no, I'm thinking about changing job, because this is not challenging.

Aleix:

It's like, okay.

Aleix:

So, the cognitive load is depending on the context.

Aleix:

So, you cannot measure cognitive load and not have a conversation.

Aleix:

You can have it, measure it.

Aleix:

You can assess it, or you cannot have, like, it's two or three.

Aleix:

It's hard to put that kind of level of numbers to a person.

Aleix:

But you can give, like, okay, this is the area that we can talk about.

Aleix:

This is causing cognitive load.

Aleix:

Then you need to talk to people to understand if it's good or bad.

Aleix:

Because the number is half of the picture.

Aleix:

You need always the human conversation.

Karol:

As far as I remember, an individual, in terms of team topologies, is not the lowest point of study.

Karol:

It's actually the team that's the smallest object of study.

Aleix:

That's right, because at the end, you want to understand at the team level instead of individual.

Aleix:

It's true that you need to talk to individuals, because as people, we will signal what is happening, and it will help us.

Aleix:

And then, let me show briefly the screen.

Aleix:

Yeah, sure.

Aleix:

On this.

Aleix:

This is a product I was building with Manuel Pais.

Aleix:

The thing is that, here, is that Laura, she designed a way to understand cognitive load into four clusters.

Aleix:

She has a PhD on this area, and she's very good.

Aleix:

I was super happy that someone was working on this in a way that is actionable.

Karol:

So, for people watching or watching the recording, so you can follow on a different screen or open it up.

Karol:

This is the link to this particular page with the four clusters of drivers that Alex just opened on a screen share.

Karol:

So, if you'd like to follow us on a different screen or visit this page later, you can just find it over this QR.

Karol:

All right, cool.

Aleix:

Going back.

Aleix:

Yes.

Aleix:

So, the thing is that, at the end, is, hey, where are the cognitive load coming from?

Aleix:

And it was the task characteristics, team characteristics, work process and practises, and then work environment and tools.

Aleix:

And it was like, I feel very related because, of course, you can have cognitive load about the complexity of the task.

Aleix:

For example, I don't know much learning, but just if you ask me much learning, hey, you need to do a new algorithm on AI recognition or whatever.

Aleix:

I'm like, okay, my cognitive load will go through the roof.

Aleix:

But at the same time, what happens in the team lab?

Aleix:

What happens if you have way too many stakeholders?

Aleix:

What happens in the work and practises they've done are coherent and we miss them, right?

Aleix:

So, a lot of the things that happens to us that influence our cognitive load.

Aleix:

And she was able to get into a lot of them, like problem definition, solution alignment, and it was a task complexity, contextual complexity.

Aleix:

And I was reading this.

Aleix:

It's like, oh, that's super true.

Aleix:

Like, we have too many team members.

Aleix:

Maybe the teams are too big.

Aleix:

Maybe we don't have the right skills and we need to have handovers.

Aleix:

Maybe we don't have clarity on what is our role, which is my responsibilities, right?

Aleix:

I am in the right.

Aleix:

So, there's a lot of things on processes, consistency, maybe the piece, maybe the performance.

Aleix:

It's not clear.

Aleix:

So, I wanted to briefly share this because at the end, when we talk about cognitive load, we have a lot of dimensions.

Aleix:

There we have several, but it's like, you need to talk to people to understand which is the area that we need to talk.

Aleix:

And AI impacts in some and helps others.

Aleix:

And the thing is, like, we are moving the problem somewhere.

Aleix:

We are not solving everything.

Aleix:

We are moving the problem somewhere else.

Aleix:

And maybe before, as a PM, you needed to talk to a developer to do a query to get some data.

Aleix:

And now with a cloud or open AI or whatever, now you're able, you're autonomous, and you don't need another person to generate a report.

Aleix:

Super.

Aleix:

You improve your cognitive load.

Aleix:

You reduce the interaction.

Aleix:

It improved everything.

Aleix:

But then there's another part that they are not good enough, right?

Aleix:

So, AI, as I said, it's helping in some areas and making things worse in others.

Aleix:

And AI, sorry, cognitive load can help us to identify where we are going south.

Aleix:

And because it's lovely to see, like, if you see snapshots of the teams and you see a team that before AI, they have, it's not only AI.

Aleix:

There's a lot of things that influences a team, right?

Aleix:

But let's assume that AI has enough impact to see a change.

Aleix:

You can see how it changes across the organisation.

Aleix:

And then you can see patterns like, okay, we implemented AI, and now this cognitive load improved a lot, but this other went to the roof.

Aleix:

It's like, okay, how did this happen?

Aleix:

And then you add things like another system metrics, like tickets or bugs in production or donor metrics.

Aleix:

And through the conjunction of all of those metrics, you then have a hope, a picture of how your organisation evolves through time.

Karol:

This reminds me of an interesting study.

Karol:

I don't really remember which company was that and when exactly that happened, but I read about that, I think a month ago or so.

Karol:

A company replaced their call centres with AI IVRs.

Karol:

So basically, interactive voice response, right?

Karol:

Mm-hmm.

Karol:

And apparently, they moved all the complexity of that interaction, basically back to the users.

Karol:

They have decent statistics over customer care and handling complaints, cases and whatnot.

Karol:

The moment they implemented the replacement with AI-based IVR, complaints skyrocketed.

Karol:

They quickly backed out of AI IVRs and went back to having a proper call centre because the complaints of the callers with not properly handled cases were just skyrocketing.

Karol:

I think that's a very nice example of where that load went into in that sense.

Karol:

They basically increased the cognitive load of their customers in that sense.

Aleix:

That's true.

Aleix:

I don't remember the name, but sometimes I'm happy that someone else did the test.

Aleix:

Unlucky that it affected people because I believe that you can do the same test without firing people for a month because it took a month of data to understand the impact.

Aleix:

So it's like you can do the same thing, route the traffic to the half of your users, the other half of the current employees, and then you have a fallback in case this doesn't work.

Aleix:

If it works, then it's a nice use case.

Aleix:

But we are oversimplifying what is the work of customer success, or I don't know which was the part, right?

Karol:

Yeah.

Aleix:

As I say, I like that other people do these kind of very crazy tests so we can learn from the outside without having the impact, which is a good thing.

Aleix:

The other part is like, hey, we underestimate the complexity of a lot of things as leadership.

Aleix:

Sometimes we think, oh, we understand better.

Aleix:

No, we have another vision, and that's the combination of multiple team members, multiple teams, and dimensions that we make a good product or good experience for our customers.

Aleix:

We understand way more.

Aleix:

I remember a lot of cases like people like able to detect in the tone of voice on the things, they're able to connect with other staff, and they're, oh, I understand.

Aleix:

Oh, I remember a conversation with another colleague.

Aleix:

I understand how he comes from, and then they're able to make the connection.

Aleix:

That in AI, maybe in the future, but I still don't see that we are able to get into the point.

Aleix:

Based on the current context windows, because it will be, just imagine the context window size of our mind into a machine.

Aleix:

We are still way more than the other.

Karol:

I think we'd have to invent things like arc reactors from Iron Man to be able to increase that context window sufficiently enough, or some other infinite source of energy, because currently it's already a cost of energy that is overwhelming at times, and it's difficult to increase that, scale that.

Aleix:

That's true.

Aleix:

Sometimes I'm like, try things.

Aleix:

It's good.

Aleix:

We are experimenting.

Aleix:

Okay.

Aleix:

I will say I'm a follower in some degrees.

Aleix:

I'm like, hey, I'm using some stuff, and others are bets.

Aleix:

I know that people need to do huge claims, because at the end, they need to raise money, and that's a game they are playing.

Karol:

Yeah.

Aleix:

So we need to understand that they are doing this because they want to build a company, and maybe they don't do at the end, and maybe just get half, but that's already a product that can serve a million of users.

Aleix:

Happy about that.

Aleix:

But sometimes I'm like, had those crazy visions.

Aleix:

I'm like, are you sure you're doing this for the product, or to get money to do something else?

Aleix:

But at the end, I would say that if people can share the learnings, even though they fail, we can learn a lot more together on this space.

Karol:

But going back to different interactions between people in work environments, it kind of sprang a thought to me, and I never considered that in this particular way.

Karol:

Some time ago, when I was preparing to give a class at O'Reilly, I stumbled upon, in my preparation and my research on integration architecture, I stumbled upon Tesla's law.

Karol:

Tesla's law being mostly used within the user experience space, stating that's a law from somewhere in the 80s, stating that every problem domain has an inherent complexity that is irreducible.

Karol:

We can build more complexity on top of that, but the inherent problem domain complexity is irreducible, but we can move it around.

Karol:

And the question is, who is going to handle that complexity?

Karol:

So, in the case of Tesla,

Karol:

that was an interaction between a human and a computer, or a piece of software on a computer,

Karol:

which means, should we spend more time developing the software to handle the complexity of the

Karol:

problem domain, for the user to spend one minute less on the problem themselves, or should we move

Karol:

that complexity to the user, so that the user, every time they go into that software to use it,

Karol:

they spend one minute more solving their problem, right?

Karol:

And I think this is somewhere also there in the human interactions that we're having, also with AI, also related to cognitive load, that law kind of rings true as well, especially delegation of tasks and delegation of the context.

Aleix:

I relate a lot, because I sometimes I can spend six hours in trying to automate a one-minute workflow.

Aleix:

And you get, I mean, and sometimes you are that manager at the end, you say, oh, I will do a tool that is like, use Excel files, that does the job, and you handle the complexity yourself, and that does the job.

Aleix:

It's more load on you, but sometimes it's doing an application that only works in your domain, the applicability is that low, that the cost of doing it and the others doesn't pay off.

Aleix:

And in terms of human resources or processes, sometimes it's only about replying emails.

Aleix:

I relate a lot with this.

Aleix:

And it's true that as, for me, I have a way to understand if I have too much cognitive load, which is, I think it's called in English, brain fog.

Aleix:

Brain fog, yeah.

Aleix:

You're like, and I detect this when I'm working, it's like, it's Wednesday.

Aleix:

I thought we were Tuesday.

Aleix:

I'm like, oh, I didn't remember that I lost a day.

Aleix:

Or I lose information, that before I was not losing it, because I have too many things on my head.

Aleix:

And then I need to go back into writing things down, because otherwise I forget about stuff.

Karol:

I get that when I work in different languages, because I constantly operate in three different languages, because I speak Polish at home, English at work and Dutch at work or outside of my home.

Karol:

So basically, at a certain point in time, my brain goes completely foggy.

Karol:

And I don't even remember how the word I want to say is in any of those languages.

Karol:

It's just like, oh, dictionary shut down.

Karol:

It's like, what am I trying to say?

Karol:

What is that word?

Karol:

I know that I feel the concept of that word in my brain, but I cannot express it at all, because I'm lacking the...

Aleix:

The same thing, I would have the same thing.

Aleix:

Sometime when I was working in the office some years ago, it happened to, at some time it was working.

Aleix:

And then I went into the metro station, and I don't remember going out from the building and going into the metro station.

Aleix:

And so maybe I replied to people in English, instead of Catalan.

Aleix:

Like, I need to switch everything.

Aleix:

And that's for me, the level of cognitive load that I'm like, I start to be concerned.

Aleix:

Well, starting not, I will be like, okay, I need to slow down.

Aleix:

Maybe my way is to go to vacations or this and that.

Aleix:

But the important part is that when we use the term about cognitive load at work, what I try to use is a way to understand what is really causing cognitive load.

Aleix:

I say this because people usually, we complain about one thing.

Aleix:

And as that thing becomes a topic, I will, for example, say, we blame JIRA.

Aleix:

And now everyone has been blaming JIRA for a while.

Aleix:

And now it's becoming a thing.

Aleix:

And what is really happening is not JIRA, is that we have 10 stakeholders changing priorities, and JIRA isn't able to deal with the amount of that is happening.

Aleix:

But JIRA is where things are materialised, but the problem is somewhere else.

Karol:

It's symptomatic, basically.

Karol:

Sorry?

Karol:

JIRA is the symptom, not the cause.

Karol:

Sometimes it's a cause.

Karol:

I would say no.

Aleix:

But it's true that the symptomatic is like, okay, what is this changing?

Aleix:

And then you try to overuse a tool for the wrong purpose.

Aleix:

And then you need to have these conversations which sometimes come with conflict.

Aleix:

And what happens with cognitive load, or at least how we design it in temperature, is that people are missing what is causing them cognitive load.

Aleix:

Because we're trying to say, oh, my problem is the architecture.

Aleix:

My problem is that these API changes a lot of the time.

Aleix:

So, I need a portion of the architecture with an anti-corruption layer.

Aleix:

It's like, okay, you're protecting yourself from what?

Aleix:

From a human problem, and you need to try and solve it from a technical problem.

Aleix:

And I think Fran will like this.

Aleix:

It's like, we try all the time, fix things through code, but the problem is human.

Aleix:

So, I found is that with cognitive load, in how the first book about topologies is trying to solve it, I think in the second edition, there is some more, they expanded the things on cognitive load.

Aleix:

I think the second edition is coming this month, or, so, it's coming this month, and then maybe you get it in October.

Aleix:

And there's way more information on cognitive load as a thing.

Aleix:

So, I lost a little.

Aleix:

So, the thing is that, yeah, there's a lot of things in my brain.

Aleix:

Cognitive load, overload.

Karol:

Cognitive load, overload.

Karol:

So, take a moment to think about the next sentence, and I'll just pitch in on the human problem.

Karol:

We just had, a little bit back, a live stream on data mesh versus application integration, which is not a thing.

Karol:

It's not versus.

Karol:

They are synergetic.

Karol:

And there was a lovely statement there that, basically, tech is never the problem.

Karol:

It's always the humans.

Karol:

And that reminds me also of the lovely talk by Andrew Harmel-Law at DDD Europe 25, so, this year, where Andrew put in a talk stating the second hardest problem in system architecture, or software design.

Karol:

I don't really remember that.

Karol:

That was variability.

Karol:

So, Andrew went through that talk for, like, 50 minutes.

Karol:

Lovely content.

Karol:

Absolutely great.

Karol:

Great topic.

Karol:

And then somebody in the audience in the Q&A asks him, okay, Andrew, what's the first hardest problem in software design?

Karol:

And he was like, oh, yeah, I didn't mention that.

Karol:

All of you!

Karol:

Humans are the hardest problem in software design.

Karol:

And it's always that.

Karol:

We're actually facing organisational issues.

Karol:

We're facing relationship issues.

Karol:

We're facing just human problems.

Karol:

Communication problems.

Karol:

We're not facing tech problems.

Karol:

Tech problems is, I think, in my personal opinion, a really small percentage of the problems we're actually trying to solve at work.

Karol:

Most of them relate to human problems, or problems created by humans.

Karol:

Not tech, per se.

Aleix:

I sometimes use tech to relax.

Aleix:

Like, okay, there's let me do a little TDD, and I solve a couple of use cases, and that relaxes me.

Aleix:

So, not me to reduce cognitive load, I just need to code.

Aleix:

But human problems, we say, like, understanding the customer, and there's a lot of other things.

Aleix:

Because at the end, and we sometimes we don't like this, but customers, you cannot tell them, buy me.

Aleix:

Right?

Aleix:

So, you have all the things about profit, that is things that you cannot control, and cost is everything you control.

Aleix:

So, that's people focus on what they can control, which is their employees.

Aleix:

But that's the wrong place to focus.

Aleix:

Because what you need to do is help them to try to understand why these people are not buying, right?

Aleix:

And now I'm able to cycle back about cognitive load and human.

Aleix:

Which is, for me, cognitive load helped me in two ways.

Aleix:

One is, as a leader, I'm able to understand how my organisation is evolving.

Aleix:

Like, if I have multiple teams, each of them are different.

Aleix:

So, you cannot compare team to team.

Aleix:

Because all of them are unique.

Aleix:

But the tendencies, you can compare them.

Aleix:

It's like, okay, these teams are improving, but this one is getting worse.

Aleix:

Like, what is happening here?

Aleix:

Right?

Aleix:

So, tendencies, you can kind of inform you if you're doing a good work or bad work.

Aleix:

But the other thing is that by how you assess, you cannot measure, I will say assess a cognitive load.

Aleix:

Is that you, by doing the questions, you help people to understand their problems better.

Aleix:

That's the thing about people blaming Jira.

Aleix:

And the problem is that they have ten stakeholders, right?

Aleix:

So, what happens is that because each team is unique, they share, like, oh, my problem is this one and this is very specific.

Aleix:

And you, when you're head of engineering or you're in responsibility, and you hear each team being quite different to each other, there is no way you can invest to help them all.

Aleix:

You need to put the responsibility back to the team because it's a team specific.

Aleix:

But when you start giving them the names or the patterns or the cognitive load areas, and you see, like, oh, most of them score high on team complexity or problem solution definition.

Aleix:

Then, okay, here is an area that I can invest and do a cross functional investment to help multiple teams at the same time.

Aleix:

So, you move from unique and specific that you need to get, and probably you've happened this to you, which is it takes you three months to understand, oh, that's a problem.

Aleix:

Because you have, you need to talk to a lot of people, right?

Aleix:

When you start, like, measuring cognitive, assessing cognitive load and you start seeing these patterns, instead of you going blindly to all the teams to having conversations to at least identify where is the problem coming from, because you need to create a relationship so people can talk to you about the hard problems.

Aleix:

Nobody wants to talk about the hard problems with a person that they just met, you need to create a relationship.

Aleix:

So, what happens is that if you start creating this shared language about the cognitive load, people start to, oh, my problem is not this one, it's this one.

Aleix:

And then from team to team, it's like, oh, we have the same problem.

Aleix:

And then you start creating this shared language, shared awareness, then you're able to say, oh, we can improve on this area, and then we can assess if we are actually improving.

Aleix:

And that's a use case, I think, that's a use case we did at Creditas, a company that was applying a lot of the concept about topologies.

Aleix:

And we succeeded quite well, locally, in a tribe, because it's very hard to scale that manually.

Aleix:

Indeed, temperature was borne out of the need assessing cognitive load at the scale, and it's doing it fine if you are more than 10 teams, because if you're less than 10 teams, you should know which are the team problems.

Aleix:

But when you have like 500 developers, everyone with the same, their own thing, you need to create the shared language, and that's when it works.

Karol:

So, you basically went domain-driven design on human interactions.

Aleix:

Kind of, because context patterns, I hope this is called context mapping, on domain-driven design, tells you a lot of information about systems.

Aleix:

Sometimes I'm missing the human part, and that's when team topologies was helping.

Aleix:

It's like, okay, this team is interacting with five teams all the time for a year, and these systems having these things and trying to protect from what?

Aleix:

Okay, the problem is human.

Aleix:

Sometimes the problem is different.

Aleix:

It's tech, and then the human has the consequences.

Aleix:

But you are able to pair the two views on the same problem, and then you're like, okay, I see how moving things here change things there.

Aleix:

And we cannot be naive about being like, I do a change, and then there is a consequence, because this doesn't happen in complex systems.

Aleix:

You try to nature a change, and you hope for the best, that it will have the nice intent, and then you put some wire traps to understand if this is going in the wrong direction, and my wire traps are going to flow.

Aleix:

It's like, I want to try this change, and then instead of waiting three months to a person to come to me saying, hey, this is blow up, everything is on fire, you start noticing that this is not in the right direction, then it's when you take action.

Aleix:

I say this because when you're head of engineering or director, maybe you are five people until the teams.

Aleix:

So I always say, like, the team members need to realise they have a problem.

Aleix:

Then they will bring that into retrospective, if you have retrospectives.

Aleix:

So imagine that you have every two weeks.

Aleix:

So let's assume you have the best case scenario.

Aleix:

In two weeks, you notice that the team level, they will report that to the tech lead or the DM.

Aleix:

They will try to fix it first.

Aleix:

They will not.

Aleix:

And then they will escalate that, and by the time the information reaches you, it's three months in.

Aleix:

So cognitive load can help you, like, if you created a bad decision, you want to see it as soon as possible.

Aleix:

And of course, you need to have a good culture about psychological safety, people sharing the issues.

Aleix:

But it's true, like, people want to solve them first, and they don't want to escalate it next day.

Aleix:

But if you start seeing, like, multiple teams noticing this boost on cognitive load, you need to intervene.

Karol:

That's basically, you basically described something we joked about being the mushroom theory for directors.

Karol:

I don't know if you ever heard the joke.

Karol:

This is a joke about, well, very bad management in that sense, being that a good director is like a mushroom, kept in a basement in the dark.

Karol:

Yes, kept in the basement in the dark and fed with manure, right?

Karol:

So the level of information that actually reaches the management, the top management, is very limited.

Karol:

Some studies say it's about 4% of actual problems that happen that get to that level of management, which means that you have not implemented a good feedback loop to actually measure what's happening in your organisation.

Karol:

Sometimes it's impossible, sometimes you need to delegate, but then again, somebody needs to make those decisions.

Aleix:

It's very hard, because if people are able to solve this by themselves, it means that they have the right tools, so they don't need to reach you.

Aleix:

So it's a good point here, which is like, you delegate enough, and you empower, you delegate decision making and authority to lower level, and then you're able to solve that at that level, super.

Aleix:

It's a good job.

Aleix:

And the problem is that the things that are not solvable at that level, how things reaches the top, and of course, don't shoot the messenger when the information reaches you.

Aleix:

So it's very hard.

Aleix:

So for me, as I said at the beginning, I was a developer.

Aleix:

So I was having TDD, CICT, trunk-based development.

Aleix:

So it means that my feedback loop moves from seconds to hours.

Aleix:

As a manager, it moved to days to weeks.

Aleix:

And then as a head of engineering, it went to months to quarters.

Aleix:

I can only imagine people like CEO or CTO is like, I'm sure that they are working quite blindly, to be honest, and hoping, like, providing information and sometimes hoping for the best.

Aleix:

And also, that's why I went into strategies, like, I want to understand how people make a strategy.

Aleix:

I noticed that not much strategy.

Aleix:

There is more like vision and hope, but not actual ways to communicate.

Aleix:

And having this feedback loop about, you have this intention, you have this bet, how you notice that you're going in a good direction.

Aleix:

If you're lucky, you'll do this once a quarter.

Aleix:

I saw many companies doing this once a year.

Aleix:

So everything I do is about how I can do faster feedback loops as a leader, regardless of the organisation size.

Aleix:

And there is no one thing.

Aleix:

There is multiple things you need to do together.

Aleix:

I saw people doing this programme manager, management thing, where they tried to create the standard reporting structures and having this kind of people in between teams that they're able to move information around.

Aleix:

That's a way to try to solve it, to be honest.

Aleix:

It's human-based, which we need that, because it's through the humans and connections that we are able to flow the information faster.

Aleix:

And of course, when you are a developer, you're like, oh, my God, my tech lead all the time asking me for a report faster.

Aleix:

Let me code.

Aleix:

And when you become tech lead, you're like, come on, my developers, just please let me know what is going on, because otherwise you need to be talking to each of you to get information, to have this structure of reporting working.

Aleix:

So there's a lot of tension between things.

Aleix:

If you don't report, then there's going to be a lot of move to tech leads.

Aleix:

Indeed, I will tell you that in Temperature, the people that came to us were two kinds.

Aleix:

C-level, that they want to understand what is going on in my organisation so they can invest on the teams.

Aleix:

And the other is tech leads or agile coaches that they understand there is a problem, but they are missing data to prove that there is a problem.

Karol:

Okay.

Karol:

So both top-down and bottom-up, basically.

Aleix:

Yes, both.

Aleix:

And usually, the cognitive load ends at the tech lead.

Aleix:

Below, usually, they don't have that many, because the people that manages all the cows, they try to control and make it good, it's this person.

Aleix:

We are burning managers super fast.

Aleix:

And with the AI thing, a lot of this burn is moving into the managers.

Aleix:

And of course, as senior developers or developers, we have cognitive load and there is madness.

Aleix:

But I saw a lot of people really pushing to protect the teams from the cows.

Aleix:

Sometimes I'm like, be careful, because you're burning yourself.

Aleix:

And when you end up burning and you need to leave, you will burn the team anyway.

Aleix:

So try to find another way to make this sustainable.

Karol:

That's also kind of like scrum master role, right?

Karol:

The scrum master is there to protect the team from influence from outside, taking on all the cognitive load of managing all those interactions.

Aleix:

Yes.

Aleix:

Sometimes I'm changing opinions all the time.

Aleix:

Before, I thought, oh, good managers are able to shield the team from the cows.

Aleix:

But sometimes, hey, we don't need to protect the people, they are adults as well.

Aleix:

So we don't need to babysit a team.

Aleix:

Because then we're surprised that the team is not mature enough to deal with some news.

Aleix:

It's like, you are 25 years old, 30 years old, you need to, come on, this is real life, right?

Aleix:

So you need to be adult in certain situations.

Aleix:

So there is a level between, hey, you don't need to expose cows too early, so you need to do that.

Aleix:

But be careful about babysitting too much.

Aleix:

So I sometimes I'm like, in extremes are not good, just be okay.

Aleix:

Because at the end, it's like you want to signal or create awareness within their condition that there is a problem.

Aleix:

And sometimes I learned that the best way to signal that there is a problem is let things burn.

Aleix:

And okay, now it's everyone's problem.

Aleix:

And then people get enough.

Aleix:

If it's important that they burn, sometimes you don't need to let things burn.

Aleix:

But sometimes, hey, there's a lot of cognitive load.

Aleix:

Okay, and let it burn is, okay, let me go on vacation two weeks.

Aleix:

And this will refer to things.

Aleix:

If I come back and nothing happened, okay, it was everything on my mind.

Aleix:

So I was wrong, which is good.

Aleix:

The second is, okay, it was a problem.

Aleix:

And now we need to signal that this needs to change, which is also good.

Aleix:

Right?

Aleix:

So that's the way I had to signal.

Aleix:

And that's good for me, because then I don't burn up.

Aleix:

So going on vacation is very important on vacation.

Aleix:

That's the use your PTO.

Aleix:

Yes.

Aleix:

So that's the thing.

Aleix:

We're getting a lot from cognitive load.

Aleix:

We're touching a lot of things.

Karol:

Yes, yes.

Karol:

You know, I do love the aspect of letting things burn.

Karol:

I used to have a colleague in consulting when I was working for PwC that said this lovely phrase that turned into a meme and a background in many laptops within the teams that worked with him.

Karol:

We are all consultants.

Karol:

We all love a good dumpster fire, because that's where we as consultants come in to fix things.

Karol:

And this is where we do the work.

Karol:

So basically, we ended the project with me sending him a miniature toy dumpster fire with a tea light in it, just sending to the London office for him to have it as a memorabilia after that project.

Karol:

But basically, that turned out into a lovely meme with the fire starter girl, like with the exact quote with his name on several laptops.

Karol:

And this burning is for consultants is amazing, because then we have a problem to solve.

Karol:

This is our domain.

Karol:

We are consultants.

Karol:

We want to solve problems.

Karol:

We want to help clients.

Karol:

But for a lot of people, that's the problem.

Karol:

That's the cognitive load that they're suffering from.

Karol:

That's the problem then with retention of employees.

Karol:

That's the problem with retention of customers, etc.

Aleix:

Yeah.

Aleix:

And this was quite interesting.

Aleix:

We had in Temperature, we had one of the clients we worked with, which is we assessed eight teams.

Aleix:

They shared some patterns.

Aleix:

We understood that this was needs to be solved.

Aleix:

Six months later, same kind of loads, no improvement.

Aleix:

When you then you say, okay, what is going on here, because they know there is a problem, but then you realise that the problem is not solvable at the team level.

Aleix:

It needs to be solved at a management level, because otherwise, they will already solve it.

Aleix:

And then you analyse the cognitive of management.

Aleix:

And we sometimes forget about management cognitive load.

Aleix:

And then you realise that they were overloaded in many areas.

Aleix:

It's like, of course, they don't have able to improve, because if the people that have the tools or the authority to make the improvement, they are overloaded, the organisation cannot improve itself.

Aleix:

So it was quite interesting to say, we sometimes focus a lot on the team level, which we need to, but there is a lot of supporting structures that need to help them.

Aleix:

At some point, the supporting structures are burning.

Aleix:

And it can be the management, but it can be also platform teams.

Aleix:

Platform teams that they need to help streamline teams to get less who thinks about their cognitive load.

Aleix:

Then you create another platform team.

Aleix:

But the thing is that these people that are supporting, if they're burning, be careful, because if they burn, they are supporting a lot of the structures.

Aleix:

So be careful, because if they, for whatever reason, they break in whatever area that may happen, it will have a huge impact everywhere.

Aleix:

As the same way they improved everywhere, it doesn't work, it has a huge impact everywhere as well, right?

Aleix:

So we found that assessing the quality of the platform teams, enabling teams, or agile coaches, people that have a supporting structure is key to understand if the organisation can improve.

Aleix:

And the same thing about HR, you need to understand if HR is burning, or customer support, or recruitment, every area is like, hey, everyone is, maybe you have a huge attraction.

Aleix:

It's like, okay, we need to replace this.

Aleix:

But then you assess the cognitive load of the people, the people management team, and they are burned out, because they are trying to retain people, they are unable to, and then they also need to start sourcing, and fast, because you need to, before that person leaves, we need a replacement.

Aleix:

And if that is not healthy, you will also have a problem, right?

Aleix:

So I see the cognitive load is helping you to, it's a healthy check about your organisation.

Aleix:

And sometimes we are blind on some areas, until we just hit the problem, it's like, okay, why is it happening here?

Aleix:

And then you change your focus as leadership from product development, about serving the customers, to sustain the company.

Aleix:

And I think that's one of the main problems.

Aleix:

You are sustaining the company structure, and not focussing on helping people to create value, or capture value.

Aleix:

You're already in a bad shape.

Karol:

It's an interesting analogue there, that popped into my brain.

Karol:

So basically, if we're looking at software, well, we're building software to support the main business goals, and the business of the company, right?

Karol:

So this is like the core, using the domain driven design nomenclature, the core software.

Karol:

For that, we have the support software, and we have the generic domain, where core and support are important, because we're basically building that to drive the business.

Karol:

But then you have the generic domain.

Karol:

And if you don't have support, proper tools to build that software, if the generic domain would be your ID, your copilot LLMs, your HR software, your Slack, Teams, Office tools, whatever that may be, right?

Karol:

If that fails, and you're wasting time on figuring out how that works, because it's not intuitive, you're wasting your processing powers, right?

Karol:

And same would go into then the organisational structure, being an analogue, that you just mentioned, that of course, we have the teams, they're driving our business.

Karol:

But then you have all the support there.

Karol:

So HR, your management teams, your L&D, your recruitment, whatever that may be.

Karol:

And if that's burning, then they will not be able to support your teams.

Karol:

They will not be able to give proper tools to those teams to deliver, which means that those teams will suffer as well, and they start burning as a consequence.

Karol:

But their burning as a consequence is a symptom, not the cause.

Aleix:

That's the thing, that sometimes we need to understand that they are, when these people are burning, you need to understand, of course, and sometimes it will be the cause.

Aleix:

But usually it's like, you need to understand how everything else is causing this.

Aleix:

Sometimes that the CEO and the CPTO or the CPO or the whatever in the top, they don't get along for whatever reason, and that cascades.

Aleix:

And it happened to me in big organisations like, why this request is coming from here and you didn't know?

Aleix:

It's like, oh, because it has a different report structure, people don't talk about it, and then it clashes at the end.

Aleix:

And then you need a lot of work at the bottom to resolve the conflict and mediate everything.

Aleix:

And the problem is somewhere in the end, it's like the symptom is here, the root cause is somewhere else.

Aleix:

Sometimes we think that there is root causes, sometimes they don't exist.

Aleix:

We sometimes are like, oh, there's a root cause, complex systems.

Aleix:

You don't know what things causing what, you need to try multiple things until some of them work.

Karol:

Sometimes it's just the combination between the different things that cause a problem.

Karol:

They're not the problem themselves, but in combination, they become a problem.

Aleix:

And sometimes you need to, we are naive that we think, oh, there is this cause consequence, and then I can do this and do that.

Aleix:

It's like, no, you will try to do the best to intervene and then do multiple things at the same time, and some of it will work.

Aleix:

And I will cycle back this idea about generic and supporting things and AI and control and profit and expenses on the organisations.

Aleix:

So companies, they cannot control profit.

Aleix:

They can only control cost.

Aleix:

True.

Aleix:

And what happens with cost is like, oh, if you are in Europe, we have good labour rights.

Aleix:

So you cannot fire people because you want.

Aleix:

But what you can do is like, okay, well, let's stop paying providers.

Aleix:

So the move is, instead of, I will stop paying this generic subdomain, and I will have my developers that because they cannot produce new features to create new revenue, they will create features to reduce the cost.

Aleix:

So now instead of externalising feature flags or externalising this and that, now I will integrate it and try to reduce that.

Aleix:

The same thing with moving outside the cloud.

Aleix:

I will reduce my bill on the cloud and then I will pay to having an on-prem.

Aleix:

And I will not say that all of those are crazy decisions, but hey, now you are focussing on reducing costs, which usually on the long term, it doesn't pay off.

Aleix:

Because if people start, instead of firing, I just imagine you have 50 developers and you say, oh, I don't need them or 100.

Aleix:

I don't need them.

Aleix:

I only need 20.

Aleix:

What happens if the competition next to you don't fire them?

Aleix:

It means that they will be able to produce five times more than you.

Aleix:

And instead of focussing on one area, these people are experimenting way faster.

Aleix:

So sometimes you need more runway because you're a startup, you're losing, and then you need time to market to heal.

Aleix:

And then you need to make those drastic decisions.

Aleix:

Fine.

Aleix:

You need to survive because you're a business.

Aleix:

But sometimes I'm like, hey, where are you putting the focus?

Aleix:

And sometimes we are seeing the focus in cost reduction and custom building generic subdomains or yourself.

Aleix:

I'm like, you don't need that.

Aleix:

You don't know the cost of maintaining.

Aleix:

And then you start creating software that does two things.

Aleix:

One is the cognitive load for the software that needs to create value.

Aleix:

Now all the cognitive load and context for the software that needs to run the company, which is different users, completely different user sets.

Aleix:

You're creating another product internally that is available on the market.

Aleix:

So your context will explode.

Aleix:

And of course you can have the hopeful mindset or naive approach about thinking that, oh, it's a couple of lines of code.

Aleix:

And don't get me wrong.

Aleix:

LLMs are good and generic subdomains because that's what they are trained on.

Aleix:

So I'm sure that they will be able to get into a workable solution fast.

Aleix:

But the problem is that the last 20%, that thing is not available.

Aleix:

It's not public.

Aleix:

So you will need to figure it out by yourself.

Aleix:

And that's where the cost resides.

Aleix:

So again, that moves.

Aleix:

It's the same thing about creating more cognitive load.

Aleix:

And then you need to maintain software on maybe hope.

Aleix:

Sorry.

Karol:

But you also go into moving that cost inside.

Karol:

So you outsource that.

Karol:

You have those tools outsourced to whoever is your supplier.

Karol:

So basically the complexity and the cognitive load related to maintaining that or building that or providing support was outside.

Karol:

And now you have a certain set of developers.

Karol:

You maintain that because you want to reduce costs, but you want to maintain your staff.

Karol:

But basically you're moving that complexity back inside.

Karol:

So you're dropping the cost on the supplier side, which is the monetary cost, which is your OPEX, CAPEX, whatever that may be.

Karol:

But that's not the only cost.

Karol:

That's just budget.

Karol:

The cost is also in the workload that you need to handle inside.

Karol:

And this is where we create that cognitive load.

Karol:

And we are having that on those teams that we already have, which was your finite number of let's say 50 developers that were supporting your business.

Karol:

But now those developers are now supporting your core domains and your generic domains and your support domains, which means that you added a bunch of cognitive load onto them.

Karol:

And not only in the way of, okay, we can wing it with AI copilot, which are trained on the generic domain, but we need to still figure out that 20% that you mentioned, right?

Karol:

So we're actually adding that load into that mix of already somewhat loaded with germane and extraneous and intrinsic cognitive load.

Aleix:

Yes, I totally agree.

Aleix:

The thing is that I, for me, I'm more like an externalizer than a buy it myself.

Aleix:

I always try to, hey, if there's an option on the market, use that because it will, everything which is generic, it will give you speed.

Aleix:

So you can focus right off there, right?

Aleix:

But it's true.

Aleix:

This decision is happening.

Aleix:

And from a finance perspective is having a stable cost, which is developers have these variable costs here.

Aleix:

What if I move this 40,000 a month cost?

Aleix:

I remove that and I move it inside.

Aleix:

From that perspective, maybe it makes sense, right?

Aleix:

Because at the end, it's like, hey, we are unable to create more value.

Aleix:

We are not capturing users.

Aleix:

So we're focussing more on reducing that and you're using the developer team to focus on reducing that.

Aleix:

So I could understand the reason, but for me it's a bad reason from a cognitive load perspective.

Karol:

Yeah, because looking at, let's say you have those 50 developers and you devote part of them, let's say 10 developers to handle the generic domain.

Karol:

That is outside of the scope of their understanding.

Karol:

They were handling your core domain, your support domain, which they understand because they understand your business or your problem domain.

Karol:

And now you're dropping them into a different problem domain, which is running the business, not the business itself.

Karol:

And there's a lot of then for that, that will be what?

Karol:

A lot of intrinsic and extraneous cognitive load basically, right?

Aleix:

Before it turns into germane.

Aleix:

Yeah.

Aleix:

No, I mean, problem and solution space, you need to start over things.

Aleix:

But how many times did you see this?

Aleix:

How many times people created their own future flag system or their own?

Aleix:

I mean, this is happening already in some organisations like, oh, I can do it myself.

Aleix:

Sometimes I hate dev tooling as a company because there is always some team in a company which when they're big enough, when I mean like a thousand or 2000 developers, that they will have enough resources to say, okay, I can build it myself instead of externalising.

Aleix:

Because it's only a survey with a couple of things like try it.

Aleix:

So this happens more often than we think.

Karol:

I mean, I see that in my field being enterprise application integration.

Karol:

We have a lot of vendors that already solved certain problems in that space by creating software that is reusable with building blocks, which is composed what we need to deploy it and it's running.

Karol:

But a lot of companies, because of the licencing costs of that software, the integration platforms, etcétera, they figure, oh no, no, no, no, hold on.

Karol:

We're not going to pay them for the licences.

Karol:

We're not going to pay for that software, which is in my case, that's usually the supporting domain, not the core domain.

Karol:

So we're not going to pay for that software.

Karol:

We're going to build it in Azure, for example, or build it in AWS.

Karol:

So basically what we're doing is now we're building an integration platform using either Azure Functions or AWS LabDOS.

Karol:

So basically we're putting hard code skills into the mix to build them because Azure Functions and AWS LabDOS, they don't have the building blocks to support application integration.

Karol:

So we need to reinvent the wheel and build those blocks ourselves to support and build an integration platform from scratch.

Karol:

The amount of work, the amount of cognitive load that goes into figuring out, okay, how did those integration platforms actually work?

Karol:

What did they support?

Karol:

What did they do?

Karol:

What libraries do I need to build for the Azure Functions or AWS LabDOS to support that?

Karol:

What language do I use?

Karol:

Do I write it in JavaScript, Java, C++, C Sharp?

Karol:

What's going to happen?

Karol:

How do I choose for that?

Karol:

How do I figure out what's supposed to happen there?

Aleix:

So there's a lot of things happening.

Aleix:

So things that can happen is the team thinks that they can do it faster and cheaper.

Aleix:

Sometimes it's like, hey, it's fair.

Aleix:

If you want to do it, you do it yourself.

Aleix:

I found sometimes that people say like, oh, we will do it ourselves and we will create a protocol on top of it that we will sell.

Aleix:

It's like, what?

Aleix:

That's not reasonable, the consequences that go to market and things.

Aleix:

So usually it's like why people like to do these things internally when they are supportive is that when you see more complexity, let me, you know, context mapping?

Aleix:

Context.

Aleix:

No, I give up.

Aleix:

Let me, one second.

Aleix:

Because it is easier to make it.

Aleix:

It is the canvas, which is the canvas.

Aleix:

Bundled context canvas, no.

Aleix:

Core domain charts.

Aleix:

There you go.

Aleix:

Okay.

Aleix:

And this happened to me in the past.

Aleix:

So what happens when we are in the core is that the more complexity and business are high, at the same time, the uncertainty is quite high.

Aleix:

And we don't like uncertainty as developers.

Aleix:

We want things that are specific.

Aleix:

And what are the things that are specific in supportive engineering?

Aleix:

So we find some kind of, we can do a good job and a good architecture and a good testing on things that are known.

Aleix:

So there is a kind of, so I saw a lot of companies, not, but some teams that are like, oh, I like to work on, so this happened in my company to me where we externalise the core domain and we did the supportive.

Aleix:

Why?

Aleix:

Because a supportive has one trait that is quite good, which is it is way more predictable than a core domain.

Aleix:

Because you can get into the things, you know the things, the data is there and you have experts and you can define it and it will be done.

Aleix:

Maybe they fail for one week, but it can be done.

Aleix:

The core domain is not.

Aleix:

It is uncertain.

Aleix:

You will fail.

Aleix:

You need a lot of things.

Aleix:

And if you are in the wrong company and you have blame culture, the supportive is a safe bet.

Aleix:

You can do a good job on time, good architecture, good looking code.

Aleix:

It will be done.

Aleix:

The core on the other side, it will be messy.

Aleix:

It will be changing requirements.

Aleix:

It will be the focus of the business.

Aleix:

Therefore, we will have a lot of attention on a lot of opinions.

Aleix:

So in some degree, I understand why people maybe want to do that supportive because it gives that, hey, I'm doing a good job in terms of coding, not in terms of business.

Aleix:

But I can understand some of those.

Aleix:

When you are in some tough organisations, maybe that makes sense.

Aleix:

The good thing is that if you have a good organisation with a good learning culture, instead of seeing failure as a failure, but as a learning opportunity, you can learn a lot and enjoy doing a core domain and talk with people.

Aleix:

At least I will give you this.

Aleix:

At Creditas, for example, one thing that was happening is that the collaboration was very tough between people because everyone tried to do their best.

Aleix:

We were in remote.

Aleix:

We didn't have a way to co-rate that we're using.

Aleix:

So what we did was doing a training on event storming to define problems.

Aleix:

And the good thing is that it started from engineering, but we also trained PMs. And then the PM and the engineering team, they were collaborating on event storming instead of only talking.

Aleix:

So we moved the collaboration from people talking and JR tickets into mapping the user flows, using event storming, instead of waiting for the designer to do the things on Figma.

Aleix:

So we boosted a lot.

Aleix:

And at some point, we joined some collaboration between teams and they all were using event storming as a shared language to communicate ideas.

Aleix:

So it was a way to, okay, how people were starting to get along super fast, because we reduced the cognitive load on interaction because we created a shared tool, which in this case was event storming.

Aleix:

Choose whatever you like.

Aleix:

I mean, for me, it was great because we had some people that like it and got traction and it become like a thing on the company.

Aleix:

But the frustration about not understanding how a core domain evolves, because usually things like, oh, you decide this and maybe next week it changes, but then you don't communicate.

Aleix:

And then the other teams notice one month later and everything breaks.

Aleix:

You solve that by having a shared mirror board with all the flow.

Aleix:

And then people are able to go inside and there's this nice view from mirror that says, things that you missed since last time you saw this mirror board.

Aleix:

And you're like, oh, what is this flow?

Aleix:

And then you realise like, okay, there is this command, this event, this risk, this node.

Aleix:

And they're like, okay, I understand everything.

Aleix:

And they become able to talk like, hey, I see you are mentioning this.

Aleix:

And they chat in Slack like, hey, did you take this into account?

Aleix:

Oh, no.

Aleix:

Oh, yes.

Aleix:

Okay, cool.

Aleix:

And that is how we solved a lot of the pressure on cognitive load domains.

Aleix:

It's about communication.

Karol:

And this is something I'm touching upon in terms of design of interactions between systems as an architect.

Karol:

This is also why I love event storming or domain driven design to bring all the people into one room and create that shared language.

Karol:

But that does not happen as often as I would like to.

Karol:

So basically, if I look at it from this kind of a traditional perspective or waterfall perspective of design, it's like, okay, we have our business.

Karol:

Our business talks to the business analyst.

Karol:

The best business analyst tries his best, her best, their best, basically, on understanding the business and translating that into requirements for the architect.

Karol:

The architect then talks with that business analyst, tries to understand that and translate that the best way to design the technical requirements for the dev teams to implement.

Karol:

The dev teams, they tried their best to understand the technical requirements and implement what the business wanted.

Karol:

So on that alone, we already have one, two, three levels of assumptions being made.

Karol:

So we're already increasing the complexity by making assumptions because people rarely understand that they made an assumption and they rarely validate is that assumption actually true.

Karol:

It takes actually a lot of self-awareness to see that I'm actually assuming things, not checking them.

Karol:

And then the load over time, the load over those levels.

Karol:

And then if you're in a blame culture, that's a problem.

Karol:

The load over those levels, the sheer cognitive load between those levels that it's created on the end of the chain of the waterfall being the testers or the user acceptance tests.

Karol:

Why is it this way?

Karol:

It doesn't make sense.

Karol:

It doesn't really correlate with what the business wanted, what we wanted as users, what's going on.

Karol:

And then of course, somebody gets blamed and usually the developers get blamed for not doing the job right.

Karol:

But basically we have a level of assumptions where we created complexity.

Karol:

We created cognitive load that wasn't handled through the design.

Karol:

Wow.

Aleix:

You open a lot of things at the same time.

Aleix:

All right, go.

Aleix:

So the thing is that usually I haven't been in a company that has a huge blame culture.

Aleix:

I think most of the companies have been, they're good.

Aleix:

So there is sometimes lack of how to handle conflict that if you don't know, then you can interpret that as a blame culture.

Aleix:

But usually when you have good soft skills and then you understand conflict, you can turn those conversations into productive, improving things.

Aleix:

And I will be honest, most of them, I feel quite safe to speak up.

Aleix:

Or at least I have been quite lucky to be in these companies.

Aleix:

But usually it's that when you say most of the time it's developers, usually it's because we, or I found that sometimes we're lacking soft skills.

Aleix:

And usually people are very, that have these influencing skills, they know how to handle the stuff.

Aleix:

And it's not that we kind of get the blame because we don't know how to defend ourselves or how to put this conversation to a productive way.

Aleix:

So, but as when you learn people, I've never been in a company that people don't want to make things right.

Aleix:

It's about, okay, let's learn about this.

Aleix:

So I, people is always, I always had very kind people next to me on, and we were able to solve it.

Aleix:

Of course, there are some very exceptions, but I would say there are a lot of very things.

Karol:

People usually have good intentions and they want to actually solve problems.

Karol:

A hundred percent.

Karol:

Sometimes people are- But they don't have the skills to communicate that and the language to communicate that often, because the language difference, the language barrier, if you don't do the ubiquitous language, then- And sometimes English is not our first language.

Aleix:

So it's another addition into the problematic.

Aleix:

But the thing about you said about the business, the business started with an hypothesis.

Aleix:

If you're in a B2B, probably the business has quite understanding about user needs, because usually they are experts in the field.

Aleix:

But if you're in a B2C, usually the domain experts are not the business per se, but this is how you try experiments.

Aleix:

So usually the company you are in or the market you're in will shapely who's the domain expert and how you create value.

Aleix:

But let's assume in our case, we had in a B2B setting, so therefore the business were quite domain experts.

Aleix:

And I will be honest, the VP of business, she was amazing.

Aleix:

She had a huge vision on, she really made it and created a really great product.

Aleix:

But what happened is that instead of giving problems, because we were late, we had a lot of dynamics that sometimes we're making things slower.

Aleix:

They said, okay, how we can help them go faster.

Aleix:

So with the good intentions, they give backlogs.

Aleix:

They try to make things as narrow as possible so we can implement things, which is good intention doesn't work in software because it's how we understand the problem.

Aleix:

It helped us to, because, hey, they assume a lot of things, how they work.

Aleix:

And even though with a good intentions, maybe in software complexity means way more complex.

Aleix:

And this is often, it is true because there is no software and we don't know them.

Aleix:

So by the good intentions, we create a problem.

Aleix:

So how we turn this around, and it was not with Evan Storming, it was with Lean Inception from Pablo Caroli, it's a workshop this one week.

Aleix:

And we said, okay, how we can involve them into the definition instead of they telling us on the quarter what to do.

Aleix:

So we ran a workshop and said, we need the business.

Aleix:

So we need you and product on these two sessions on Monday.

Aleix:

We only need you three hours.

Aleix:

And the rest with your information, we will run it.

Aleix:

We started during the workshop.

Aleix:

They stayed for the rest of the week.

Aleix:

We're loving this.

Aleix:

It's like, because the developers were like, oh, we don't understand this.

Aleix:

And they loved how people were interested in the business.

Aleix:

And they had like, oh, we thought developers, they only wanted tech.

Aleix:

But indeed, this team is asking us very interesting questions.

Aleix:

And we are dealing with a lot of things.

Aleix:

We are sharing them.

Aleix:

People is super active on the conversation.

Aleix:

And people is able to put all the unknowns or decisions into one place.

Aleix:

And at the end, everyone felt that, okay, we know what we need to build.

Aleix:

And we know what is risky.

Aleix:

We know how we will release this.

Aleix:

And everyone was happy.

Aleix:

So we move into we being told by us changing the dynamic into very collaborative thing.

Aleix:

And all the cognitive flow as understanding the problem, communication between people was reduced by putting everything in the same room and adapting the workshop to the business, not the business to EventStorming.

Aleix:

So that was key.

Aleix:

It's like, EventStorming, sometimes we want to force EventStorming.

Aleix:

But people saying like, oh, you need to talk in the past events in sticky notes.

Aleix:

It's like, what the hell is this?

Aleix:

Sometimes it doesn't work.

Aleix:

So you need to put everything there for like, hey, tell me your business objectives, which is the features you want.

Aleix:

Tell me the features.

Aleix:

Don't talk about that.

Aleix:

You can talk about this.

Aleix:

The product needs to do this.

Aleix:

Great.

Aleix:

To which user?

Aleix:

This user.

Aleix:

Okay, which is this user?

Aleix:

Oh, this user is the owner of the account.

Aleix:

Okay, what do they need?

Aleix:

Oh, well, they need this and that.

Aleix:

Okay, great.

Aleix:

How this helps the business?

Aleix:

Oh, they don't have the business.

Aleix:

Okay, can we just park this because it's low impact on the business?

Aleix:

Like, yes.

Aleix:

Okay, let's talk about the next thing.

Aleix:

And having everyone together talking about this, oh, it was enjoyable.

Aleix:

And this thing become a norm.

Aleix:

And then on the next following, it was like, oh, it's happening in one month, we have the quarterly planning.

Aleix:

Two weeks earlier, okay, let's have the conversations.

Aleix:

Everyone was involved.

Aleix:

And that's how you reduce again, by changing the environment.

Aleix:

And like, yes, that worked.

Aleix:

Otherwise, I will try something else.

Aleix:

So I would say that a lot of the conflict happens because of conversations or the lack of conversations.

Aleix:

So focussing on that give way better results than trying to focus on what you mentioned about this person gives a hand over a hand over.

Aleix:

Yeah, it's like, don't do that.

Aleix:

Put a room, everyone together, talk.

Aleix:

You need to know how to facilitate.

Aleix:

That's true.

Karol:

This opens a another drawer in my head.

Karol:

It's like, oh, are we actually talking about Conway's law here?

Karol:

Yeah, in essence, in a certain sense, this is Conway's law, the way that the way we structure our system, the way we build is a reflection of the organisation communication.

Karol:

So if we're developing shitty software, it's a reflection of how we communicate in a sense, right?

Karol:

Or how we divide and where we have frictions is also how we communicate and design.

Karol:

And if we ignore Conway's law and put two or three teams on the same repository, there's going to be friction.

Karol:

If there's no proper communication, if there's no proper dismantling of the cognitive load that we create by putting three different teams on the same problem space or same code or same domain, and they do not cooperate properly, and we do not manage that their cooperation, or if we do not do the reverse Conway manoeuvre to adjust how we communicate to what we're trying to achieve.

Aleix:

Yes, what I will, it's happened at way too many levels.

Aleix:

Because first, the people that were communicating was PMs between them.

Aleix:

So by that already creates a bias about what will be done.

Aleix:

Of course, then what happens is that if people don't like to be part of the business conversations, then also creates a structure about how things will be done.

Aleix:

So in order to that, we need to do multiple things.

Aleix:

One was changing the hiring process.

Aleix:

It's like we need people that are product-minded developers, people that like to talk.

Aleix:

So how we solve things is like, instead of the product manager talking to the business and then getting requirements and then talking to the tech lead and the tech lead assigning work, no, no, no, no.

Aleix:

You senior or you meet developer or junior, we always say junior, you need to go with another person, but you need to be part of the conversation.

Aleix:

You are the future lead of this.

Aleix:

And you need to understand all the business requirements, understand the trade-offs and then communicate for the rest of the team.

Aleix:

And this is the expectation.

Aleix:

It's like you need to communicate this part.

Aleix:

There is one bad consequences about working like this, which is not very friendly for people that are in the spectrum.

Karol:

Oh, yeah.

Aleix:

So be careful because not everyone needs to be safe.

Aleix:

There is people that don't feel comfortable on this.

Aleix:

So don't force these things.

Aleix:

But if they are not in the spectrum, it works quite well.

Aleix:

Or at least it worked quite well for us.

Aleix:

I'm sure that some people will say like, no, in this case, it didn't work.

Aleix:

Of course, you are right.

Karol:

These are individual assessments, basically.

Karol:

You need to always take into account that everybody is different and they have their own way that their brain works.

Aleix:

Exactly.

Aleix:

So I'm sharing my experience and it will not apply in yours, but if it works for someone, I'm happy.

Aleix:

So these work quite well.

Aleix:

And then we start talking between teams.

Aleix:

Because before, sometimes change happens or whatever reason.

Aleix:

Oh, I remember.

Aleix:

Before, the things happened in DMs. So people are like, oh, why did this happen?

Aleix:

Oh, this person told me like, okay, stop this communication because we're we will concentrate everything to the PMs. So you try to solve a problem about information being missed from people to person or person to person by concentrating all the information into the PMs. And also because of reporting.

Karol:

Yeah.

Aleix:

So the problem is how you solve that.

Aleix:

It's not forcing everyone to go through PMs. It's like talking in a shared channel so that you have all the information available for everyone else.

Aleix:

And again, good intentions, not good results, and not challenging the approach, and then you can improve it.

Aleix:

So we solve this like, hey, we create open channels.

Aleix:

Everyone else that is involved in our team can post things on Slack.

Aleix:

And that's how you have the information radiation.

Aleix:

Everyone is informed.

Aleix:

And then again, you talk to the people.

Aleix:

Please, if you go through PMs, you redirect people to the private thing, and then you reply things there.

Aleix:

Or if this doesn't happen for whatever reason, you'll copy paste or do a screenshot, and you post it publicly.

Aleix:

Right?

Aleix:

And that's how we also improve the cognitive load on people because the PMs, those teams, they were overloaded.

Aleix:

And of course, they cannot have time for the developers for explaining things, because the reporting it was that high.

Aleix:

And moving all the information around and coordination that it's when they were unable to do the actual work, which is explaining the domain and what needs to be done in conjunction with the developer.

Karol:

But then you land up with a different cognitive load problem.

Karol:

If you share everything in open channels, perfectly fine.

Karol:

You avoid all the DMs everywhere so that the information is out in the open.

Karol:

But then basically you create an information overload on every single member in that channel.

Karol:

And then if you have multiple channels that people are watching or added into because you need to have access to that information, then people start to go crazy about, why do I even need that?

Karol:

Why do I need to be in there?

Karol:

Why do I need to get those pings every single time?

Karol:

Why can I just leave that channel?

Karol:

And then you get people, instead of doing their work, they are looking at those channels because somebody pinged in that channel.

Karol:

It's like, what is this again?

Karol:

And then you can go overboard the other direction.

Aleix:

We solve that in another way, which is because we do pairing.

Aleix:

We did pairing back then.

Aleix:

So we did two things, which was quite interesting.

Aleix:

This tool is not longer available, but it can be solved with another tool.

Aleix:

But it was called Around and it was acquired by Miro.

Aleix:

But you can be done that with Zoom as well, which is as leaders, we stay as available as possible in a Zoom channel with breaking rooms or whatever.

Aleix:

And everyone is in that, in breaking rooms, working in pairs.

Aleix:

And then for example, you have three pairs, meaning you have two developers in each pair.

Aleix:

There is one pair assigning to add new things and one pair assigning to supporting.

Aleix:

So the only people who need to look at the channel is the supporting pair because they are doing supporting work.

Aleix:

It can mean things like doing refactorings, improving the system resiliency, supporting other teams.

Aleix:

So the other two pairs can focus on delivery.

Aleix:

Right?

Aleix:

So they can just like, okay, we just do this feature.

Aleix:

We share knowledge and we go.

Aleix:

And if it's not a huge incident, the supporting pair will do the job.

Aleix:

And because you have dailies and you have a rotation, all the information is shared quite approachable, I would say.

Aleix:

So that's how we solved that part.

Aleix:

Of course, this works because we have pairing and we have trunk-based development.

Aleix:

And we followed a lot of accelerated practises and team topologies principles.

Aleix:

When you reach this level of engineering maturity, that's what happened.

Aleix:

If you want to work with a Kanban maturity model, I am loving this because I'm a Kanban maturity model.

Aleix:

Do you know this model?

Karol:

I haven't worked in Kanban that much.

Karol:

I'm usually forced into a twisted version of Scrum for whatever reasons.

Karol:

It never is Scrum.

Karol:

I'm a trained Scrum master and I haven't seen yet a proper use of Scrum in any organisation.

Karol:

So it's very interesting.

Karol:

We're having sprints, we're having all those ceremonies, but they're actually not related to anything.

Karol:

So instead of people and people and people, it's processes, processes, processes.

Karol:

So at times it's very weird having that load.

Aleix:

Yes, Kanban maturity model.

Aleix:

Yes.

Aleix:

So this is part of, I always share this on my workshop on engineering strategy because I love this one, which is I use this one and say, hey, when you are in a team that is in a level zero, which means that they lack order, they're poor and stressed, they're unpredictable results and full of heroics, of course you have a lot of problems.

Aleix:

But as you make more, you start maturing and you move from lack of order to emerging processes into some point you manage demand, you have consistent end-to-end process, almost no heroics and short delivery times.

Aleix:

When you reach this level of maturity, and this of course is through talking well with improving the processes, improving the architecture, trying best development, good engineering practises, reducing errors, or at least one error is acceptable.

Aleix:

The same error twice, it's a problem.

Aleix:

Three times we have a huge problem.

Aleix:

So you have this thing about, hey, we have this problem, let's improve the systems or how we work so it doesn't happen again.

Aleix:

And if you repeat this enough, after three months you are in a good shape.

Aleix:

So that's what we did.

Aleix:

Every time we found a problem, we see how we can solve this.

Aleix:

And a lot of this maturity was driven by team topologies principles, but a lot of them where we didn't start with team topologies principles, we started with Accelerate and all the DevOps principles about running it and drug-based development and pairing and testing and how this is called this product mindset.

Aleix:

And that's how we reached this level of customer-driven.

Aleix:

And I say this level of customer-driven because moving from this to here, I was able to drive most of it.

Aleix:

Because you are improving things as engineering and you can do a lot of things.

Aleix:

But moving into customer-driven, you need product to be involved and design.

Aleix:

You cannot do this.

Aleix:

So you start having this collaborative collaboration with multiple, instead of having handovers, you start collaborating and you start seeing good things.

Aleix:

And we ended up after, this took us a year.

Aleix:

Maybe it's not this, but we moved from here to here in four to six months and here to here in one year.

Aleix:

And we were moving into feed for purpose at some point, but this took a lot of us our time to get here.

Aleix:

But again, it was a constant effort into how we can improve a culture about improvement on dedicated improvement.

Aleix:

And of course you're saying, hey, I have six developers in one team and I will dedicate two only on improving things.

Aleix:

Okay.

Aleix:

Just saying like, just telling you that you have three schemes of improvement.

Aleix:

You have three lines of work.

Aleix:

You're telling me that you are taking the 33% of it into improvement.

Aleix:

I say, yes.

Aleix:

But then you see the results.

Aleix:

It's like, oh, we are getting results every day.

Aleix:

They are like, fine.

Aleix:

Of course there is a section that then you meet everyone to do something, but all of that and say, hey, which is the cognitive load?

Aleix:

What is causing cognitive load?

Aleix:

Is this, okay, we need to dedicate things to make things happen.

Aleix:

It cannot be about, or at least it will frustrate me a lot, which is we identify there is problems to be solved, but then you do nothing about them.

Aleix:

I am an engineer.

Aleix:

I cannot do that.

Aleix:

It's like, we need to do something.

Aleix:

It doesn't mean that we need to stop everything.

Aleix:

It means that we need to do a little improvement so next time it's less painful.

Aleix:

And it was a combination of detecting the Dora metrics, some cognitive load, some team topologies, principles, things like, hey, you're collaborating with all the teams all the time.

Aleix:

This is not a good sign.

Aleix:

We need to move to something else.

Aleix:

So we need to, I like this a lot.

Aleix:

We need to collaborate.

Aleix:

So we stopped collaborating.

Aleix:

That doesn't sound intuitive.

Aleix:

Because usually you, at least 2020 was a year where collaboration was good.

Aleix:

Like, oh, you need to collaborate because collaboration is good.

Aleix:

And the more you collaborate, the better you do job.

Aleix:

It's like, no, you don't want to be collaborating with 12 people each day.

Aleix:

At least I'm an introvert.

Aleix:

The less people I work, the better.

Aleix:

So I need to work with the right people in the nice moment, but not with too many people because it will drain my energy.

Aleix:

So it was also like kind of my introvert nature trying to pull like, okay, can we kind of reduce the amount of collaboration between people?

Aleix:

Thank you.

Aleix:

So that instead of telling people how to use API, can you just send an open API schema and that's it?

Aleix:

Yeah.

Karol:

I'm not, I'm an ambivert.

Karol:

So basically I'm a bit chaotic in that sense, but 80% of the time my behaviour is introverted.

Karol:

So leave me the hell alone.

Karol:

Well, 20% of the time in mostly in social interactions, I'm perceived as an extrovert.

Karol:

So basically I stumbled into something like this recently.

Karol:

This is my social battery.

Aleix:

I love it.

Karol:

And I have these on my team's background at work.

Karol:

So I basically changed the background depending on how my social battery is.

Karol:

So if it's charging or depleting, and what is the state, and basically during conversations, I just go like, I'm going down here.

Karol:

I heard that the person that introduced me to the concept was, is the neurodiversity community leader at Capgemini where I work at, at the moment.

Karol:

And she was like, I was in a conversation with my manager and during that conversation, the slide, it's sliding the spin down to zero.

Karol:

It's like, oh, you can do that?

Karol:

Oh, okay.

Karol:

That actually is great.

Karol:

So yes, collaborating.

Karol:

Okay.

Karol:

You got me.

Karol:

Good indicator there.

Karol:

Yeah.

Karol:

That's another one.

Karol:

Amazing in that sense.

Karol:

But this all, all of this basically over collaborating, under collaborating, it all contributes to some sort of cognitive load, good or bad.

Karol:

It's a matter of finding that balance, right?

Aleix:

It's knowing when you need to collaborate and when you're not.

Aleix:

When you are having a good collaboration, usually as a manager, you are in constant collaboration.

Aleix:

The thing is that all the team is in constant collaboration, but you need them to focus.

Aleix:

Sometimes you need them to be isolated so they can really focus on something.

Aleix:

Maybe they need to be exposed.

Aleix:

But I think how I see it is that things are changing or we need to adapt to each context and you need to constantly reassess, hey, I am doing the thing that is having the most impact in the organisation, whatever that means.

Aleix:

It can be, because it can be focussing performance or it can be focussing on unlocking a huge critical project.

Aleix:

So you will need to be constantly asking yourself, I am here and I should be here or I should be somewhere else.

Aleix:

And sometimes it happens that I, as a head of engineering, there is a critical project and sometimes you need to go very down into one thing.

Aleix:

And sometimes you need to be careful because like why this person is here, right?

Aleix:

So you need to be very communicative about why you need to be there and you shouldn't say, sometimes that can be perceived as micromanagement if you don't explain the reasons, but you still need to be there.

Aleix:

It's like, even though you can say that this is critical, so I hope you understand that I'm trying to do my best on the situation that's there.

Aleix:

Feel free to tell like, hey, Aleix, we understand, but we think it's not the best formula, but for what we want to achieve, let's change that and do it in another session.

Aleix:

I would say I'm happy to do that as long as we are doing this because it is, I'm saying this critically, it's not like, it's not optional, but I'm happy to do it in another format or this is a good format.

Aleix:

So I'm part of, I'm happy to do that.

Aleix:

But I'm sure that also having big bosses in a room of a very low team that also creates cognitive load and stress on people.

Aleix:

So you cannot do that all the time, right?

Aleix:

Because, and you shouldn't be doing that while you are there at all.

Aleix:

No, it needs to be specific.

Aleix:

But I say that because it can be, it means that you are in a very deep thing, or maybe you're included in a very big meeting with a bigger leadership or high level leadership.

Aleix:

And you need to adapt.

Aleix:

There is this book about the elevator or architect elevator.

Aleix:

Oh yeah, Gregor Hall.

Aleix:

So it's like, hey, sometimes the same thing in leadership, like sometimes you're talking about one year strategy.

Aleix:

And next thing you're talking about very specific thing in a complicated system that is key for, if that fails, everything else will fail, right?

Aleix:

So you need to adapt yourself into it.

Aleix:

And this is causing cognitive load because the context switching as leaders, it is constant.

Aleix:

You need to be, you need to get used to this because you don't have, or at least you don't have focused time.

Aleix:

I, or I said, the thing that they miss the most being a manager is not listening music.

Aleix:

It is like, I need my music time.

Aleix:

And I need to be this on sometimes what it is like, oh, let's for anything.

Aleix:

Like, nope, I will go alone to eat alone.

Aleix:

I mean, when I go to somewhere, I will just listen to music.

Aleix:

Right.

Aleix:

But as a developer, I was maybe listening to music four hours a day, right?

Aleix:

And it gets you and gets long.

Aleix:

But as a manager, it's like, maybe you're getting meeting, meeting, meeting, meeting, meeting, you eat and then meeting, meeting.

Karol:

I get that.

Karol:

I get that as well.

Karol:

So to lower my cognitive load over the day.

Karol:

And again, my ADHD is sometimes acting up because of the load that I'm having, like meetings back to back or something.

Karol:

Basically, I'm not a fan of time blocking in a calendar, because that's sometimes creates a very different understanding of what that person does.

Karol:

But basically, I often have body doubling sessions.

Karol:

And with body doubling is basically where I listen to music, because then I need I have my focus time, I have somebody on a team's call or a discord or whatever other tool where there's a body doubling community.

Karol:

And we declare we're doing this thing.

Karol:

And we're creating this kind of focus time with that kind of a psychological accountability of just declaring for one another what we're doing.

Karol:

And those tasks, they do not have to be related at all.

Karol:

We don't even do the same things.

Karol:

We are not even in the same units or whatever that may be.

Karol:

But this is the time where we declare, focus, listen to music, go with the job done.

Karol:

And it's difficult to do that when you're higher up as a head of engineering, I don't know, CEO or something like that, because that's meetings, meetings, meetings, meetings.

Aleix:

Yeah, I'm sure that's the context.

Aleix:

I'm sure that the CEO, I've never been a CEO.

Aleix:

So I'm sure that will be quite chaotic.

Aleix:

But as a head of engineering, what I was doing is with my peer when he had the product was like, Hey, I need to focus on this.

Aleix:

Can we just be in the same meeting doing our work?

Aleix:

And then we just chat when we need synchronisation on something.

Aleix:

And then it's like, maybe you're like typing and the other person is maybe listening music, but also typing, and then you are available.

Aleix:

The other thing I also like a lot is like, you are in a Zoom meeting that nobody is in, and then you're just typing.

Aleix:

And then someone is like, Hey Alex, do you have a moment?

Aleix:

Like, sure, tell me.

Aleix:

And that is for me, it's like team available time.

Aleix:

I'm available for you.

Aleix:

You can jump in whenever you need.

Aleix:

You can interrupt me.

Aleix:

It doesn't matter because I'm doing maybe something or researching something.

Aleix:

Then me being open, like during this time, you can interrupt me five times, 10 times.

Aleix:

I will not complain.

Aleix:

You can also bring me to another meeting and I will be joined there.

Aleix:

So having one hour a day for interruptions just so people know that they can bother you, it's very helpful.

Aleix:

The higher you are, the harder it is.

Aleix:

But when I was in a team level with the PM, she was amazing.

Aleix:

One of the best PM I've worked with.

Aleix:

I love that we sometimes we were like in this shared room doing nothing.

Aleix:

And then the team being in talking about something and the speed about resolving issues was like minutes.

Aleix:

I've never been in that environment like that fast.

Aleix:

Well, if you're in an office, maybe you're in this fast.

Aleix:

But in remote, if you need to say people like, hey, can you jump into a call?

Aleix:

There's no, it's very hard.

Aleix:

But if you're always available, that helps people a lot to do the same things.

Karol:

All right.

Karol:

Aleix, we're coming to two hours of the stream.

Karol:

Let's do a little bit of backtracking and go back to the root topic being understanding the cognitive load that we're dealing with.

Karol:

So, if we could place cognitive load and from the perspective of team topologies also, so the team being the lowest unit of understanding and give some advice to anybody who's watching us now or will be watching the recording as to how to start understanding the cognitive load that people are dealing with in their own environments that they're at.

Karol:

What to look for?

Karol:

Are there like common things that you can watch for to find and understand that this is the cognitive load?

Aleix:

The easiest way is delegating everything to a tool that is prepared for this.

Aleix:

And I say this because being honest, the amount of complexity about assessing a cognitive load is huge.

Aleix:

So, you can, I will share screen briefly.

Aleix:

All right.

Aleix:

There you go.

Aleix:

So, this is the temperature.

Aleix:

Being honest here, you can see all drivers and it is distilled and it gives you all information about all the drivers that you can find on a team with things that you can do to improve it.

Aleix:

You can go to the application, you can see a demo and it's fine.

Aleix:

I will not go in more deep.

Aleix:

So, going from zero to one without you learning everything about cognitive load, temperature for me is the go-to tool.

Aleix:

Right now, I think we did an amazing job.

Aleix:

And it's a standalone tool.

Aleix:

It works and you can get multiple teams to do this.

Aleix:

If you, for example, you say, hey, for whatever reason in your company, you cannot externalise this to an external tool because of legal, for example.

Aleix:

I can imagine multiple reasons why people choose, for example, to not.

Aleix:

Then I go back to maybe read the drivers.

Aleix:

But the important part is during the retrospectives, have a moment to explain what is cognitive load and somehow different cognitive loads about this.

Aleix:

Cognitive load can drive people away from the conversation you need to have.

Aleix:

So, instead of using cognitive load, you can use developer's pain.

Aleix:

And you can ask them, which are your pains?

Aleix:

Which is preventing you to do your job?

Aleix:

What is things that and then you open an open question.

Aleix:

You have a retrospective theme.

Aleix:

So, use mirror, for example.

Aleix:

And then you ask people to put the stickies.

Aleix:

Then you have patterns and then you explore them.

Aleix:

Based on your experience, usually people find their immediate pain, dig deeper about what is the thing.

Aleix:

Oh, my problem is zero.

Aleix:

Well, why is zero?

Aleix:

Well, because things are happening and changing.

Aleix:

Oh, because you have ten stakeholders with different opinions.

Aleix:

And then you need to drive people into the insights.

Aleix:

You need to do that in retrospectives or things that people have a high trust environment.

Aleix:

Because you need people to talk.

Aleix:

Otherwise, it doesn't work.

Aleix:

Temperature has this level of anonymity where people can share the things and they don't need you to be in retrospective settings.

Aleix:

But if you have high trust, do that model.

Aleix:

The only thing is that then you need to run this for every team.

Aleix:

The good thing is that you were able to understand more of the people and be exposed.

Aleix:

So, that for me is like if you don't want to introduce the concept of cognitive load, you can introduce the concept of pain.

Aleix:

And this is very related to the developer experience surveys and similar.

Aleix:

You know your teams.

Aleix:

You can also do specific questions and do Google Forms with one to five.

Aleix:

And then you do the leaker thing survey and you can do it yourself.

Aleix:

There are a lot of companies, big ones that do this, like Shopify does it their own.

Aleix:

I'm sure that there are a lot of companies that do this by themselves.

Aleix:

No problem.

Aleix:

But if you want zero effort, temperature.

Aleix:

You want to do this.

Aleix:

I started exploring pains, the developer experience and drive the conversations.

Aleix:

And it will be a long conversation, but it needs to happen this way.

Aleix:

So, that's my suggestion.

Karol:

So, basically ask questions and then dig deeper.

Aleix:

Yes.

Aleix:

And don't get into the surface.

Aleix:

Also, be clear about the expectations.

Aleix:

Because maybe you find issues that you cannot resolve.

Aleix:

Maybe that frustrates people.

Aleix:

The issue is like, hey, we will have a follow-up conversation.

Aleix:

Because usually you have a problem about identifying the problem.

Aleix:

Then another conversation about resolving it.

Aleix:

My suggestion is don't try to do the same thing on the same retrospective.

Aleix:

Because it's way too intense to identify the problems.

Aleix:

You need to give people time to express the things and share.

Aleix:

So, sometimes retrospectives want to end up with actions.

Aleix:

I would say pause.

Aleix:

Analyse things.

Aleix:

Maybe do one or two teams.

Aleix:

And then find themes to explore.

Aleix:

And then you go into actions later on another session.

Aleix:

So, people have time to reflect.

Aleix:

Because people will start, oh, this person said the problem is this.

Aleix:

Oh, I didn't notice.

Aleix:

And now they find themselves in the problem in a meeting where that happens.

Aleix:

Like, oh, I start seeing things that before I wasn't able to see.

Aleix:

And that's why you need to give time for people to move from understanding the problem to solution.

Karol:

And just naming the problem can be just emotionally draining and will not set the people in the problem solving space.

Karol:

Because they'll be annoyed, agitated.

Karol:

Yes.

Karol:

Yeah.

Karol:

Whatever the emotion will be that they go to when they're in that state, in problem state.

Aleix:

And that will be a problem.

Aleix:

Exactly.

Aleix:

So, you need to give these things out.

Aleix:

And you need to as a facilitator, you need to control things.

Aleix:

Because you don't want people to be too much in range.

Aleix:

So, being angry is okay.

Aleix:

Yelling is not okay.

Aleix:

So, that's the thing, right?

Aleix:

So, you need to give this a space.

Aleix:

Give people room for asking questions.

Aleix:

And hey, I don't expect to go into solution mode.

Aleix:

But I want to get things out.

Aleix:

And I also will kind of promise you to solve everything.

Aleix:

But I will do my best to bring these things into improvement.

Aleix:

Some things will be staying on the team level.

Aleix:

Some things can be done by management.

Aleix:

But the good thing is that it won't improve.

Aleix:

And then in the second one, you can go deeper and give time.

Aleix:

Like, hey, we understood that this was a problem after two weeks or after a week.

Aleix:

We still believe that this is the problem.

Aleix:

Oh, well, yes.

Aleix:

I think that...

Aleix:

Okay.

Aleix:

Great.

Aleix:

How we can measure that we are doing the right direction?

Aleix:

There's an amount of rework.

Aleix:

It's an amount of tickets.

Aleix:

It's about messages in the Slack to get into conclusion.

Aleix:

Amount of meetings.

Aleix:

So, getting some KPIs to know that you're in the direction.

Aleix:

And then you set some reasonable actions to improve them on the short term.

Aleix:

Short term, please.

Aleix:

Because if it takes six months to improve something, people will be like, this never happens.

Aleix:

We will not improve.

Aleix:

And also, you need to have the support of the organisation to improve things.

Aleix:

The worst scenario I saw in my life is like, we understood the problem.

Aleix:

We did nothing.

Aleix:

Now people are more frustrated than before.

Aleix:

So, if you cannot come in to improve things, don't try to understand the problems.

Aleix:

Ouch.

Aleix:

That's it.

Karol:

That's painful.

Karol:

That's a painful vision to me.

Aleix:

We understand the problem.

Aleix:

We're doing nothing.

Aleix:

Oh, my.

Aleix:

But that's when the management is overloaded.

Aleix:

Oh, yeah.

Karol:

Okay.

Aleix:

It's not that they don't want to be in something.

Aleix:

It's that they don't have the capability or the space to do something.

Aleix:

So, be reasonable about your commitment.

Aleix:

If you're the one that is responsible for improving something, but you will not let something fail and you focus on improving the organisation, that's that.

Aleix:

This happens a lot with managers that they need to be present so things happen and they then cannot delegate.

Aleix:

Because they cannot delegate execution or they, for example, I had a person that said, hey, I cannot delegate things because nobody is doing DevOps but me.

Aleix:

So, I need to be all the time doing DevOps and otherwise things don't happen.

Aleix:

Like, of course, you cannot delegate.

Aleix:

So, why focussing on that other thing if you don't have the space to delegate on these skills?

Aleix:

So, maybe you need to do an intermediate step, which is training people or giving people the responsibility.

Aleix:

So, you can free yourself from groundwork.

Karol:

Yeah.

Aleix:

Right?

Aleix:

So, understand the situation and then act on it.

Aleix:

But, for example, how I can focus on improving the relationship with business if the team is failing all the time on rework or issues in production, no, I focus first on moving the team from zero to one or two because then that I can delegate everything and then I can focus on another thing.

Aleix:

But it will not work to focus me on product collaboration if engineering is failing all the time.

Aleix:

So, step by step.

Karol:

If you have a complete overload on production back fixes and trying to maintain the software running and how can you even focus on developing new features?

Karol:

That's impossible, right?

Karol:

That's insane.

Karol:

But it quite often happens.

Karol:

And then, again, we have different problems from expectations and managing those expectations and whatnot.

Karol:

But, yeah, okay.

Karol:

That is a sound advice to just go and understand and try to understand the problem, but also secure enough support that you can actually try and resolve the problem from an organisational standpoint.

Karol:

Or if the problem is higher up than the team, then also try to address it higher and have that support as well.

Karol:

So, look more globally outside of the team.

Aleix:

Usually what happens on the upper level is that each of us is trying to fix the problem from different point of views.

Aleix:

So, usually when you see a problem, someone else already saw the problem from another angle and is trying to do a fix from another angle already.

Aleix:

So, find these people and peer up like, hey, let's work together in this and what we can do together.

Aleix:

Because I had a client that recently, they're like, oh, we see this problem, but we're working maybe a little in silos and we need to involve more business.

Aleix:

And they say like, oh, there is a meeting where this person was trying to do something to align.

Aleix:

Okay, that person is trying to bring this up.

Aleix:

Before, you were saying like, what is this person doing?

Aleix:

Maybe that person was trying to solve that.

Aleix:

So, from a language or from a perspective that you were able to relate, but now that you identified that person, okay, work together and drive this forward.

Aleix:

And I'm sure that this, you're not, it's very rare that you're the first to notice this.

Aleix:

And probably other people tried before.

Aleix:

They maybe were not or just like, okay, I give up.

Aleix:

Find them.

Aleix:

Maybe they want to have a little more energy to try again.

Aleix:

And then you try to do things.

Aleix:

But usually a problem that was tried to be solved before somebody burned.

Aleix:

So, rescue that person, maybe learn from that mistake.

Aleix:

And then, or if that person's like, don't do that, brave yourself, don't touch this.

Aleix:

It's like, okay, you saved me from a burnout here.

Aleix:

So, yeah.

Karol:

All right.

Karol:

I deal with complexity every day.

Karol:

But looking at the aspect of psychology, ways of working and cognitive load and all that, that's, I think, way more complexity than I ever expect from any problem that I'm solving as an architect.

Karol:

I think this is essentially more complex than anyone would want to account for in that sense.

Karol:

It really requires a lot of people to solve this kind of complexity at times.

Karol:

And to first to create the awareness of said complexity and then to be able to delegate, distribute that complexity over people to actually be able to solve these problems.

Aleix:

Yes.

Aleix:

And patience.

Aleix:

Because I learned the hard way that even though you push hard, things don't happen.

Aleix:

And then maybe you put the seats and then eventually it happens.

Aleix:

And then you're like, why now it's happening?

Aleix:

I tried that for three months, didn't happen.

Aleix:

And now it happened alone.

Aleix:

Like, okay.

Aleix:

So, sometimes we are not the person to make that change.

Aleix:

Maybe you put the seats, but maybe someone else needs to finish that on.

Aleix:

That's fine.

Aleix:

As long as it happens, fine for me.

Karol:

So, a little bit about working with your own ego, right?

Karol:

To put it down a little.

Karol:

It may be challenging for some people also.

Karol:

Because it is to think about it and to notice cognitive load, I think this is a little bit of a shift in the way of thinking.

Karol:

And you have to put aside certain things that you would hold dearly and very egoistically.

Karol:

And patience is one of those virtues that you need to put up front at times to have that change being possible.

Karol:

And that may come difficult for some people.

Karol:

It may come easier for others.

Karol:

And sometimes it's not you.

Karol:

And sometimes it's not me.

Karol:

Or anybody.

Karol:

Yeah.

Karol:

It depends.

Karol:

It really depends on the situation, the context, and what is the actual problem versus what is the symptom that we see and consider a problem.

Aleix:

So, very interesting conversation.

Aleix:

I didn't know that we went already two hours.

Aleix:

All right.

Karol:

I think we can wrap it up at this point.

Karol:

If any of you reached this point, and I see that we have still a lot of viewers alive, if you want to go a little bit deeper into the definition of cognitive load to learn about intrinsic, extraneous, and germane, there was a previous livestream that we did with Radek Orszewski, who's a team topologies advocate and a Kanban trainer.

Karol:

So, you can scan the QR code and watch this particular one.

Karol:

Maybe not exactly at this point.

Karol:

That would be a bit of an overkill.

Karol:

But go ahead, save it up, subscribe to this channel, and watch through those.

Karol:

Now, I'll do a little bit of promoting.

Karol:

So, we're continuing the loosely coupled livestream in two weeks.

Karol:

We are having a week of a break.

Karol:

So, I'm gonna just swoop into the slide here.

Karol:

So, we're going back to the topic of recruitment in two weeks' time.

Karol:

We're going back and we're gonna have Philip Poynton again on the stream.

Karol:

And luckily, this time around, we're gonna have Gabby Preston Pfeiffer again from Tooltop Raccoons.

Karol:

Gabby is well and fine now, so no more health complications that bar her from speaking.

Karol:

So, luckily, we're gonna have them both in the stream, and we're gonna have another conversation about IT recruitment, which is another difficult topic and dealing a lot with also cognitive load, I would say.

Karol:

And that said, if you want more content, well, you can visit bridgingthegap.eu.com, which is where we write articles on enterprise application integration.

Karol:

But you can also find a list of our upcoming events in the menu on the side.

Karol:

You can subscribe to Substack.

Karol:

We're publishing articles and different...

Karol:

We're gonna get into more content there soon enough.

Karol:

And you can also subscribe to the YouTube channel to get notified about upcoming live streams.

Karol:

There is some other content pending, which again, I need to have more space in terms of my cognitive load to build that content.

Karol:

So, that's gonna take some time, free up some space, not take too much on yourself.

Karol:

So, there's plenty to do, plenty to watch, plenty to enjoy in the upcoming streams.

Karol:

And for today, thank you, Aleix, for joining us.

Karol:

It's been a pleasure talking about this, quite a complex topic.

Karol:

My brain is buzzing, but I already feel that I'm a little bit overloaded after a whole day of meetings and then a live stream at the end of it.

Karol:

So, we're gonna come to a close.

Karol:

Thank you, all of you who stayed with us.

Karol:

Hopefully, you enjoyed the conversation and tune in for more.