Lesson 185 - Residuality Theory

Поделиться
HTML-код
  • Опубликовано: 20 апр 2024
  • How can we create an architecture that can accomodate constant state of change and uncertaint? The answer is Residualiy Theory. In this lesson I describe what residulaity theory is about and show how it can address the uncertainty and change we expierience every day in complicated systems.
    Residuality Theory: leanpub.com/residuality
    Head First Software Architecture: amzn.to/3VNFI0o
    Software Architecture Monday: bit.ly/3dadEe3
    Fundamentals of Software Architecture: amzn.to/3rgFLjY
    Software Architecture: The Hard Parts: amzn.to/3BjMMF2

Комментарии • 23

  • @benbaert2166
    @benbaert2166 2 месяца назад +8

    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-wd8hx
      @MohamedKamal-wd8hx 2 месяца назад

      I also agree, looks like just a reformulation of what we already do in the language of complexity theory!

    • @GauravSehrawat8888
      @GauravSehrawat8888 2 месяца назад

      I think the point is to emphasize "Focus on residue as building block".

    • @Barry-ru9kf
      @Barry-ru9kf 2 месяца назад

      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.

    • @markrichards5014
      @markrichards5014  2 месяца назад +3

      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.

    • @markrichards5014
      @markrichards5014  2 месяца назад

      @@MohamedKamal-wd8hx Correct - residuality theory has it's basis in complexity theory.

  • @HemalVarambhia
    @HemalVarambhia 2 месяца назад

    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.

    • @markrichards5014
      @markrichards5014  2 месяца назад +1

      Yes, I would agree that Agility, as well as architectural Extensibility and Adaptability, would be characteristics that would apply to residuality theory.

    • @HemalVarambhia
      @HemalVarambhia 2 месяца назад

      @@markrichards5014 And is there a relationship between agility and architectural Extensibility and Adaptability?

    • @markrichards5014
      @markrichards5014  2 месяца назад +1

      @@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.

    • @agytjax
      @agytjax 17 дней назад +1

      @@markrichards5014 - In which case, what does theory have to offer new? This is rehashing of good architectural principles, isn't it ?

  • @sid4579
    @sid4579 2 месяца назад

    What is the correct order of the books to read?

    • @markrichards5014
      @markrichards5014  2 месяца назад +1

      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.

  • @agvlogs9455
    @agvlogs9455 2 месяца назад

    If we look at stressor as new business requirement, would we still call it residual theory?

    • @markrichards5014
      @markrichards5014  2 месяца назад +1

      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.

    • @agvlogs9455
      @agvlogs9455 2 месяца назад

      Tahnk you Mark 😊

  • @agytjax
    @agytjax 17 дней назад +1

    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

    • @markrichards5014
      @markrichards5014  15 дней назад

      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.

  • @agytjax
    @agytjax 17 дней назад +1

    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!

    • @markrichards5014
      @markrichards5014  15 дней назад

      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.

  • @ZahidAnsari-ER-91
    @ZahidAnsari-ER-91 2 месяца назад +1

    I know you have just scratched the surface on residuality but it does not seems very different from Micro-Kernel Architecture.

    • @markrichards5014
      @markrichards5014  2 месяца назад +1

      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-91
      @ZahidAnsari-ER-91 2 месяца назад

      @@markrichards5014 hmm got it :)