Author Archives: make10louder

Scrum and VSM v1

Using the viable systems model understand and diagnose issues in Scrum and IT

System 5. Arrgh.

This article will look at Scrum through the lens of a Systems Thinking approach called the Viable Systems Model. Applied to organisation, the Viable Systems Model often feels like well thought out common sense, so the things VSM says may not be a surprise. What may be a surprise is the diagnostic power the VSM has both within and outside the Scrum team . This power makes the learning curve of the VSM worthwhile.

I’ll start looking at a Scrum team as a viable system and follow up this post with a discussion of the members of the Scrum team as viable systems. Finally in a 3rd post I’ll analyse various IT situations I’ve seen using the same tool. This should show the power of the VSM, and the range of situation it can be used in.

All this analysis is released under a Creative Commons License. It would be great to get feedback from both a VSM and Scrum perspective, more examples, and build up a resource.

Context, context, context

It’s worth noting here that application of Systems Thinking is always contextual. If you have a different context to me we’ll not have the same analysis. I’ll be treating this as a learning opportunity, rather than a quest for an uber-analysis that can can applied in any context. (hint: the Uber-analysis doesn’t exist).

I’m assuming you know Scrum and this article is an introduction to the Viable Systems Model, but it should work the other way. I’ll also show how the VSM can be used to diagnose issues with teams and IT in general, It’s a useful aid for Scrum Masters or Agile Coaches when things aren’t quite working. In fact, an Agile Coach, armed with the VSM and a couple of other people systems tools would be pretty formidable.

This power comes from the ability to name things that may be missing and we’d like to improve.

Having a name for things is vital if we want to talk to other people about them. The VSM helps us do this.

 

Ashby Law of Requisite Variety

The Viable Systems Model is Ashby’s Law of Requisite Variety applied to organization design. So I’ll really be looking at Scrum at IT issues using Ashby Law of Requisite Variety.

Rather than introducing the VSM academically (there are lots of academic papers that do that) I’ll use it to talk about Scrum, showing why the parts of Scrum work – and giving some general diagnostic advice when things are not working as expected.

Quick introduction to Viable Systems, and the One Weird Trick

Before I start there are a few thing about the Viable Systems Model that I’ll point out. Firstly the model is recursive. Viable systems contain viable systems. So viable teams make up viable organisation units, that make up viable organizations. Viable organization need to exist in viable sectors of the economy or society. A system exists within its environment, and Scrum teams are no different.

The other cool thing about the VSM is that the things we look for are at each recursion are exactly the same as every other recursion. This One Weird Trick makes the VSM easily applicable to lots of different organizations at different levels. The requirements are numbered System 1 to System 5, and there are purposeful communication channels between various parts of the system. There is also the systems environment that may have more than one element.

These parts of a viable system are called System1 (S1) to System5 (S5) , shown in the diagram below. System S3 gets an extra S3*, just because.

 

 

The VSM just says that the S1to S5 things need to exist. They can be done by the same person or separate people.

Applied to a Scrum team

Scrum, as described in the Scrum Guide is good example of a general way to organize to produce working software in complex situations.
Analysis of a Scrum Team as a Viable System shows what each part of Scrum is doing, and shows where there are assumptions about the sort of problem you are solving that may cause issues, and areas where other skills and approaches may be required.

The Scrum team and its customer

A Scrum teams customers are the people whose needs are met by the software that team writes. This can either be a group outside of the organisation like a small mobile game dev company that releases code straight to paying customers, or a team whose output needs to be integrated with the output of other teams in the organisation to provide value. This is important, but the implications come later.

The communication between the customer and the team is managed by the Product Owner or PO . The PO reduces the variety of requests coming from the customer, to something the team can cope with. In the other direction, the value from the team is increased by the Scrum Master, the Dev Team and the Product Owner putting together Sprint Goals that will meet needs in the best way.

 

 

Of course the developers can talk directly to the customer, but this is in the context of delivering value that has already been discussed and agreed.

Providing value VSM System 1

The parts of a Viable System that provide value to the customer/environment, is called the System 1. In a Scrum team there are 5 +/- 2 parts of this. The System 1’s need their output co-ordinating by a System 2.

The output of the team may need integrating into the output of other teams. These may be financial, marketing, physical product production, legal, regulatory or other Scrum teams. (oooh, maybe even other waterfall teams…) I’ll look at this with the VSM in another post, but for now, assume the Scrum Team provides value to the customer/environment directly.

Co-ordination VSM System 2

Co-ordinating system 1’s into a cohesive output is mainly the job of the Scrum Master. The SM makes sure that the daily standups, retrospecitves, and sprint planning all occur. The Scrum Masters job is also to remove any impediments to the team, reducing the variety of problems they need to deal with.
The team is also expected to self organise to deliver the Sprint Goal. Scrum mandates daily standups where the SM creates a space where it is safe to make mistakes and learn. This skills required to do this are outside the scope of the Scrum guide, but are vital to a well functioning team. System 2 is S2 in the triangle in the following diagram.

Getting resources and managing delivery -VSM Resource Bargain and Audit

VSM requires an organisation to have a resource bargain, where resources (Like a factory, employees and raw materials) are converted into something of value. The bargain (ie 1 factory, 20 people, raw materials) needs to be converted into something useful in a particular timeframe (ie 500 products in a week). This is a performance agreement that needs to be agreed and monitored. Scrums is designed to work in more complex environments that factory, so the resource bargain is more complex.

 

 

A Scrum team creates value with a team of developers, a Scrum Master, a product owner, IT resources and 2-4 weeks of time. This is a resource bargain with the organisation. The team is given resources in return for delivering value and meeting peoples needs. Because of the short sprint cycles, the resource bargain can be reassesed regularly to see if it is delivering what it promised. This is done at the sprint review, where the output of the sprint is delivered to customers.
The VSM says that the System 1’s need a in depth audit – that is carried out at irregular times. The regular Scrum Review is the closest to this audit, although it is not irregular, and it does not bypass the PO and SM. This means certain organisation anti-patterns may not be detected. In VSM this audit is called System 3*. Done without care this audit can break trust, so leaving it out of any model of the organisation can be disastrous.

