Senior IT Consultant and sociotechnical practitioner.
IT-arkitekt og sosioteknisk utøver
Trond is an IT architect and sociotechnical practitioner from the consulting firm Scienta.no with many years’ experience working with large, complex, and business critical systems, primarily as a developer and architect on middleware and backend applications. His main interests are service-orientation, domain-driven design, event driven architectures, and open sociotechnical systems, working in industries like telecom, media, TV, and public sector. His mantra: great products emerge from collaborative sensemaking and design.
Trond tweets at @trondhjort and blogs at www.linkedin.com/today/author/trondhjort
Trond er en IT-arkitekt og sosioteknisk utøver fra konsulentselskapet Scienta med mange års erfaring fra store, komplekse og forretningskritiske applikasjoner, primært som utvikler og arkitekt på mellomvare- og backendsystemer. Hans hovedinteresser er tjenesteorientering, domene-drevet design, hendelsesdrevet arkitektur og åpne sosiotekniske systemer, da benyttet i bransjer som telekom, media, TV-distribusjon og det offentlige. Mantra: Gode produkter blir til gjennom tett designsamarbeid.
Area of Expertise
Intentional Architecture - Applying open sociotechnical systems theory to evolve software organisati en
Are you tired of the constant pressure to adapt and evolve in a fast-changing and increasingly unpredictable world? Do you struggle with the complexity of software development, the difficulty of evolving your architecture, and the rising cost of change? It's time to put people at the centre of your design process with open sociotechnical systems. In this 2-day workshop, you'll learn how to apply principles of open sociotechnical systems, Domain-Driven Design, Wardley Maps, and Team Topologies to create a more effective, resilient, and adaptive organisation. Say goodbye to accidental complexity and hello to a brighter future for your software and your organisation. Don't miss out on this opportunity to learn and grow with us!
In this 2-day workshop, you will learn about open sociotechnical systems design, which prioritises people and practices in the design process. Through interactive and practical exercises, you will apply principles of open sociotechnical systems design, Domain-Driven Design, Wardley Maps, and Team Topologies to explore and design systems that make people an integral part.
You will also learn how to recognise the impact of the environment on sociotechnical systems and create evolutionary paths for the architecture (both business, product and IT). These principles and practices can be applied to create a more effective and resilient organisation, regardless of whether you are a technical or non-technical professional. This workshop is suitable for anyone responsible for any decision about the architecture (business, product and IT) in an organisation.
## What is this workshop about
The world is constantly changing, and software plays an ever-increasing role in this change. Companies that leverage technology, such as software, are under pressure to adapt. To support a fast flow of change, we can’t just apply old methods that don’t support the organisation's adaptability and treat it as an open and exposed system. We might recognise some consequences of those old methods: accidental complexity keeps growing in your software, people find it incredibly difficult to evolve the system, and the cost of change is rising exponentially. Last but not least, the pressure on people is increasing, and their well-being is at odds with technical progress.
In this workshop, we will explore open sociotechnical systems thinking, which gives equal weight to social and technological aspects and puts people back in the centre of the design. This approach profoundly impacts how we do architecture and organise people to deliver value. We will combine the open sociotechnical systems theory principles with Domain-Driven Design, Wardley Maps and Team Topologies. By combining those principles and practices, we will explore the environment around the organisation, discover and discuss sensible boundaries for the teams and architecture, and generate options for the evolution of the sociotechnical system.
The workshop is dynamic and interactive. It has the foundations in the research of open sociotechnical systems, together with the principles and practices of Domain-Driven Design, Wardley Maps and Team Topologies. The workshop is designed with several practical exercises in small groups. We will resort to different visual collaboration tools to support the discussions.
Whether you are a technical or non-technical professional, this workshop is for you. Join us and learn how to apply these concepts, principles and practices to create a more effective, resilient, and adaptive organisation.
## Learning goals
- Understanding what an open sociotechnical system is and what the design principles of it are
- Applying Domain-Driven Design, Wardley Maps, and Team Topologies to explore and design open sociotechnical systems that put people in the centre
- Recognise that we operate in an unpredictable environment and how its complexity affects the sociotechnical system (and vice-versa)
- Discover how to create evolutionary paths for the architecture (IT, product and business) and be intentional about its options
- Participating in interactive and practical exercises to apply these concepts and principles in small groups using visual collaboration tools
- Understanding how these principles and practices can be applied to create a more effective and resilient organisation, regardless of whether you are a technical or non-technical professional
Modularity is a common tool we use to deal with complexity, grouping things into neat boxes that let us focus on a small part of a larger system in isolation. We have probably done it this way for aeons. This changed with the introduction of a new way of looking at reality, a new framing frequently referred to as systems thinking. We learnt that any non-trivial system is defined by the interconnectedness of its parts and that the parts themselves are described by its role in the whole. It no longer made sense to view the parts as independent entities. Another realisation made was that some systems are closed and some are open to its environment, which change the playing field even more. Not only are parts dependant on the whole, the whole is also in a intimate relationship with its surroundings.This new framing opens up a new door to a whole new world, where unpredictability is abound and we no longer can safely use mechanistic tools like analysis and reductionism, expecting full determinism.
In this talk we will explore the impact this perspective has on us as developers of IT system, with our desire to create stable, predictable and robust solutions for the business and their users. How is that at all possible in the VUCA world of open systems where everything is connected to everything and where it all is in constant motion? Herding cats, anyone?
New talk done once as a short version for API Days 2021.
The world around us are getting ever increasingly hard to understand and predict in the way that we are used to. Simply taking a system apart and studying the elements and making useful models out of them seems to fail more often than not. Systems thinking is by many regarded as an essential tool for dealing with this kind of complexity, where unpredictability and ambiguity is the name of the game. The thing is that even though systems thinking is regarded as a new science, it is not an easy task to get a hang of. Not only is it mind-bending and frequently counter-intuitive, there are also numerous different schools of thought that frames things very differently and are useful for different things.
In this talk we will take a look at some of those schools of thought, with a specific focus on open systems as those are the kind of systems we frequently have to deal with in software development that is fundamentally a socio-technical enterprise. We will look into how important the environment is when dealing with such open systems and how we then collectively using participative democracy can deal with much of the complexity that the extended social field expose us to. We will see how we as a social system can become a learning organisation, which not only can adapt and be resilient, but even actively affect our futures. With the theory and the practices from open systesm theory under our belt will we not only cope better, we can actually thrive and build a better world for us all.
This a general intro to open systems theory and is based on a number of prototype talks held at different meetups and internal conferences. See https://www.linkedin.com/in/trondhjort/ for recordings.
The IT industry is struggling to find better ways of working with technology that progresses at an ever-increasing rate and where workers are demanding more participation in the design of not only the products but also work itself. The publication of the agile manifesto was a pivotal moment and the values and the principles described there seems to have a lot in common with something that started in the British coal mines 25 years earlier. Sociotechnical systems design has a similar focus on democratisation of work but contrary to agile it has been properly researched over the years to find ways to jointly optimise the technical and social aspects of an organisation. This did not just make the them perform better, but also made them more adaptable, resilient, and improved the quality of work life for all involved.
In this talk we will take closer look at open sociotechnical systems thinking and compare it to agile, seeing where they overlap and diverge. We will take a look at the methods and theoretical underpinnings developed in social sciences over the years that our industry needs in order to cope and even thrive in our increasingly complex and hazardous “digital coal mines."
Talk based on years of experience with agile way of work and a detailed study of the sociotechnical system design literature. Previous talks and blog post that touch on similar topics are available at https://www.linkedin.com/in/trondhjort .
Most of us have been taught that analysis is the way to deal with complexity, breaking the problem up into small manageable parts and treat them in isolation. Systems thinking puts a different spin on this, showing that synthesis is equally important to fully understand a system, especially in order to get a grasp of the emergent behaviour that are not explainable based on the parts alone.
In this talk we will take a look at these two paradigms, reductionism and holism, investigating how taking a wider view can provide important insights and knowledge to handle the complexity in domains we normally work in, especially where people are involved be it user stories, microservices, and architecture. We will also see that those of us with a STEM background ought to take clues from social sciences about how to approach software development. That enterprise is inherently a sociotechnical system and we therefore need to learn how to jointly optimise both the technical and the social. Only then can we build sustainable and thriving software systems.
This is an introduction to systems thinking and its importance when dealing with complexity.
Modularity is a key aspect of software and architectural design, setting explicit boundaries between different parts of the system. But we have been banging on about this since the 70s, and still we are creating big balls of mud -- now even the distributed kind. Either modularity as a concept is insufficient or maybe there are aspects here we seem to get wrong. We know that good fences make good neighbours, but only when the boundaries are placed correctly. How can we create robust and sustainable modular designs when identifying those boundaries are so challenging?
In this talk, we are going to take a closer look at why modularity is needed, what it actually can do for us, and how we can increase our chances of getting it right by taking a systems thinking approach. The claim made is that a holistic view of the problem space is critical; one that consider all its parts, including the business and all the people affected. Software development today is a inherently a sociotechnical endeavour and any modularisation effort, be it information hiding, SOA, microservices, DDD, Team Topologies and more, must take this into account in order to be able to create solutions that are sustainable and have the necessary conceptual integrity. Maybe this will guard you against the dreaded distributed big ball of mud, the killer of agility and productive collaboration.
New talk that builds on the previous talk and blog post of mine, "Microservices Without DDD is Risky Business!", which are available at https://www.linkedin.com/in/trondhjort, extended with basic systems theory,
Service-orientation is still a surprisingly hard and complicated endeavour after all these years and the risk of getting it wrong, potentially ending up with a distributed monolith with its tight coupling, fragility, and high cognitive load, is still very real to many. Our industry is fairly immature and moves so fast that internalising acquired knowledge seems difficult and we often go through cycles of re-discovery of findings made decades ago. Maybe some SOA practitioners from the previous attempts made some breakthroughs that we have missed as we now have another go with microservices?
The concept of business capabilities from business architecture can be one approach to take a closer look at, with its holistic outside-in perspective of the company. The capability vantage point inherently abstracts away the 'what' a company does from the 'how' , describing the essence of what the business offers. In this talk we will take a closer look at what they are and what they can help us with, all the way from business strategies and analysis, via organisational design to data management and technical design. They may just be the tool we need to design services, micro or not, as parts in a business aligned sociotechnical system, where people, information, processes, and technology are jointly driving business outcomes.
Have done this talk a few times before, at KanDDDinsky 2018 in Berlin, muCon 2019 in London, and JavaZone 2019 in Oslo, where it has been well received and created interesting discussions. Business capabilities and their use in sociotechnical systems design seems to be new to most. Recordings of previous talks can be found on my LinkedIn page https://www.linkedin.com/in/trondhjort/.
Just about everyone is doing microservices these days, at least that's what they're claiming. Microservices is the new black! But, how well are they really doing? When breaking things up there is a risk of ending up in the same rut as SOA did a decade ago, this time creating distributed monoliths. Is it at all possible to reach the promised land consisting of autonomous, cohesive, and loosely coupled services that can give your business the necessary agility in a competitive market?
Scientific research has shown that loosely coupled and well-encapsulated architectures is the most central factor in IT success, but it is critical that it is done the right way. Domain-driven design is often mentioned as an essential technique, especially modularising using bounded contexts that reflects the business domain. Combined with service-orientation this can lead to sustainable designs rooted in and governed by the business strategy. We will have a closer look at central aspects from both tool boxes, focusing on designing robust and autonomous modules that can be built and maintained independently by stable product teams. Since the business agility is constrained by the technical agility, these teams can now focus on building great products instead of fighting the architecture.
This is my oldest talk, actually first held in 2016. It has evolved a lot since then, with more data from the industry and personal experience. Have done it both online and live at conferences like NDC, Build Stuff, NDC. Recordings have gotten 7k+ views on YouTube, links can be found on my LinkedIn page https://www.linkedin.com/in/trondhjort/.
Are you in a company that is customer obsessed, striving to create solutions that focus on the user needs and desires? Maybe you even try to build those solutions together with the customer, involving them in the actual design by building incrementally using mock-ups, pilots, and MVPs? How can we build stable and sustainable IT solutions in such an highly agile environment?
In this workshop, we will take a close look at a technique that came out of the agile community; user story mapping. The original application was to get control of the product backlog, making it explicitly connected with the user interaction and help discovering delivery slices that are viable for the user. Its applicability can also be extended to include other phases of the product delivery, all the way from the initial ideas and inception, creating coherent customer journeys, to the continuous enrichment and maintenance of the product after the initial deliveries. Story mapping is not only a tool for product discovery, but also domain modelling and product delivery, being a tool to cross the chasm between business, UX, and IT.
We will create a map for a concrete product taken from the pay TV domain, trying to follow all the phases of the product discovery and learn the intricacies of the domain along the way. The user need is the main driver here, but will also be constrained by company strategies, IT legacy, organisational structure, and many other factors. We will also see how the map can be used to handle changes in requirements as well as explore how one can incrementally construct the product to shorten the essential feedback-loop.
This is a 2 hour session, focusing on the story mapping technique.
Når vi bryter opp koden i moduler hensyntatt vi alt for lite grad de sosiale aspektene ved løsningen, for eksempel hvordan det vil påvirke teamene og deres samarbeid. Vi trenger moduler som ikke bare gjør oss effektive, men også harmoniske og sosialt bærekraftig.
Vi vet godt at gode gjerder gir gode naboer, men bare når grensene er satt på et godt sted. Vi skal se nærmere på hva som gjør modulære løsninger så nødvendig, hva det faktisk kan hjelpe oss med, og hvordan vi kan øke sjansene for å få dette til ved å ta et systemperspektiv, spesielt en sosioteknisk tilnærming.
Modulariseriing med ekstra fokus på de sosiale elementene.
Begrepet "sosioteknisk" ser ut til å ha fått en renessanse den siste tiden, noe som er oppløftende med tanke på den positive effekten denne tilnærmingen har hatt for organisasjoner og deres ansatte verden rundt siden starten i de britiske kullgruvene på 50-tallet. For oss nordmenn er det enda mer relevant siden den mest betydningsfulle forskningen på denne nye måten å organisere arbeidet på ble gjort her i Norge på 60-tallet og ble til en av pilarene i norsk arbeidsliv. Spørsmålet er da hvor relevant dette er i IT, hvor vi allerede har smidig, DevOps, og andre arbeidsprosesser. Men hva med hele systemet, som organiseringen, tilpasningsdyktigheten og trivselen?
I denne presentasjonen skal vi derfor se nærmere på hva sosioteknisk systemtenkning er, spesielt den grenen som kaller åpent systemteori. Vi skal både se på hvordan disse overlapper med smidig og hvor det er forskjeller. Tesen presentert her er at forskningen fra samfunnsvitenskapene med teknikkene og tilnærmingene brukt for å radikalt endre en organisasjons fra et byråkrati til et fullt deltagerne demokrati hvor alle bidrar produktivt er vel så relevant for oss i de "digitale kullgruvene" - antagelig enda mer.
Har holdt denne presentasjonen et par ganger før, som på Lean Agile Exchange og DDD Europe, samt noen ganger internt hos firma i Norge på norsk. Tenker derfor at norsk passer best her også.
Senior IT Consultant and sociotechnical practitioner.