Once you’ve learned how to code and have several years of experience, what is the next step?
Modern software engineering has long rejected traditional enterprise architecture’s big, up-front, framework-heavy approaches. This leads to the question of how we bring about quality in the solutions that we build.
Residuality Theory is 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.
The problem that Residuality Theory solves is that most projects fail because the architecture is not good enough to cope with complex environments.
Architecture has no theoretical base and is built on myths and rumours. Residuality makes architecture scientific, and as a result, it is lighter and faster, eliminating all unnecessary ceremony.
Join the three-day in-person Advanced Software Architecture with Residuality Theory 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.
The Trainer
We had the pleasure of seeing Barry O’Reilly in action during a previous edition of his workshop, and we truly appreciated his deep knowledge and incredible clarity.
Barry O’Reilly has held leading roles at global software companies and has spent many years educating architects.
He is currently pursuing a Ph.D. in Complexity Science and Software Engineering at The Open University.
Barry O’Reilly is the author of the cutting edge books:
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
Target Audience
The Advanced Software Architecture with Residuality Theory Workshop workshop is suitable for:
- senior developers who want a head start in the world of architecture, who are suspicious of old-school lines-and-boxes architecture frameworks,
- architects and senior developers working in complex environments,
- teams embarking on large, risk-filled projects,
- 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.
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.