Managing the Current Operations VSM System 3

This is where the whole of the the current operations are reviewed for effectiveness, so there is the output of all of the previous sprint goals, the current sprint goal, and future goals. There are decisions here made about the whole deliverable of value to the customer, including bug fixes, and any operational resources required.
In VSM this is the System 3. In Scrum the team develops new features. Scrum covers a some of this, but the output of the team may be passed to an operations / devops team. A lot of this is out of scope of Scrum. A Devops team would need to be a Viable System, so could be designed and diagnosed with VSM.

If the output of the Scrum team is integrated with the output of other teams to provide value, then the overall output will be assessed by it’s own System3. ie the performance of the whole product.

Thinking about the Future VSM System 4

The decision to continue developing the software, to stop developing software if progress is too slow, or it’s not providing value needs to be made. The team also needs to look ahead to see what the future may hold, and how the team will continue to be viable.

The Identity of the Team VSM System 5

The identity of the team is its purpose. A Scrum team would align to the values in the Agile Manifeto, and also to the Scrum Guide. Its purpose could be “meeting needs and delivering value using Scrum”. Agendashift  says  “We deliver <what> to >whom> so that <why it matters>”.

The activities it does (S1s) affects its identity more than what the system says its identity is. So if the team isn’t doing Scrum it isn’t a Scrum team. A team can’t just call itself Agile and use the right words. It need to behave in a way congruent with the agile manifesto , and this behaviour is supported by referring to the identity in System 5.

The identity of the team – the decision to use Scrum and be agile is owned both by the actions of the developers and people in the next System level up (if it exists), who have decided that Agile teams are required, and can integrate the work of the Scrum team into a product with value.

In following posts I’ll look at the next recursion up and down from the Scrum, looking at a developer, and the next level up. If you’re a SM or PO I’d be interested in modelling those roles too, but I’d need an expert in these domains to do this properly.

Links to further reading resources TBC

There are some in depth books by Stafford Beer and Patrick Hoverstadt covering the VSM.

I’ve personally found the VSM resources on the web to be generally quite poor.

Here are some good web resources.

Trevor Hilder into to VSM

Tom Graves Pervasives and the VSM algedonic link

 

 

Advertisements

Getting the Finger Pointing Right. How to fix tech problems under pressure.

These ideas and suggestions are from my experience with IT incidents solving problems with complicated and interdependent systems. In most cases accurate, timely and safe finger pointing was the key to getting the problem sorted. There are a few thing that need to be in place before this can happen. I’ll cover what I’ve learned fixing issues with colleagues.

I’ll cover

  • some ideas for solutions to the problems we have working together
  • issues with experts and non experts
  •  a framework for a team to solve problems under pressure
  • a way to share and collaborate across knowledge silos

 

IT problems with complicated Systems

Hard to fix problems are usually the ones no-one expected. Problems we expect have planned and tested responses. Often we design them out. The problems that are left have fell down the gaps in our shared knowledge.

The way we build things

The way we build things can make them hard to fix.

For example, if there are three specialist teams building your application, you’ll get an application with three parts. You may design it this way, or you may get a mirror of whatever your organization structure is. This Conway’s Law in Action.

Due to Conway’s Law, the architecture of your IT system may be decided by the division of work between teams, due to knowledge silos or desire for clarity of management structure, rather than optimizing running the finished system.

Solutions to problems are often where two knowledge silos meet and the silo locations were there before any code was written.

Hey! We need silos!

We can say that knowledge silos are bad. We need to get rid of them. The frustration with some forms of silo behaviour is understandable. For complicated systems, knowledge silos are inevitable. No one can know how everything works. Unfortunately Fixing Silos by bridging them, or breaking them down them creates more problems. The bridges and new structures become the new problem sites. It’s inevitable we’re going to have silos where deep technical expertise is required. The best we can do choose where these silos are, why they exist and how we manage the boundaries.

Who is in the room

Things have gone wrong, and people are in a room looking for a solution. Some are Subject Matter Experts, others may be responsible for teams involved, for communication or as customer advocates. There is likely to be senior management who is being asked by the CIO how long until it’s fixed.

To fix the problem quickly, the composition of people in the room is vital. You need the people who designed the system, configured it, wrote the tests and those who run it. There may be knowledge silos across teams here.

You also need someone who understands the big picture but not the details. This role is vital to ask fresh and simple question that experts may not see.

You also need someone to get extra resources you’ll need, book rooms, write communications, and document the decisions that were made, and approve changes that are made to mitigate and investigate the problem.

More Silo Dangers

In a high pressure situation, a lack of psychological safety makes people avoid suggesting diagnosis if they risk their opinion and their past work being judged.

Even where safety exists in a team, it may not exist between silos.
It may be career limiting in an organization to be seen to be the cause of an issue where learning is not valued.

