Cynefin Is A GAMECHANGER For Software Developers

Ғылым және технология

What does it take to build great software? Is software development as a human activity, merely complicated or is it genuinely complex? This may sound like an odd question, but the answer is important because depending on that answer how we should approach it if changes dramatically. The Cynefin Framework created by Dave Snowden gives us a model to understand complexity and its relationship to the systems that we inhabit and create.
In this episode Dave Farley author of best-selling books “Continuous Delivery” and “Modern Software Engineering” uses the Cynefin model to explore the deep reasons why working experimentally and focusing on learning are so important for success.
-
FREE CONTINUOUS DELIVERY COURSE 👇
Study the fundamentals of Continuous Delivery FOR FREE with my free course. Find out more HERE ➡️ courses.cd.training/courses/c...
-
⭐ PATREON:
Join the Continuous Delivery community and access extra perks & content! ➡️ bit.ly/ContinuousDeliveryPatreon
-
🗣️ THE ENGINEERING ROOM PODCAST:
Apple - apple.co/43s2e0h
Spotify - spoti.fi/3VqZVIV
Amazon - amzn.to/43nkkRl
Audible - bit.ly/TERaudible
-
👕 T-SHIRTS:
A fan of the T-shirts I wear in my videos? Grab your own, at reduced prices EXCLUSIVE TO CONTINUOUS DELIVERY FOLLOWERS! Get money off the already reasonably priced t-shirts!
🔗 Check out their collection HERE: ➡️ bit.ly/3Uby9iA
🚨 DON'T FORGET TO USE THIS DISCOUNT CODE: ContinuousDelivery
-
🔗 LINKS:
“Dave Snowden - The Cynefin Framework” ➡️ • The Cynefin Framework
“Dave Snowden on ‘Complex Adaptive Systems” ➡️ • Complex Adaptive Syste...
“Cynefin Framework” ➡️ en.wikipedia.org/wiki/Cynefin...
-
BOOKS:
📖 Dave’s NEW BOOK "Modern Software Engineering" is available as paperback, or kindle here ➡️ amzn.to/3DwdwT3
and NOW as an AUDIOBOOK available on iTunes, Amazon and Audible.
📖 The original, award-winning "Continuous Delivery" book by Dave Farley and Jez Humble ➡️ amzn.to/2WxRYmx
📖 "Continuous Delivery Pipelines" by Dave Farley
Paperback ➡️ amzn.to/3gIULlA
ebook version ➡️ leanpub.com/cd-pipelines
NOTE: If you click on one of the Amazon Affiliate links and buy the book, Continuous Delivery Ltd. will get a small fee for the recommendation with NO increase in cost to you.
-
CHANNEL SPONSORS:
Equal Experts is a product software development consultancy with a network of over 1,000 experienced technology consultants globally. They increase the pace of innovation by using modern software engineering practices that embrace Continuous Delivery, Security, and Operability from the outset ➡️ bit.ly/3ASy8n0
TransFICC provides low-latency connectivity, automated trading workflows and e-trading systems for Fixed Income and Derivatives. TransFICC resolves the issue of market fragmentation by providing banks and asset managers with a unified low-latency, robust and scalable API, which provides connectivity to multiple trading venues while supporting numerous complex workflows across asset classes such as Rates and Credit Bonds, Repos, Mortgage-Backed Securities and Interest Rate Swaps ➡️ transficc.com
#softwareengineer #developer

