{ systems thinking }

  • A Seven-Step Primer on Soft Systems Methodology

    I’m currently TAing for CSC2720H Systems Thinking for Global Problems, a graduate-level course on systems thinking. In class today we talked about soft systems thinking (SSM), an approach which uses systems thinking to tackle what are called “wicked problems“. I thought I’d outline one approach to SSM, as it’s useful to CS education research.

    Step 1: Identify the domain of interest

    Before you can research something, you should first decide what your domain is. What topic? What system are you studying? For example, “teaching computer science” could be your starting point, as could “climate change”.

    Chances are you’re looking at a wicked problem. Conklin’s definition of wicked problems are that:

    1. The problem is not understood until after the formulation of a solution.
    2. Wicked problems have no stopping rule.
    3. Solutions to wicked problems are not right or wrong.
    4. Every wicked problem is essentially novel and unique.
    5. Every solution to a wicked problem is a ‘one shot operation.’
    6. Wicked problems have no given alternative solutions.Because you’re looking at a domain which doesn’t have a clear definition or boundaries, you’ll first want to immerse yourself in the domain. One trick is to draw “rich pictures“, which are essentially visualized streams of consciousness.

    You should also think about what perspectives you bring into this domain. What biases and privileges do you have going into this? Why are you interested in this domain? What do you have to gain or lose here?

    Step 2: Express the Problem Situation

    A good expression of a situation should contain no value judgments. As a heuristic, ask yourself if it’s possible for somebody to not see your statement as a problem.

    For example: “Global surface temperatures on Earth have been increasing since the late 19th century” is a statement some people may not even see as a problem, whereas “Climate change will destroy our way of life” presents climate change as a problem, rather than as a situation.

    The goal of expressing a situation is so that you can then identify the different ways people would frame this as a problem. If you express the situation as inherently problematic, this will narrow the problem frames that you’ll think of.

    It may take you a few drafts to come up with a situation statement you’re happy with. That’s fine; SSM is an iterative process. You may find in later steps you’ll want to come back here (or to earlier steps) and revise your work.

    Step 3: Identify Different Problem Frames

    How you frame a situation will affect the types of analysis and solutions you’ll come up with. Your next step is to think of the different ways the situation could be framed, before you pick which one to proceed with. I’ll give three examples.

    Situation: A large fraction of undergraduate students fail in first-year CS. 
    Some problem frames:

    1. The context is problematic. Students are overburdened in all their classes, and have a difficult time adjusting to university study.2. The curriculum structure is problematic. CS1 material builds on itself to an extent that other first-year classes don’t. If you fall behind, it can be impossible to catch up.
    2. The amount of content is problematic. We pack too much material into CS1 for students to properly absorb and understand.4. The pedagogy is problematic. We just aren’t teaching CS1 effectively.
    3. The affordances are problematic. We teach CS1 using programming languages which don’t reflect how non-programmers reason about computation (e.g. while loops vs. until loops) 
    4. It isn’t a problem. The failure rates, while high, are consistent with other first-year courses.7. Computer science is inherently difficult for humans to learn.
      Situation: Computer science is not available in every high school in Canada.
      Some problem frames:

    5. If the general population doesn’t learn about CS, they won’t be able to properly participate in a 21st century democracy. Issues of privacy and security are poorly understood but necessary for democracies to address.

    6. Not enough young Canadians are equipped with the necessary computational skills for the workforce.3. CS is generally only offered at affluent, urban, schools. This causes racial and class disparities in access to CS, and in turn, to lucrative jobs.
    7. Fewer girls than boys take high school CS; if more girls could take high school CS it could reduce the gender gap.5. There aren’t enough qualified high school teachers to teach CS in every school.
    8. Schools are underfunded and overburdened.
    9. This isn’t a problem, schools should be focusing on other topics instead! 
      Situation: The percentage of women completing undergrad CS programmes hasn’t changed since the wide-scale creation of women in computing initiatives.
      Some problem frames:

    10. The initiatives are being undermined by the same external forces that created the gender disparity in CS.2. The initiatives are themselves faulty. They reinforce gender norms and the subtyping of “female computer scientist” != “computer scientist”.

    11. The initiatives are having a positive impact, but not in ways this measurement can capture. For example, they improve the personal experiences of the women in the field, but don’t change the numbers.
    12. Without the initiatives, the percentage would have decreased. Before the initiatives, the percentage was decreasing; it has since flatlined.

    Step 4: Study the problem frames and pick one

    At this point you’ll want to start doing a literature review. As you review the literature you’ll find different papers take different problem frames (explicitly or implicitly).

    Each problem frame will lead to different approaches to studying and “solving” the problem. Let’s return to the CS1 failure example:

    Situation: A large fraction of undergraduate students fail in first-year CS.

    1. The context is problematic. Students are overburdened in all their classes, and have a difficult time adjusting to university study. 
    • Possible solutions: increase financial aid, reduce course load 2. The curriculum structure is problematic. CS1 material builds on itself to an extent that other first-year classes don’t. If you fall behind, it can be impossible to catch up.

    • Possible solution: reconfigure the CS1 material to be breadth-first, like they have at Harvey Mudd3. The amount of content is problematic. We pack too much material into CS1 for students to properly absorb and understand. 

    • _Possible solutions: _spread it out amongst more classes, get CS1 in all high schools4. The pedagogy is problematic. We just aren’t teaching CS1 effectively.

    • Possible solutions: use peer instruction and/or pair programming 5. The affordances are problematic. We teach CS1 using programming languages which don’t reflect how non-programmers reason about computation (e.g. while loops vs. until loops) Ultimately for your research you’ll need to pick a single problem frame to work within. At this point you should choose one and justify why you’re picking that one rather than the other ones. Once you’ve picked your problem frame you’ll want to carefully review and analyse the relevant literature.

    Step 5: Arena of Action

    Think about your problem frame like you’re framing a photograph. Who or what is in the foreground? In the background? Not in the frame at all?

    Or, if you see your situation as an arena: who is in the arena? Who is being affected by the situation? Who has the power to change the situation? Who benefits from this framing, and who loses out?

    CATWOE Analysis can come in here: who are the customers/clients? The actors? The transformation process? What’s the world view underlying this? Who “owns” or controls this? What environmental constraints are there?

    When I took a class on policy analysis, some questions we asked were: “Why was this policy adopted? On whose terms? Why? On what grounds have these selections been justified? Why? In whose interests? Indeed, how have competing interests been negotiated?” as well as “Why now?” and “What are the consequences?” (from Taylor et al, 1997, “Doing Policy Analysis”)

    Step 6: Theorize/model the relevant system

    Having identified your problem frame, you’ll want to return to the system at hand. Depending on the problem, you may want to model it and/or theorize about it based on the existing literature.

    Once you have a model, compare it to real world evidence. You may have to design and perform empirical studies in order to accomplish this.

    Step 7: Identify possible/feasible changes to the situation, and take action

    Like it says. Soft systems methodology was created for action research, a style of research intended to create social change. In this paradigm, research is bad if it doesn’t help improve the situation.

    Your goal in doing this research is to identify changes to the situation which are both possible and feasible. You should identify who has the power to enact these changes. Challenge yourself: contact these people and share your findings. Advocate for your proposed solution.

  • A quick and dirty introduction to Bourdieu for systems thinkers


    I’ve been on a Bourdieu kick for the course I’m currently taking on social theory (LHA 1803Y: Theory in Higher Education), and since Steve Easterbrook mentioned he wasn’t familiar with Bourdieu, I figured I’d write a quick and dirty introduction to Bourdieu’s social theories. Steve’s a systems thinker so this is written for such an audience.

    In systems thinking we like to think of people as existing in many (overlapping) social systems (because, after all, pretty much everything to a systems thinker is a system.) These social systems can be things like school, work, a professional community, or even your favourite internet community.

    Bourdieu would call those systems fields. (Specifically, a field is a system of social positions, with internal structure.) In his terminology, the rules determining the system/fields are known as nomos. (Fields are not the same as class, which I’ll get to later.) When people in fields ‘play by the rules’ of the system, and invest in it, he calls this illusio.

    If you’re wondering if he also has paradigms in his systems, the answer is yes! He calls them doxa, the concepts and ideas which go without saying as it comes without saying – “the universe of possible discourse”.


    As an individual, I interact with numerous fields. There are two things that matter about me in how I interact with these fields: my capital, and my habitus.

    Bourdieu distinguishes numerous forms of capital:

    • economic capital, how many financial assets I have
    • social capital, who I know, my social networks, what I can get out them, etc.
    • cultural capital, the knowledge, skills, advantages and education that I have – along with the cultural ‘know-how’ of how to navigate particular social situations
    • symbolic capital, the resources available to me on the basis of honour, prestige, recognition, or my other forms of capitalA thing worth noting about capital is that its value is context-dependent. For example, my knowledge of Star Trek trivia (which is cultural capital), has use in nerdy fields like computer science, but less so at gatherings of my extended family. Similarly, my Canadian money is of lesser value outside of Canada, and even less value were I to visit a society with a bartering or gift-giving economy.

    As for habitus, the description on Wikipedia wraps it up nicely: “the habitus could be understood as a structure of the mind characterized by a set of acquired schemata, sensibilities, dispositions and taste”. Your habitus is developed in part through socialization. Bourdieu conceived of habitus as a way to study the interaction area between individual and society – in software engineering terms you might think of your habitus as being the coupler between an individual and society.

    Every individual has a habitus – but likeminded individuals together can have group habitus. For example, a class habitus would refer to sensibilities, dispositions, tastes and ways of thinking about the world that are common to a social class.


    Unlike previous social theorists like Weber or Marx, Bourdieu’s view of class is not based on just economic capital, but instead on all capital (social, cultural, economic, symbolic). For me this is an appeal of Bourdieu: it explains why a ‘blue collar’ tradesman making the same amount of money as a ‘white collar’ adjunct are not really the same class.

    Much of Bourdieu’s work looks at the reproduction of social inequality. He identifies feedback loops (though not by name) of what keeps the classes separate – and cultural capital plays a major role. How much cultural capital a person has, and to what social standing they are born, are determine their social mobility.

    Those with a large amount of cultural capital in society are able to determine taste in society – such as what is low-brow vs. high brow (and everything in between). And people judge other people based on taste – does somebody ‘fit’ into a particular field? When people don’t fit in to a particular field, symbolic violence is used to keep them out or make them feel uncomfortable. Symbolic violence (also known as symbolic power) comprises things like implicit biases, microaggressions, de facto discrimination, and all that other lovely stuff that’s used to “keep them in their place”.

    Symbolic violence allows for the reproduction of social divisions. A kid growing up in a working class family is going to have less access to means of accumulating cultural capital, is more likely to be affected by class dispositions to not value education as highly, and is more likely to say and do things when interacting with intellectuals that make them stick out like a sore thumb. Indeed, Bourdieu focuses extensively on the little things that stop people (or allow people) to accumulate capital – what they wear, the things they say, the hobbies they have – for him it’s all about the gain on the feedback loops here. The word ‘accumulation’ tends to come up a lot.


    The stories women have of not feeling like they belong in tech/CS are the type of thing very amenable to a Bourdieusian analysis. Indeed, his early work focused on how the French university system amplified social inequalities (both in terms of gender and of class – and the intersection of the two, well before the term _intersectionality _took off).

    His work has been used quite a bit by sociologists to look at the reproduction of social inequalities – for example, a recent study used Bourdieu to examine how low-income minority ethnic groups feel alienated when they go to science museums – and why they don’t really go to them in the first place (hint: habitus plays a role – they have not been socially conditioned to see museums as a thing worth going to).

    In many ways Bourdieu was a systems thinker – he thought of feedback loops, systems-within-systems, and systems-level behaviours, structures, rules and paradigms – but did not have the systems thinking vocabulary available to him. While he was active at the same time as the Systems Thinkers in the English-speaking world, few Systems Thinking based books have been translated into French – and most of the translations happened after Bourdieu died in 2002 (for example, Limits to Growth wasn’t translated into French until 2012!)