Under pressure people gravitate to general, rather than technical skills (http://bit.ly/AllspawThesis), and under pressure we may defend our silo territory before looking to solve the issue.

Group Problem Solving Anti Pattern #1 Beginner > Expert

from @swardley

The more you know about something, the more you know you don’t know. Simon Wardley joked about this and seemed to hit on some visceral truth. There seems to be more than a shred of truth in this, as beginners are often more certain than experts.
People like to save face. Without work, cross silo meetings are not a safe spaces, being wrong is bad, being responsible for the system at fault may be worse.

Group Problem Solving Anti Patterns #2 – Hippos

Perhaps someone senior (the Hippo, Highest Paid Person in the rOom) has heard about X. That’s what they heard broke last time. They’d really like you check that right now. Maybe the person responsible for X puts forward a strong case why it definitely isn’t X. The defense works but the barriers are now up, and there is a round of finger pointing until someone risks losing an eye.
Worse, someone technical, knowledgeable and dilligent may reply “well I suppose it could be X” (see Anti Pattern 1). And a group goes off to look at X. (Pro tip : It’s probably not X).

Group Problem Solving Anti Pattern #3 Experts are also not enough

A Bongard Problem. What is the difference between all the images on the left, and all the images on the right? This sort of problem has all the information you need. You’re looking for patterns.

Experts are rarely enough if the incident was caused by something unexpected. Experts know what to expect and what they have seen before. The problems of being an expert in an open system, where something new has gone wrong has been covered in my post about Bongard Problems. These problems, where you have two sets of information – before and after – are very similar to IT problems. You’ve got two situations, and you’re looking for the difference that makes a difference. If you’re pattern matching things you’ve seen before, and you’re the expert so you’re not expected to be wrong, new problems can be hard to find.

Someone is required who can ask questions and doesn’t let what they already think they know get in the way. Someone who doesn’t have expert knowledge will find this easiest.

We need a facilitated solution

Someone in the room needs to step up and facilitate the group. It may be that everyone takes one step back and you end up being in charge.

Whoever facilitates need to make sure there is

An Incident framework to follow

What should we do, who should do it, what we do next. This is what goes in the ITIL service management box ‘fix the broken thing’. Ideally there is someone who books room, arranges test areas and gets any hardware or software required for the team fixing the problem.

A example P1 incident process to follow. This can be improved.

A overall End to End systems map

Very Simple Mind Map of a Client Server Application. The detail is hidden, and would go left to right. Top to bottom goes from the client to datacenter, and into the components.

This is not the architecture model, or a solution design. Those won’t do what we want.
The purpose of this map is to help solve problems, so it’s different from the documents produced in architecture and design. It’s owned by the DevOps or IT Operations & Development teams. It is a map of how all the bits fit together in a journey to get your users needs met. You can point at it, and everyone one in the room knows what your talking about. It allows fora shared mental model.

The key to the map, is that everyone agrees that it is correct, and it’s changed to reflect any new information with information being added to the map in the correct place. When people talk about the problem they can point to the map to show the area they are talking about. This can save a load of time and misunderstanding. It also mean that large areas can be ruled out, meaning that Anti Pattern #2 can be avoided.

We can then ask better questions, and make better decisions as we’re talking about the same thing.

We’re pointing at this map, not at each other! We ask questions about the map, everyone has a shared model of the system. We make better decisions.

This map was used to pinpoint a very hard to find problem that would occur for users about once every few day of constant use – and would “fix itself” after less than 5 mins.

 

Observe, Orient, Decide, Act

“What we do next” to find the solution can be answered by John Boyd. OODA, the US Military Engagement Strategy for complex fast changing situations is also great for approaching IT problems.

For other problem solving methodologies see Brendan Greggs excellent site.

OODA is a fast decision making loop. If you need to have an Emergency Change Approval Board before each Act, decide who’s on this and make it happen quickly if you want things fixed. This is a feedback loop that can run really quickly. Have the right people in place.

Observe

What do we know? What is instrumented? Is there information from users? How much do we trust the data? This information will have been collected and added to your map. Show what information we know where.

Orient

As an Incident Team, discuss what does this data mean? Where does it suggest the problem may be? What do we now know, and with what certainty?
You’ve probably just run and test, and you should already know what the results mean, but it’s likely you also have new data from other sources too.

Decide

Decide what test to run next. Everyone needs to agree what the potential results of the test means. Ideally the next test will rule out the largest part of the End to End map possible.

Using the End to End diagram, understand what the data may be suggesting. When evaluating proposed actions as “What is ruled out if the results are X, what is rules out if the result are Y”. Ideally you’ll design tests that give X or Y.

You need to decide as a Team what the results mean before the test is done. What the results mean should be visible on the End to End diagram. For example a test should allow you to rule out parts of the system.

Every test goes through this. So if the Highest Paid Person in the rOom thinks you should find what is being tested on the End to end diagram, and the things that can be learned from the results are discusses.

Act

Run and document the test and results.

Where do the fingers point now?

Instead of pointing fingers at each other, the Incident Resolution Team are pointing fingers at the End to End Diagram, and asking questions like “what would reconfiguring this tell us” or “We could replace this component to rule out all of this part of the diagram”.

New ideas can be quickly evaluated, and extra detail is quick and easy to add where it is required.

We can ask better questions and make better decisions. When we are asked why, we can point at a map, rather than a person. That’s got to be better.

Clean Interviewing at Work

Photo by Alex on Unsplash

At work, I need to talk to people at work to understand their perspectives on how the organization functions. A large University is similar to a small town. We have lots of buildings and green space, a lake, car parks roads and buildings. And security guards. And lots of people trying to achieve their goals in different ways. We’ve campuses in the UK and Asia too, links to a large teaching hospital and our own Arts Theatre. We’re complex.

I’m collecting information for User Journeys for people working, studying teaching and researching. If we help these people reach their goals, the University reaches it’s goals too. We’re structurally coupled to their success. The success of students, staff, and faculty is the success of the University.

An example of a user journey is below. We can see how someone experiences traveling with Lego.

To collect information I’m talking to people using ideas from Clean Interviewing. My goal is to find out what people think using their own words. I’d like them to see the maps I build and recognize their journeys. By accurately reflecting their perspective I hope that they’ll advocate for the use of the maps.

In almost all aspects the conversations I have are normal. I’d not expect the person I’m talking to notice anything unusual. There really isn’t anything weird or unusual. Apart from the questions are usually of the following form, and use the exact words used. I don’t paraphrase.

A selection of the questions I use are:

  • What needs to happen here?
  • What is it called?
  • Is there anything else about <that>?
  • What happens before <that>?
  • Is there anything else that needs to be here, but isn’t?
  • What happens next?
  • Overall, is there anything missing?

What I’m doing is using a framework to develop a model of what things are, what they are called, and what needs to happen before and afterward. It’s a normal conversation, and every part doesn’t follow these rules. If there is something I’d need to find out, I’ll use a clean question.

These are really simple questions suitable for situations where I could assume that I knew what the words used meant, and what happened was the same as the other interviews I’d done. By removing the assumptions I believe I get better information.

Clean Interviewing is based on the work of David Grove, modeled by James Lawley and Penny Tomkins.  More details, including use in academic research settings, are on the Wikipedia entry. This blog post shows a very simple use of Clean Language Interviewing.

To learn more about Clean Interviewing there are events on https://cleanlearning.co.uk/events

Why would I care about Mikhail Bongard’s problems?

TL;DR It’s hard to solve problems that are open, experts won’t help, filter bubbles, why does it matter if you are angry reading all this, double loop learning Clean Feedback and anti-fragility.

Thanks to Chris Cupit, Tomasz Glazer and Richard Harris for the discussions around this topic, and to Andrew J. Baker for feedback and pointers.

What are Mikhail Bongards problems, and why should I even care?

Quick Overview

Mikhail Bongard invented a type of puzzle called a Bongard Problem. These problems are interesting because you get to see all the answers. You need to work out the question. Bongard problems have two sets of six images. The solution to the problem is the explanation of the difference between the two.

Concave vs Convex edges

These inductive reasoning problems help us understand how we think in the real world. The book Goedel Escher Bach provides a methodology for solving Bongard problems, with a slant towards using Artifical Intelligence. At first the AI community thought these problems would a straightforward path to implementing AI. They’re not. And they’re much simpler than the other two examples of real-world Bongard Problems I’ll use.

This post discusses how these problems can be seen in the real world, and how they are connected to learning, and our approach to life.

How to Solve Bongard Problems

An example of Hofstadter’s methodology from Goedel Esher Bach is below. Note that this methodology is wrong for the problem that is being solved. I’ll call Goedel Esher Bach GEB from now on.

 

The method involves having a vocabulary for the domain, and an understanding what Gregory Bateson calls “the difference that makes a difference”.

Ninety-Nine Problems

Mikhail Bongards book Pattern Matching has one hundred problems. Solving these we can keep adding to the “difference that makes a difference”. We can build a list of all the heuristics we need, becoming an expert in this set of Bongard Problems.

When this list exists we have a vocabulary that gives two different approaches available to someone new to the problems.

Approach One, an open problem

This first approach is when you don’t know what the potential rules are. For example, you don’t if there is a rule that “If the pictures were physical and upright, their center of gravity would make them unstable”.

If you don’t know what the potential rules are, the potential number of solutions is unlimited, and you’re going to invent some potential solutions that are not used. So you could make new never been seen Bongard problems from these guesses.

How may these problems be seen by an expert in the original 100 problems?

Approach Two, you know the rules

The second approach is solving the same set of problems, but you have the language of all the solutions. This doesn’t make the problems trivial, but it’s a different type of problem. You have expert knowledge in the domain, and you’re doing pattern matching. You can combine patterns, but you might not be looking for new ones.

The difference that makes a difference

I’ll use a distinction between knowing all the solutions in advance, and not know them in the following three examples. I’ll then add the extra case where you think you know all the answers, but there may be other answers. Or put another way, you have a consistent explanation for how the world around your problem works.

I’ll use three examples

  • Playing the tabletop game Zendo
  • Understanding Organizational Strategy
  • Investigating unlawful credit card harvesting from your website

Example 1: Zendo

Zendo is a board game based on Bongard problems, using inductive logic. It used 3 shapes in three colours, and the idea is that a particular configuration of coloured shapes is given on a card, and players need to create structures that follow the rule on the card, and then win by correctly guessing the rule. So the Bongard problem is a configuration of shapes that is correct, and one that is wrong. You get to offer new configurations and see if they match the pattern that is the difference that matters between the two shapes.

Example 2: Organizational Strategy

Consider the case when a company makes some strategic actions. What is their new strategy? How has it changed? There will be some visible action, so one half of your Bongard Problem is the organization running one strategy, the other is the organization with the current strategy.
If you can figure out their change of strategy you can react to it with your own. If you fail to understand their strategy or carry on regardless you may go out of business.

Examples 3: Computer Crime

In this article, David Gilbertson describes how he’s hidden some code to harvest credit card details in a website that the reader may either own or use. Many website use frameworks that have a load of code imported into the pages. The data theft is viable.

In this example one half of the Bongard problem is your unhacked site, the other is a potentially hacked version. The Bongard problem is to prove that there is a difference. i.e. You’ve been hacked.

Example 1: What happens when I play Zendo with the kids

When I first played Zendo with the family I chose not to look at the cards describing the patterns that we could look for, and I didn’t show the family. We started from scratch and didn’t have a vocabulary.

It was very frustrating to play, and we made some crazy guesses.

The vocabulary on the cards includes orientation, colour, number, and layout. Doorstop, cheesecake, and tower were in the solution vocabulary.

Cheesecake, Doorstop, and vertical orientation.

We could now attempt the easy questions. Having a vocabulary is a required part of solving the problem in GEB.

When my son decided to choose a medium difficulty question we started with the usual guesses, but when we didn’t seem to be getting close we started to get agitated. We didn’t know the rules of the problem domain. More precisely, we didn’t have the vocabulary for the potential patterns. The temptation to ask for a clue or to give up was huge, because this was a game, and games are supposed to be fun. We did, however, have loads of crazy guesses that were not on the game cards. Failure is frustrating, especially if you are not expecting it.

Zendo with work colleagues

I then played the game with the Systems Thinking group where I work. I didn’t give my colleagues any information about the vocabulary or patterns. They were quickly able to create new patterns that matched the rule but couldn’t describe the exact rule that was written on the card I was using.

“The yellow wedge is in the cheesecake orientation” said Francis

The problem they had was there were two potential orientations for one of the pieces but without knowing this it was not a difference they noticed. As the photo above shows, the wedge shape can be in the ‘cheesecake’ or ‘doorstop’ orientation. If we’d read the instructions this would have been obvious. If we don’t have a name for something we have a hard time spotting it. Even if it is the difference that makes a difference.

After this game, without looking at the potential Bongard problems Tomasz helpfully created a problem that wasn’t on any of the cards. He put together some clear blue and yellow pieces. His pattern rule was “structures that can look green”. He’d created a new type of problem, unconstrained by rules. (EDIT : Tomasz was unconstrained by ‘being an expert’)

Structures that look ‘green’, Tomasz Glazer.

How might an experienced player who is familiar with all the vocabulary and patterns on the cards go about solving this problem?

Example Two: Strategy

In business, our competitors’ strategies are unknown to us. They may be easy to spot, or they may confound us.(explained in Patterns of Strategy). There are examples of strategies on the web, that suggest a more complete list exists (here is a great list of Strategic Gameplay from Simon Wardley).

By Simon Wardley
@swardley

 

 

 

 

I’m not familiar with all the strategies listed above, but I can recognize a few of them in the wild.

We are unlikely to get a clue from our competitors, but we can ‘give up’ and have a strategy of just carrying on what we’re doing, head in the sand. We think our strategy is fine.
We know there are more strategic possibilities out there. It’s not clear to me if there is a definitive list of strategies available that is considered complete.

Is a new strategy possible? I think it should be. Does knowing all previous strategies help? I’m not sure. Is it possible to think up new strategies that are not covered by known ones? I don’t know enough to know. Is strategy an open or closed problem?

Example Three: Fighting Computer Crime

After describing how he would insert code to harvest credit card details on websites, David Gilbertson goes through the ways that the reader, who is likely to be knowledgeable on computer security, would use to discover the exploit code. These ways are the patterns and vocabulary to solve the problem.

David then systematically shows how each of our ways of finding the code is flawed and sows enough doubt that we may not find his code.

We thought we had a full set of tools, but it’s clear we don’t. We can’t choose whether to learn our knowledge is flawed, it’s forced upon us. It’s a painful read, and it probably makes people angry enough to prove him wrong!

What’s just happened?

Thanks to Andrew J Barker (@ajbkr) from Tech Nottingham Slack for pointing me in this direction, but any mistakes here are mine.
What is happening when we face an open inductive logic puzzle and we don’t know the full range of answers? I’d suggest that we’re not just learning the answer, but we are double loop learning (see wikipedia, by Chris Aygryis). Our current problem-solving skills are not enough. We’re recognizing this and by getting some new tools.

Double loop learning is not just realizing there is something to learn, like a new computer language, or musical instrument, and learning it. Double loop learning is finding that your old tools don’t work on the problem you’re facing, maybe never really did. Your old thinking probably got you into the mess you’re in. You need to make a fundamental change to the way you think, and can’t go back.

There is often an unavoidable event that triggers this sort of learning. Maybe your business fails, and you see how it was obvious there were problems if only you’d seen them. Or credit card details are stolen from your website. You can’t say it was someone else’s fault. Maybe your partner leaves you unexpectedly, and once you see the reason you kick yourself for not seeing it.

Once you’ve learned something like this, it’s hard to even imagine what it would be like not to know. The past is another country.

I think this sort of unavoidable situation that can’t be explained by your current knowledge is often the catalyst for double loop learning. But our brains don’t like the cognitive dissonance. They would rather explain events any other way.

This is why we get angry when playing Bongard games when we don’t know the range of answers, and why many companies strategy is to keep doing the same thing.

Anti Fragile People

Some event that could break a fragile version of ‘us’, or be endured by a robust ‘us’ actually makes us stronger when we learn from it.

The event needs to be capable of hurting us – or making us angry enough to put up defences.

So what is stopping us getting over the double loop learning wall and being Anti Fragile? And what can help us over the wall?

Single loop learning feels so much nicer than double loop learning. Double loop Learning required we get past the cognitive bias that says we have a consistent explanation for how the bits of the world we care about works.

What’s stopping us?

We’re stopping ourselves.

What can help us?

Unavoidable feedback from hard failures can make us stronger. The feedback can also be endured or can break us. Exposure to the thinking that comes from hard failure makes us uncomfortable.

In many circumstances, feedback structured in a way that helps us develop, by making it hard for us to ignore. The best example of this is Clean Feedback, by Caitlin Walker.
That’s another post.

Really, what’s stopping us?

There is a useful (but ultimately wrong) model of how our brains work, called the Triune Brain. This suggests that there are 3 areas, or thinking states that we use. The lowest brain is the Reptilian brain. This is the fight, flight or freeze response. Knowing we are physically safe keeps this brain quiet. Feeling unsafe activates this brain. A fight also can mean get angry…

If our Reptilian Brain is happy we can use the Mammalian Brain. This brain has higher functions and is kept happy by knowing the rules. This can be social rules, like where the loos are, if you can just go and get a drink, and what time lunch is. Not knowing the rules puts you in the Mammalian brain.

If you’re safe, and you know the rules, then you can use the Neo-Cortex, or learning brain. I’m going to suggests that this is more accurately called the Single Loop Learning Brain. You can learn a new Language, or how to use your current skills better. It’s mostly saying “Don’t worry, you know the answers. No dissonance here.

To put all this together

Example 1: Zendo

We’re playing a game. It’s supposed to be fun. But if we only know a few of the possible answers. We don’t know the rules. We’re in the Mammalian brain. We’re not happy. It’s not terrible, but it’s not exactly fun either. We want to be in our Neo Cortex, getting the answers right. Being an expert.

Before we play again we look at all the cards with the answers on. The game is now to remember these and pick the right one. You can do this, we’re an expert. It’s now more fun, but we’ve limited our creativity.

Example 2: Strategy

With our full list of potential strategies, we’re working in our neo-cortex. An expert doing pattern matching.
Is a complete list a barrier to your brain double loop leaning? During analysis do we come up with new strategies that are likely to be wrong in the particular example, or do we match what we know?

A Strategy Expert, yesterday.

Are strategy consultants experts? How would they see a brand new strategy if it presented itself?

Example 3 Credit Card Harvesting

This article is delicious. David sets up the reader with a situation that’s hard to dismiss out of hand. It’s a challenge to the expert. He then uses the experts’ heuristics and shows how they are wrong. I imagine there may be a few angry readers.

Has this article about double loop learning offered any specific examples of double loop learning to the readers? Will it change anyone’s mind? Does it make people angry? Why is this article wrong?

So what?

To wrap all this up

  • There are open and closed problems
  • These can be played using Zendo, and the differences can be seen
  • Being an expert has some potentially negative consequences
  • Knowing the language to describe your problem could mean you miss things you don’t have a name for
  • Is this a difference described by being an engineer, and a scientist?
  • Unless using something like Clean Feedback, you need to be uncomfortable to experience double loop learning – learning that challenges your current way of doing things.
  • If you avoid discomfort you’re unlikely to learn how to act in the world better
  • What else can we do to learn about our understanding of the world?
    • A colleague suggested Drugs…
  • Talking to people we disagree with and understanding how they are cognitively consistent (or right…). I guess this can also be combined with the drugs 😉
  • What does this mean for our facebook and twitter filter bubble?
    • When someone makes us angry is it a chance to learn?
    • Or do we block and unfriend?

Knowing if the problem you’re solving is likely to be open or closed is a great starting point.

So lastly there are the Strategy problems I mentioned. Are they an open problem where new strategies are being thought up, or a closed one where they are all in a big book of experts strategy?

This may be a good direction to look in the future.

The Problems of Mikhail Bongard

"The Men in the Moon: or, the 'Devil to pay.' With thirteen cuts [by George Cruikshank], etc. [A satirical poem-chiefly in reference to the proceedings of Messrs Cobbett, Hunt, and others.]"

This post is thinking in progress. I’d love feedback.

 

 

 

How we are educated to become problem solvers

We learn problem-solving by looking at problems that have solutions. This is how our success at problem-solving is measured in school. If we’re lucky we can look in the back of the textbook for the answers, and figure out how to work towards them. This cuts problems in half, like starting to dig a tunnel at each end and hoping to meet in the middle. Starting from a question and an answer we’re simply filling in a method to get between the two. If we do well at this we call ourselves ‘problem solvers’ on our CV..

What are Bongard problems?

Mikhail Bongard invented visual pattern matching problems that reverse the normal style of the problem to be solved. We usually have a question and the answer needs to be found.

Bongard problems give you the answers, and you need to figure out “what’s the question here?”, “What’s happening?”.

From Wikipedia

The idea of a Bongard problem is to present two sets of relatively simple diagrams, say A and B. All the diagrams from set A have a common factor or attribute, which is lacking in all the diagrams of set B. The problem is to find, or to formulate, convincingly, the common factor

An example Bongard problem, the common factor of the left set being convex shapes (the right set are instead all concave).

From Godel, Escher, Bach

When looking at Bongard problems, we can look at the solutions to previous problems and build a list of potential answers to search through, as in the example below.

 

How did we get here, and where are we going?

Bongard problems ask – how did we get here? This is a significant difference to normal problem solving, but it gets better.
Working in a complicated domain, such as fixing problems in IT systems, we’re often asking “what needed to happen for this problem to occur”? Knowing this, fixing the issue is relatively straightforward, but not always easy. Things can still get very complicated, but it’s all potentially knowable.

Working in a complex domain (listen to Dave Snowden talk about complexity), which means any time when people are involved, what happened last time we did X may not have the same results this time.

So in complex domains,  why do we even care how we got here? I’d suggest because understanding how we got here may help us understand how the system we’re looking at is disposed to behave and because the modelling will require us to think hard about the issues (I can’t find a source for this).

How do we think hard about Bongard problems?

Bongard problems obey Occam’s Razor – “among competing hypotheses, the one with the fewest assumptions should be selected or when you have two competing theories that make exactly the same predictions, the simpler one is the better.” (https://en.wikipedia.org/wiki/Occam%27s_razor)

Douglas R Hofstadter describes a process for solving Bogard problems in the epic book Godel, Escher, Bach. (Godel, Escher, Bach: An Eternal Golden Braid, Basic Books, Inc. New York, NY, USA ©1979 p646)

Bongard problem solving would have several stages in which raw data gradually gets converted to descriptions.

  • Raw data preprocessed
  • some salient features are detected
  •  The names constitute a mini vocabulary
  •  Drawn from a salient feature vocabulary
    •  line, segment, curve, horizontal, vertical, black, white, big, small, pointy, round.
  •  Second stage of preprocessing
    •  Triangle, circle, square, indentation, protrusion, right angle, vertex, cusp, arrow

 

  • Now the picture is ‘understood’ to some extent tentative descriptions are made
    • above, below, to the right of, to the left of, inside, outside, close to, far, parallel, perpendicular, in a row, scattered, evenly spaced, irregularly spaced
    •  Numerical descriptors
  • More complicated descriptors
    •  further to the right, less close to, almost parallel to

Hofstadter introduces an idea of a “description schema” or “templates” and the idea of “Sam” – a sameness director to help to solve Bongard Problems.

This is where I am. I think it’s possible to create a useful description schema or Sam for our real-life problems, using the systems approaches I’ve written about elsewhere on this blog.

Description schemas are types of weighted directed graphs, similar to the graphs used behind online recommendation engines. I’ve got a new job involving ontologies and graphs. Thanks for Ivo (@kvistgaard ) and Julian (@julianfej ‏)for help getting started with the ideas behind linked data. More work to come here.

Strengths and Clean Language Workshop #3

The Strengths and Clean Language workshop met weekly for a year, and then had 2 months off. Meeting again I was full of ideas that seemed to fit really easily. The workshop was Mike, Tomasz, Sarah, David and Richard.

I found a draft of this post from early 2107, and published it in December 2017.

We started off with the quote from Miles Davis. I’d been at a SCiO Systems Thinking Open Day, and I stole this image from Arthur Battram. Arthur’s presentation on the links between Miles Davis, Jazz and complexity and systems thinking was delightful. And he has a jazz hat. Arthur’s book is great too.

Organisational Metaphors

On the train home from SCiO I was reading Images of Organisations, by Gareth Morgan. This book discusses how Organisations, can be seen through the lens of eight different metaphors at the same time. Each metaphor will reveal and hide different behaviours and systems.

Gareth’s book is referenced in Open University Systems courses, O’Reilly’s Cloud Technology book Architecting Microservices, on Clean Language coaching websites, and is one of ribbonfarm.com’s recommended books. Too say that it’s influence is wide and varied is an understatement. It’s also usually less than £3 on ebay.

I’ll borrow Venkatesh’s overview of the metaphors that Gareth Morgan uses from ribbonfarm.com.

Organization as Machine: This is the most simplistic metaphor, and is the foundation of Taylorism. Any geometrically structuralist approach also falls into this category, which is why I have little patience for people who use words/phrases like top down, bottom-up, centralized, decentralized and so forth, without realizing how narrow their view of organizations is. The entire mainstream Michael-Porter view of business is within this metaphor.
Organization as Organism: This is a slightly richer metaphor and suggests such ideas as “organizational DNA,” birth, maturity and death, and so forth. I really like this one a LOT, and have so much to say about it that I haven’t said anything yet. I even bought a domain name (electricleviathan.com) to develop my ideas on this topic separately. Maybe one day I’ll do at least a summary here.

I introduced Gareth’s metaphors and the Miles Davis quote.

We’re heroes in our own story

Sarah commented ‘We’re all heroes in our own story. The way we look at things makes sense of thing so that we’re central in the story, and our actions make sense. Our (Clifton) Strengths may influence the story we tell. It story may also influence the metaphors we use to  understand and talk about the organisations we’re part of.’ Hero’s of our own story is something we’ll come back to. And as Miles says, if you understood my story, you’d be me….

Sarah also noted how she is interested in the perspectives of some metaphors, like the political system metaphor, but doesn’t like to get involved in politics, it wears you out.

We (well I) jumped to clean language here. I’m particularly interested in Clean Scoping Questions. The scoping questions are used to see if a Clean Language approach, usually revealing uncomfortable behaviour patterns, is wanted by the coaching client. Rather than face their own patterns, the client may just want a “diversity certificate”, or similar.

A quick overview is

What do you want to happen?

What needs to happen so that <answer to what you want to happen> is automatic?

What is happening right now?

The answer to what is happening right now usually contains unhelpful patterns of behaviour. Before looking at the patterns, we talked about how asking the question “What needs to happen so that what you want is automatic”, could be (uncleanly) asked in the context of Gareth Morgans metaphors.

So, “thinking about the situation using the brain metaphor, what do you want to happen?”

Or “thinking about the situation using the organism metaphor, what would you see and hear when <what you want to happen> is happening”.

I think we may try these questions in the group to see what occurs.

As a group we’re all familiar with the unhelpful reflex patterns of behaviour described by Barry Oshry, and the alternative ‘balcony’ behaviours that we can use if we see the reflexive patterns in time.

In her book “From Contempt to Curiosity” Caitlin Walker describes using the Karpman Drama triangle to describe a set on unhelpful behaviours “Persecutor, Victim and Rescuer” that are seen in Clean Scoping. These patterns map really well onto Barry’s TOP / MIDDLE / BOTTOM behaviours we describe in Balcony and Basement terms.

Sarah suggested that people’s Clifton Strengths may influence the organisational metaphor they prefer to use – they’ll see the world in a way that sees their strengths positively.

There were some similarities between the Karpman Drama triangle behaviours, and the basement behaviours of TOP/MIDDLE/BOTTOM, Richard noted an overlay of balcony behaviours onto the Drama Triangle, making it a hexagon. The drama triangle seems to describe behaviour more easily the TOP/MIDDLE/BOTTOM, but Barry’s Model is a lot richer.

Each of the patterns on the Karpman Drama Triangle maps to Basement behaviour of TOP’s MIDDLEs and BOTTOMs. We noted how you can see Victim, Persecutor and Rescuer behaviour in TOP, MIDDLES and BOTTOMs.

A TOP who take responsibility because they feel they are removing their help from someone is engaging in victim behaviour. MIDDLES who side with one person over the other may be PERSECUTING one side of the other, before moving to victim and rescuing.

We had a good workshop, getting new approaches that increase our variety, allowing us to describe more situations and behaviours.

If you understood everything we said, you’d be us.

 

 

 

 

Know Yourself with a User Manual for You

Title: "The Adventures of Sherlock Holmes", "Single Works" Author: Doyle, Arthur Conan - Sir Shelfmark: "British Library HMNTS 012634.m.7.", "British Library HMNTS Cup.410.g.93." Page: 275 Place of Publishing: London Date of Publishing: 1892 Publisher: G. Newnes Issuance: monographic Identifier: 000977457This post uses a set of questions, called “User Manual for Me“, by Cassie Robinson. (ht Mike Watson @herdimmunity)

Cassie’s idea is that answering a set of questions about how you prefer to work and interact with people lets people can help you work together better. In an ideal world, you’d know more about people around you, and they’d know more about you.

These questions seem ideal for framing as clean interviewing questions, with following clean questions that can help the client get deeper knowledge of themselves. They can choose to share these insights with colleagues of not.

In this post I answer these questions for myself, and then suggest contextually clean following questions that could be asked.

 

Warning Required?

I’ve had a mixed reaction when talking to friends and colleagues about Cassie’s questions, which all came down to safety. If you’re in a team and everyone wants to do this it would be great. If there is anything like hostility this soft of thing in the team then it’s not something people seem happy about. If you’re in charge, don’t force this on anyone.

Warnings aside, if you’re in a good team, or want to know this to share with a few colleagues then these questions are excellent in helping others understand you.

In this post I’ve suggested contextually clean versions of the questions, and contextually clean follow ups questions to my answers.

What are Contextually Clean Questions?

Clean Interviewing is a way of asking purposeful questions that contain a minimum amount of the questioners thoughts, ideas, opinions and suggestions. These questions are contextually clean.

Clean Interviewing allows the client to express their understanding with the minimum influence from the questioner, and can lead to unexpected insights.

More information is on the Clean Language Wikipedia page which has been recently updated by James Lawley.

The contextually clean versions of the questions pretty much wrote themselves. Cassie’s heading were pretty clean already. I’ve added some contextually clean follow-up questions to my own answers in green, as an example of how the User Manual questions could be followed up with contextually clean questions.

By Cassie Robinson

My Answers and some potential follow-up questions

Contextually Clean follow-up questions in green.

Conditions I like to work in.

(Contextually Clean Question: What are the conditions you like to work in?)

I need variety. I get ideas by talking to people and hearing their ideas and perspectives. The conversations don’t need to start with the goal of having an idea. I like face to face interaction.

Is there anything else about the ideas from face to face interaction?

If I’m reading detailed information, or doing technical problem solving then I work best alone, but I need to get feedback on my work if I’m not making progress. I can stubbornly bang my head against a problem for far too long. It’s effective, but perhaps not always efficient.

(There is already a contextually clean question about feedback later.)

I need to read and annotate paper copies. I don’t read or understand well off a screen. Sorry trees.

I move around to get unstuck, or if I’ve got something to think about. I work well on the move.

Are some ways of moving better than others?

Is there anything else about getting unstuck?

The times/hours I like to work

(Contextually Clean Question: What are the times and hours you like to work?)

I start thinking early, when I wake up. I re-run what I learned the day before, and plan for the day before getting out of bed. Cycling to work is time when I work through problems, so I arrive primed. I then really like to make progress. Meetings and major task switching here can really stop progress for the day.

What happens when you re-run what you learned the day before?

Is there anything else that needs to happen before you’re primed?

After lunch I’m better at discussing ideas and meetings, unless I already shared the ideas I had in the morning. Mid afternoon I get a second window to work well on technical problems.

Is there anything that needs to happen before the second window to work on technical problems.

I read and write well in the mornings and evening, from 9.30 till about 11.15pm.

If something is difficult and interesting enough I’ll be mentally working on it all the time…

What makes something interesting enough for you to be mentally working on it all the time?

The best way to communicate with me

(Contextually Clean Question: What way of communication is best for you?)

I like communication to be in person, followed by a written overview of any actions I have. I work best if I understand your purpose, and goals. I’ll figure out the best way I can help you reach them.

How do you like someone to express their purpose and goals?

How would you figure out the best way to help?

I’ll also tell you if I can’t make sense of your purpose and goals. I’m good at juggling multiple perspectives, so I like these perspectives to be in the open.

The ways I like to receive feedback

(Contextually Clean Question: How do you like to receive feedback?)

I like feedback to be quick, and to include context. Face to face feedback is best, as I can misunderstand written feedback easily.

I like feedback to focus on what I did, and ideally to  suggest areas for improvement, without being prescriptive. I’m continually increasing my understanding of how I work and learn. I need feedback for this.

Things I need

(Contextually Clean Question: What do you need to be at your best?)

I need to understand purpose. I’m not the best at following a process, without understanding why. I may need someone to listen if I have an idea for improving a process too. That’s what I’m good at.

Where do your ideas for improving a process come from?

I need to be trust to do the right thing. I sometimes express an idea that doesn’t seem to follow from the facts. I need people to ask me to fill in the gaps in my thinking and explanation.

Where do the ‘gaps’ in your thinking and explanation come from?

I need something to be curious about.

What’s that curiosity like?

I need reminders for things I may have forgotten, and for people to ask how it’s going.

Things I struggle with

(Contextually Clean Question: What do you find difficult? I think the difficult is cleaner than struggle..)

I struggle following a process, and using ‘we just followed the process’ as an excuse when we knew there were problems.

When following a process, what would you like to have happen?

I struggle with making sense of dense text when a diagram would work better. I may miss an important point if it’s hidden in lots of unimportant text.

My short term memory is almost non existent. it’s not a reflection on my intelligence.

Things I love

(Contextually Clean Question: What things do you love?)

I love

  • a challenge
  • designing and building things that other people find useful
  • learning and making useful connections between ideas
  • The ‘aha’ moment when something clicks
  • bullet points
  • helping people with the things above, and solving their problems

What happens before you build something people find useful?

Other things to know about me

(What would you like people to know about you?)

I need to draw something to explain it to you. Even if there is a perfectly good drawing in front of me, I need to draw it again while talking.

I like ideas. I can sometimes be a bit enthusiastic. I like to talk.

I can often quickly analyse a situation, and figure out a course of action, or the events that led up it. I can think this much quicker than I can articulate why. I quickly model situations, and run accurate scenarios against them.

Extra Question Suggestion

How I learn things

(Contextually Clean Questions: How do you learn things?)

I learn things best when they extend something I already know. It’s like a need a hook to hang new information on. I also need to learn the principles, context, and any constraints to the information or tools I’m using. When I learn things I’ll remember them by understanding the principles and context, rather than the facts and process.

How do you get hooks to hang new information on?

I’ll learn something new by relating it to the information I already have, and any similarity of context, patterns or constraints.

 

I hope to ask these questions with friends and colleagues soon.  Know Yourself is a popular phrase in philosophy and I think Cassie’s questions, followed up with Clean Interviewing questions is a great way to start knowing.