Пікірлер: 69

  • @ContinuousDelivery
    @ContinuousDeliveryАй бұрын

    FREE CONTINUOUS DELIVERY COURSE: Study the fundamentals of Continuous Delivery FOR FREE with my free course. Find out more HERE ➡ courses.cd.training/courses/cd-fundamentals

  • @JeffreyLiss0
    @JeffreyLiss0Ай бұрын

    I love it when two important sets of ideas (and the people behind them) converge. Both Cynefin and Continuous Delivery have been points of light that have helped me orient my thinking and make forward progress. Great video!

  • @brownhorsesoftware3605
    @brownhorsesoftware3605Ай бұрын

    ❤ Complexity is something that software engineers, scientists, and artists all wrestle with. All of them work by experimentation. It is the nature of creativity in any field. Lovely and very interesting video!

  • @matsg2596
    @matsg2596Ай бұрын

    Very good take on Cynefin! Kudos!

  • @johntrevithick5900
    @johntrevithick5900Ай бұрын

    Nice to hear someone discuss constraints in the context of software development! This feels like a convergence of ideas. Love the videos. My go-to resource for development ideas. BTW: nice attempt at pronouncing Cynefin, boyo. :)

  • @br3nto
    @br3ntoАй бұрын

    Great video! I think this captures the problem with software engineering really well. Especially the part where you say that at any time, a change in requirement may mean our design doesnt work any more or is now a poor choice even though moments before the design was fine.

  • @ITPMMentor
    @ITPMMentorАй бұрын

    Outstanding presentation that every software architect should know. And even software project manager with the occasional dedicated executive who wants to support his company more through his engineering team. Understanding the differences and the trade-offs with each type of system could help temper expectations with customers and other stakeholders. I'm going to watch this video a couple more times and take notes. Excellent content as always

  • @PJAOK
    @PJAOKАй бұрын

    THANK YOU - This is Terrific. All of your presentations are great, but this is uniquely important .. and the cnyefin concept you connect to connects to so many domains that are important right now. I had not considered this in terms of the process of developing software, but it makes so much sense.

  • @MattMcT
    @MattMcTАй бұрын

    Wow this is really really cool to learn about, and so helpful for those of us that are converting traditional businesses to more software aware and software production friendly businesses. Thank you as always!!!

  • @ContinuousDelivery

    @ContinuousDelivery

    Ай бұрын

    Glad it was helpful!

  • @KathySierraVideo
    @KathySierraVideoАй бұрын

    Thank-you so much Dave. 🙏This is one of the most important videos (and concepts) I've seen in my 35 years in software. I'd argue that the problem of trying to solve non-linear problems with linear solutions is the single biggest contributor to both inefficiencies and ineffectiveness in virtually anything that involves living creatures and self-organization. I've taken a decade-long detour away from code and into movement skill training for pain, rehab, and performance (for both horse and human athletes), and the shift toward a non-linear pedagogy / approach has lit a fire in THAT space, turning classical/traditional practices inside out. Also wondering if you've read the book from AI folks Ken Stanley and Joel Lehman on "Why Greatness Can't Be Planned", inspired by their findings when developing novelty search algorithms. Or my favorite example where my two worlds of movement science and computer science collide: the 2015 Nature paper (Cully, et al.) "Robots that can adapt like animals" (featuring the MAP-Elites algo). So many beautiful examples are... emerging... 😉 for what happens when we let go of trying to solve complex problems as if they were linear/simple/"clear".

  • @ashnur

    @ashnur

    Ай бұрын

    Definitely check the wiki page then for the guide image, and Dave Snowden has a few long format workshop videos online where it is put in practice.

  • @radoslavstamenov4663
    @radoslavstamenov4663Ай бұрын

    The best thing I heard all week!

  • @Rob-zp3hn
    @Rob-zp3hnАй бұрын

    Very helpful. Great to have such a good explanation in this context. I often use the Staci Matrix as a gateway drug to Cynefin in fear going down a rabbit hole. I'll just send a link to this vid from now on.

  • @AlfredNutile
    @AlfredNutileАй бұрын

    Almost 200k subscribers 🎉🎉🎉

  • @mikkolukas
    @mikkolukasАй бұрын

    Yay! Cynefin FTW! ❤

  • @drivers99
    @drivers99Ай бұрын

    Chaotic Act-Sense-Respond reminds me of the OODA loop. Just starting at A, doesn’t matter since it’s a loop. Hmm, that might apply to other categories too, like Complex.

  • @sirgibsonable
    @sirgibsonableАй бұрын

    Great stuff, as usual, Dave. At a couple of points in the video, you say "A follows B", but the example you cited, with "A" being sensing, *followed by* a response which you defined as "B". Did you mean "A followed by B"?

  • @ContinuousDelivery

    @ContinuousDelivery

    Ай бұрын

    I did mean "A follows B", I didn't mean that "A" was "Sense" and "B" was "Response" though. "A" and "B" were meant to be anything as in "Outcome A" resulted from "Action A"

  • @AndySpamer
    @AndySpamerАй бұрын

    Best explanation of Cynefin I've seen. Dave, do you mind if I play this video in some of my Agile training? Obviously credit will be given.

  • @ContinuousDelivery

    @ContinuousDelivery

    Ай бұрын

    Andy, please do feel free to use this in your training, but I would be grateful for the reference. Thanks.

  • @Jonarzz
    @JonarzzАй бұрын

    This video could be a good explanation of why agile approach is usually better than waterfall when it comes to software engineering.

  • @quantum_ocean

    @quantum_ocean

    Ай бұрын

    But everyone learned that already decades ago!

  • @ContinuousDelivery

    @ContinuousDelivery

    Ай бұрын

    You'd think! But that's not my experience of most "agile orgs" in practice.

  • @KimballRobinson
    @KimballRobinson9 күн бұрын

    Could it be that most software alternates between complex and chaotic? In my experience, even just talking to users about possibilities changes their expectations and constraints - before you even make a real change! But feature implementation can still be approached in a "complex" mindset, while the project/epic needs an incremental, hypothesis-driven mindset? Software solves human problems and is fundamentally a human-oriented activity; (even internal design/architecture is about maintainability *by humans*). E.g. when you deliver software, people have to change their workflow, and may eventually demand new features they hadn't thought of before. ("now that I can see each item in my order has different status, I need to be able to track and cancel just one item on my order please"). Users who dislike change or anticipate changes that they fear... might pull out of a system and use workarounds (excel, etc). It's almost like fog-of-war, where just trying to anticipate what the other general is doing changes everything. I think. From a project/epic/sprint level perspective, we have to deliver in increments and accept risk by making risk small and incremental and experimental.

  • @edgeeffect
    @edgeeffectАй бұрын

    The word "cynefin" reminds me of hearing Dan North talking about "habitability".

  • @citstuff
    @citstuffАй бұрын

    You appear to have made a mistake when describing Chaotic. Here is a quote from Snowden, “too confusing to wait for a knowledge-based response.” The connection between the input and output of the system regular meaning the same input produces the same output. The problem is that small and even tiny changes to the input can have sometimes huge, sometimes small, and sometimes no effect on the output. This is what makes a chaotic system “confusing.” As you state in other places, complex systems differ from this in that the infinitely stateful (every input modifies the system by adding to the state) complex system is never the same twice when given the same input and therefore the same input can and often does produce different output .

  • @williamsbotchway2471
    @williamsbotchway2471Ай бұрын

    Ok it is time to ask can microsoft autodev handle these complexities or where do we place it?

  • @ContinuousDelivery

    @ContinuousDelivery

    Ай бұрын

    Not yet, and when it can we will have bigger concerns than loosing our jobs.

  • @techpiller2558
    @techpiller2558Ай бұрын

    I think everyone can be a 10x developer. It depends on the day you measure it. If you're feeling off, you might be a 0.1 from your best capability. People are stressed, there are deadlines, domestic issues, bad sleep, all sorts of things. The greatest leadership should take care of the workforce at a deep level. That would be the only way to truly reduce stress, and therefore 10x productivity, by improving the workers' lives.

  • @Solstice42
    @Solstice42Ай бұрын

    TC 13:50 Twitter - BAM!

  • @benmathews533
    @benmathews533Ай бұрын

    Is that a Gource render in the background?

  • @ContinuousDelivery

    @ContinuousDelivery

    Ай бұрын

    Not sure to be honest, it was a stock background.

  • @fcanz519
    @fcanz519Ай бұрын

    Problem is, after learning about cynefin, I find a number of people fall for the allure of complexity and begin to strive for it. They want something to be complex, when some analysis or known practice would do. It falls in the same trap as the original "pattern envy" did for design. Stay flexible and be curious

  • @crazygamelover
    @crazygameloverАй бұрын

    Felt personally attacked with that chaotic bug fixing comment😂

  • @pixelfingers
    @pixelfingersАй бұрын

    Poke and feel your way through

  • @ace90210ace
    @ace90210aceАй бұрын

    I think using twitter as an example and then trying to argue it's no chaotic is pretty funny

  • @ContinuousDelivery

    @ContinuousDelivery

    Ай бұрын

    It was meant to be "tongue in cheek" 😉

  • @AndreyAzov
    @AndreyAzovАй бұрын

    How is any of this a GAMECHANGER for software developers? What would we, software developers, start doing differently, after being introduced to the Cynefin model? Also, what is the difference between "Act-Sense-Respond" and "Probe-Sense-Respond"? How is "probe" different from "act"?

  • @johntrevithick5900
    @johntrevithick5900Ай бұрын

    Cynefin is a useful framework, but some of the details are giving me a mental itch... The reference to loose/tight coupling seems the wrong way around, at least in the context of software development. Why would decoupled components be chaotic? If I can change a module without worrying about the effect it has on other modules - that is much clearer. We're *aiming* for decoupled code. Also, what does "lacking constraint" mean? If it means "moving constraints", then sure - that's hard to deal with. But it implies "no constraints" - which is impossible. BTW: I'm using this diagram as a reference (en.wikipedia.org/wiki/Cynefin_framework#/media/File:Cynefin_framework_2022.jpg)

  • @ContinuousDelivery

    @ContinuousDelivery

    Ай бұрын

    Forgive me, but I think that you are being a bit over literal in ascribing this to technical uses of words like coupled in this context, this is not about components of a software system, but is much more general than that, it is talking about "systems" in the broadest sense... "A system is a group of interacting or interrelated elements" So in a coupled "system" is if I do X and Y then Z ALWAYS results in a decoupled system if I do X and Y then that has no bearing on whether to not Z happens. In a chaotic system (meaning broader than a software system) then the parts of that system *are* de-coupled and lack constraint and means they don't interact and so don't work together and so behaviour is chaotic. At least that is my reasoning of this diagram.

  • @johntrevithick5900

    @johntrevithick5900

    Ай бұрын

    ​@@ContinuousDelivery Thanks for the explanation. That does help to clarify a few things. Yes, maybe I'm being too literal, and I didn't intend to criticize. The Cynefin framework is very useful and intuitive. That said, terminology can be tricky, especially with systems terms. For example, it seems "chaotic" is used here when it perhaps should be "disordered". And "constraint" seems to mean "dependency". On its own, not a big deal. But when terms clash with other ways of describing systems, it creates confusion. But I think I've got it now. Thanks again.

  • @JDLuke
    @JDLukeАй бұрын

    Dave, I hate to be "that guy"... But I'm gonna do it anyway. The "Enroll" button on the free course is spelled "Enrol". You might want to deliver an update.

  • @ContinuousDelivery

    @ContinuousDelivery

    Ай бұрын

    I love a pedant (being a programmer:-) But in British English it is definitely spelled "enrol".

  • @JDLuke

    @JDLuke

    Ай бұрын

    @@ContinuousDelivery TIL

  • @TheLucanicLord
    @TheLucanicLordАй бұрын

    12:19 Disordered? If you mean unknown, there's a better word for that.

  • @jockoselberg6841

    @jockoselberg6841

    Ай бұрын

    The better word is "aporetic"

  • @ContinuousDelivery

    @ContinuousDelivery

    Ай бұрын

    None of these are my words, these are the words that Cynefin uses. The only divergence is that I, and quite a few other people it seems, prefer the earlier version of "Simple" rather than the more aliteration inspired "Clear"

  • @jockoselberg6841

    @jockoselberg6841

    Ай бұрын

    @@ContinuousDelivery Dave renamed Disordered to Aporetic a couple years back. No worries, as Dave has been tweaking the language a bit lately. Just thought I'd point it out :). This is an excellent video btw!

  • @ashnur
    @ashnurАй бұрын

    lol, took you long enough to get here :D

  • @csabaczcsomps7655
    @csabaczcsomps7655Ай бұрын

    Every river have different fish, so every computer have different software.

  • @ashnur
    @ashnurАй бұрын

    Hi Dave, please update your description of a video. Cynefin is not a "model" it's a framework.

  • @ContinuousDelivery

    @ContinuousDelivery

    Ай бұрын

    The description does describe it as a Framework first, it later mentions that it is a "model" which I think it clearly is, and since that addition improves the search-ability, Sorry to disagree, but I think it is ok for it to stand.

  • @BryonLape
    @BryonLape16 күн бұрын

    Both Scrum and SAFe re-enforce the nonsense to management.

  • @smallbluemachine
    @smallbluemachineАй бұрын

    Refer to the butt-cheek matrix.

  • @JetJockey87
    @JetJockey87Ай бұрын

    Is it just me or does that image look like a neuron?

  • @TimJW
    @TimJWАй бұрын

    "we can't write automated tests because it's non-deterministic"... OK fix it then!

  • @jruere1
    @jruere1Ай бұрын

    So, as humans are not perfectly consistent no system involving humans could be clear? Meh.

  • @DingoAteMeBaby
    @DingoAteMeBabyАй бұрын

    What a bunch of PHD gobbledegook.

  • @quantum_ocean

    @quantum_ocean

    Ай бұрын

    How long have you been building software as part of a team?

  • @quantum_ocean

    @quantum_ocean

    Ай бұрын

    Which part specifically did you have trouble understanding?

  • @JetJockey87

    @JetJockey87

    Ай бұрын

    ​@@quantum_ocean as a software dev with 15+ years of dev experience, working in large and small dev teams.... This was all highly accurate and relevant. The sheer amount of times that I've had bosses say to me "make it simple so we can maintain it easily" In order to make it simple for others to understand, I have to make a complex design because I have to consider that the next person looking at it has no understanding of the code or its intended effect. This goes beyond using Hungarian Notation or Thinking that calling a function "SpecificThingDoerForSpecificThingSystemInSpecificSituation" is a way to reduce complexity. Don't even get me started on the amount of times that Leads have requested frequent updates and expect x days of y effort will create z result.

  • @Grouiiiiik
    @GrouiiiiikАй бұрын

    So it's a 17 minutes marketing video.

  • @Skittaru

    @Skittaru

    Ай бұрын

    Is there a product that this is promoting for anybody to buy? I just see typical channel self-promotion and link to their own free course.

  • @MarceloLopezJr

    @MarceloLopezJr

    Ай бұрын

    And how is that not marketing?

  • @ContinuousDelivery

    @ContinuousDelivery

    Ай бұрын

    I am not really sure what you expect from a KZread channel? It takes a lot of time, effort, and a fair amount of money to produce videos like these. So sure we try to sell some things to make up those costs. That isn't our only motivation, I take a lot of pride in trying to help people to improve their approach to software development, and we get a lot of feedback that we do that. But I have bills to pay too. So no! it is not 17 minutes of marketing it is about 1 minute of marketing and 16 minutes of what I hope is useful, educational content. If you'd like to see less advertising, you could watch on Patreon and support the channel that way, but good luck finding content online that isn't funded by marketing in some way.

  • @MarceloLopezJr

    @MarceloLopezJr

    Ай бұрын

    @@ContinuousDelivery Too right....

  • @Sergio_Loureiro

    @Sergio_Loureiro

    Ай бұрын

    @@ContinuousDelivery some people have their brains inside their asses. It is the case of that person.

Келесі