Software is complex and made from slime.

It is complex both in the everyday sense, and in the more technical sense used by complexity science. It is slime in that software is continually forced to engage with real world systems very unlike the laws of highschool physics, systems where rules are very local and contingent. William Wimsatt calls this "ontological slime".

This complexity is why agile software development and design are effective, including the usefulness of human feedback and of reducing localised complexity in code. We also have an agile idea, from Peter Naur, that a large part of programming is building and improving a model of the system in the programmer’s head. What does that imply about the worldview of an effective programmer? Because software is a complex system, a great developer needs survival techniques for navigating and building beautiful machines out of causal thickets and ontological slime.


Outline/Structure of the Talk

  1. 00-15 min Intro and Background
    1. Software Is Complex, Has meaning determined by use
    2. Programming is
      1. Engineering in computational materials - Feathers / Ainsworth
      2. Theory building - it happens mostly in your head, in dialogue/game with code as artifact
    3. This tells us something about the world … Or at least the worldview we need for programming
    4. Agile and pragmatic philosophy
  2. 15-30min Software as complex system - Ladyman and Crutchfield’s 8 criteria for a complex system (main place to cut down if needed)
  3. 30-45min Slime and Causal Thickets
    1. William C. Wimsatt - Re-engineering Philosophy for Limited Beings
      1. Some physical regularities, like gravity, seem to extend throughout the universe; others may be more local
      2. causal thickets, “ontological primal slime”
    2. The everyday work of a programmer is building theories out of ontological slime: Wimsatt + Naur
      1. Hospital example - intersecting complex domains
    3. Refactoring - when common structural elements in code are found across these local pockets of understanding, complexity radically reduces
      1. Parnas / Feathers
    4. Software development is construction from both planes of regularity and vast quantities of refined ontological slime

Learning Outcome

Lightning strike of inspiration into the very nature of software. Skills gained: causal thicket identification and ontological slime gardening. A good way to survive being lost in a forest of thorns is to realise you are in one.

Target Audience

Developers, Managers, Testers, Designers, Lost Philosophers

Prerequisites for Attendees

Development experience and some patience with a handful of colourful and useful jargon from philosophy of science.

schedule Submitted 2 years ago

Public Feedback

    • 20 Mins
      Experience Report

      This experience report shares how ‘Skill the Gap’, a not-for-profit organization, is building the leaders of tomorrow using Agility and thus making sure the next generation have great places to work.

      We are doing this by upskilling ‘first job seekers’ from schools and universities in the core individual, team and leadership skills needed for Agility. This is done globally at scale and at no cost to the participants.

      What do these ‘new collar’ workers need in terms of skills that they are not getting today and how do they get them at no additional cost? We help bridge ‘the gap’ between what schools and universities deliver and what businesses need.

      57% of worldwide leaders say that it’s the soft skills that are more important than core competencies in this dynamic digital world. So, what are these skills and how do we plan to upskill 1 million first-job-seekers in the first 2 years of operations?

      “Team working is an individual skill” and training, coaching and equipping the next generation with these key skills before they enter the work place will enable them to be successful from day one and go on to be great leaders.

      We don’t stop there…we also place them at our sponsor organizations, thus giving them the opportunity, they need to shine. The sponsors enable us to give the students these skills at no financial cost.

      We will share our initial experiences and feedback, the 4 pillars of our curriculum and the 40 micro modules of magic.

      We use ‘training from the back of the room’ techniques, volunteers in 4 continents and a unique curriculum, to embed the learning and couple it with mentoring and coaching to deliver a unique learning experience that is scalable and is being currently rolled out in 6 cities from Miami to Melbourne.

      Check out for more details.

    • Vered Netzer

      Vered Netzer - agile Leadership - why the army is the most agile organisation I've ever been in

      Vered Netzer
      Vered Netzer
      Transformation Leader
      schedule 2 years ago
      Sold Out!
      20 Mins

      It is time to talk about ‘agile Leadership’.

      Reflecting on 7 years of experience in the Israeli army I’ll be sharing stories and insights about how the army REALLY operates.

      The army is not as ‘Command & Control’ as people commonly expects – it is much more empowering and agile than you’d think.

      At the army, I’ve learnt the true meaning of cross functional teams, the importance of reflection, feedback, creative problem solving, trust, teamwork, conflict resolution, resilience & responding to change.

      This talk will be intertwined with army (and civilian) war stories & tips for leaders in an agile world. This talk aims to inspire a new wave of Agile Leaders, through sharing examples of effective leadership, it draws on real, lived experiences and concepts (directly from the ‘horse mouth’) as well as useful takeaways that attendees can take back and apply to their work.

    • 20 Mins
      Experience Report

      Evolving an organization to use more agile techniques often means re-evaluating the role of dedicated QA teams common in waterfall development processes. In software organizations that develop a large platform with a group of agile development teams, there is still a need to ensure quality at a product and platform level. As one solution to this, this talk introduces the idea of Platform QA, a dedicated team of QA specialists with responsibility to the entire product, and the platform that delivers it. Platform QA is a feature team that works on a backlog of quality risks and has ultimate ownership of shared artifacts such as end to end (BDD) tests and QA environments. This talk discusses differences between waterfall QA, platform QA and embedded QA, examples shared from my own experience, and conditions where this solution may make sense as a transitional or target organizational structure.