Residuality Theory is a combination of software engineering, computer science, complexity theory and philosophy.
It’s a way of answering questions like, “How do we build a structured system when we don’t understand what’s actually going to happen in the future?”, “How can we commit to a particular structure when that structure might reveal to be lacking in the future”, “How do we live in a world we don’t understand?”, “How do we develop software for a world which will develop in ways we cannot predict?”
And I believe this is ultimately the primary problem that architecture should be tasked with solving.– Barry O’Reilly
Once you’ve learned how to code and have several years of experience, what is the next step? Modern software engineering has long rejected the big, up-front, framework-heavy approaches of traditional enterprise architecture. This leads to the question of how we bring about quality in the solutions that we build.
Introducing Residuality Theory – a revolutionary new theory of software design that aims to make it easier to design software systems for complex business environments.
Residuality Theory models software systems as interconnected residues – an alternative to component and process modelling that uses applied complexity science to make managing uncertainty a fundamental part of the design process.
Join this three-day in-person workshop with Barry O’Reilly and learn how Residuality Theory will help you think differently when building robust, antifragile software that is fit for uncertain times.
Target Audience
This workshop is suitable for senior developers who want a head start in the world of architecture, for teams embarking on large, risk-filled projects, and seasoned architects seeking new techniques.
It has also successfully united teams around a common definition of architecture.
Agenda
Day 1
- Philosophy of Architecture
- Concrete Complexity for Software Engineering
- Representation in Architecture
- Residuality Theory
- Networks.
Day 2
- Modelling stress: socio-economic architecture
- Defining residues
- Surviving unknown unknowns
- Producing a real-world architecture.
Day 3
- Contagion analysis and component decisions
- Adjacency matrix techniques
- Incidence matrix techniques
- Testing the architecture.
Learning Objectives
The workshop introduces ideas on the philosophy of architecture, forcing participants to think outside of the technology and relate decision-making to markets, culture, economic and societal concerns.
It teaches practical techniques in stressor analysis and the use of matrices to make component decisions and gives participants the chance to work with these techniques in labs and groups.
The workshop also successfully unites teams around a common definition of architecture.
After completing the course, participants will be better able to design and test architectures, work in environments where requirements are complex and uncertain, and effectively work with non-functional requirements.
Expect to get your hands dirty
The workshop involves learning the theory and then putting it to practical use in intensive labs where students will use the ideas in group work to design solutions and verify that the system is increasing in quality.
A laptop with Excel/Google Sheets will be required in order to join the workshop.
Why should I buy a ticket
Join Barry and learn advanced, cutting-edge techniques based on ongoing research that is designed to identify and decrease risk, improve confidence in decision making and protect your architecture when the domain is characterized by uncertainty.