I think I understood everything that was said in the video, but I don't see how it changes my workflow concretely. I start with an initial architecture, and I am fully aware that this will need to change in the future and that there are many unknown unknowns. I already adapt to change and I already extend the architecture when new functionality is requested. Sometimes these new components cover future feature requests quite well as shown in the example; sometimes they don't and further changes are needed. So I don't really understand how talking about this in terms of "stressors" and "residues" rather than "feature requests" and "services"/"domains"/"components"/... changes anything. The example of the exam/grading system made perfect sense, but I think we would have made the exact same analysis without residuality theory.
@MohamedKamal-wd8hx8 ай бұрын
I also agree, looks like just a reformulation of what we already do in the language of complexity theory!
@GauravSehrawat88888 ай бұрын
I think the point is to emphasize "Focus on residue as building block".
@DrPierredelaMora8 ай бұрын
You should watch the talk or even better read the book. In the book there’s a section on how we have a tendency to see new ideas in terms of old ideas that seem similar. The fundamental idea is one of random simulation instead of planned features and an explanation of why this works. It’s a deep topic that will take more than a short clip to understand. If you already have a process that works without failure then you don’t really need it, but you might find an explanation as to why certain parts of your process worked and others didn’t.
@markrichards50148 ай бұрын
That's a fair question and observation. Residuality Theory is essentially a different way of thinking about how to deal with uncertainty and change for complex systems, and essentially gives us a framework and vocabulary to manage these things, similar to the way patterns do. It's also a way to not try to "predict" unknown unknowns and create components (building blocks) when we have little or information. Residues become those building blocks of the architecture.
@markrichards50148 ай бұрын
@@MohamedKamal-wd8hx Correct - residuality theory has it's basis in complexity theory.
@HemalVarambhia8 ай бұрын
Mark, by residue theory would we want to have agility as an Architecture Characteristic? Thus this sounds like we want to appeal to continuous refactoring.
@markrichards50148 ай бұрын
Yes, I would agree that Agility, as well as architectural Extensibility and Adaptability, would be characteristics that would apply to residuality theory.
@HemalVarambhia8 ай бұрын
@@markrichards5014 And is there a relationship between agility and architectural Extensibility and Adaptability?
@markrichards50148 ай бұрын
@@HemalVarambhia Both have to do with the ease in which you can change an architecture, but agility means the ability to respond QUICKY to change. So yes, they are related, but different kinds of characteristics.
@agytjax6 ай бұрын
@@markrichards5014 - In which case, what does theory have to offer new? This is rehashing of good architectural principles, isn't it ?
@sid45798 ай бұрын
What is the correct order of the books to read?
@markrichards50148 ай бұрын
If you mean for residuality theory, I would start with Barry's book or video before diving into the academic papers. If you mean my three books, I would start with Head First, then the Fundamentals, then the Hard Parts.
@agvlogs94557 ай бұрын
If we look at stressor as new business requirement, would we still call it residual theory?
@markrichards50147 ай бұрын
Sure, particularly if that new business requirement came out of the blue or is something we would never have thought of. A stressor is anything that the current architecture can't support, regardless where it comes from.
@agvlogs94557 ай бұрын
Tahnk you Mark 😊
@ZahidAnsari-ER-918 ай бұрын
I know you have just scratched the surface on residuality but it does not seems very different from Micro-Kernel Architecture.
@markrichards50148 ай бұрын
Microkernel architecture is an architectural style, whereas residuality theory is a practice that can be applied to any architectural style. I get where you see the intersection-plug-ins in microkernel allow us to easily extend the architecture with additional functionality, making it easier to apply residues.
@ZahidAnsari-ER-918 ай бұрын
@@markrichards5014 hmm got it :)
@agytjax6 ай бұрын
Unless, I am missing something, what is new in "Residual Theory" ? Aren't all good architectures are built for future extensibility and adaptability ? What does this so called theory bring to the table ? Seems to me that someone published a sugar-coated thesis, which was simply based on time-tested best architectural principles to get their doctorate ! Or, Mark is not doing a great job of explaining to us, why this is different. To me, this is just old wine in a new bottle
@markrichards50146 ай бұрын
Let me address your questions: first of all, most architectures I have encountered are typically NOT built with future extensibility and adaptability in mind. If yours are, then you are WAY ahead of the curve. Pivoting an architecture these days is very hard, and usually takes a long time. Residuality Theory is a way of thinking about unanticipated change and iterating on the architecture, while at the same time providing a more formal framework along with a consistent vocabulary. It may not be the be-all-end-all of theories, but like most things, it gets us thinking about ways to make unanticipated change easier.
@agytjax6 ай бұрын
To me, this is just old wine in a new bottle to help someone get a Ph. D ! It offers nothing new At this rate, anybody can publish a paper and use fancy names for time-tested architectural principles and call it a NEW THEORY!
@markrichards50146 ай бұрын
I perhaps didn't do justice to this concept. Please take a look at Barry O'Reilly's papers and books and see if it changes your mind.