Serverless Craic from The Serverless Edge

Serverless Craic Ep53 Cynefin Framework

March 20, 2024 Serverless Craic from the Serverless Edge Season 1 Episode 53
Serverless Craic from The Serverless Edge
Serverless Craic Ep53 Cynefin Framework
Show Notes Transcript

We use the Cynefin Framework in our cloud modernisation work. 
Dave Snowden created the Cynefin framework. Cynefin, pronounced "ku-nev-in," is a Welsh word that translates as "place" or "habitat." However, it can also be used to describe the elements of our situation and personal history that influence our thoughts and decisions in ways we don't understand.

It's a sense making framework. As architects, we find that the Cynefin framework is a good thinking model.

In the Cynefin framework there are four domains and a fifth disorder domain. The first four domains are: 
1. Clear, when something is well understood, 
2. Complicated, it's understood by few, 
3. Complex, where there are a lot of unknowns. 
4. Chaos, when you don't know what's happening. 

The 5th domain in the middle is called Confused. 

If you understand which domain you're in, you can assess where you're at, and if you're not aware of where you are, you're just confused. 

When you deal with situations and teams, it's sometimes easy to see the problem or situation. It falls under one of the domains and there are a bunch of practices to apply. 

When something's well understood and clear, the practices are different than for something that's complex. There are different ways for you to handle situations. And if you're a manager, there are different ways to manage.  

A chaotic project needs different practices to a project that you know well and when know what to do. 

We explain each of the domains and we apply them to Software Development.

Serverless Craic from The Serverless Edge
Check out our book The Value Flywheel Effect
Follow us on X @ServerlessEdge
Follow us on LinkedIn
Subscribe on YouTube

Dave Anderson:

Welcome to the next edition of Serverless Craic. We talk a lot about modernisation at different events and on our social changes. People are writing books on modernization. It's definitely becoming bigger. Today we are discussing what we think about modernisation. One thing that comes to mind is the Cinefin framework. It's an interesting model. We came it around 10 years ago., Dave Snowden created the Cinefin framework. Cynefin, pronounced"ku-nev-in," is a Welsh word that translates as "place" or"habitat." However, it can framework don't take it and apply it to whole company by writing it up on the walls. I find, as an architect, that the Cinefin framework is a good thinking model. Sometimes at the back of your mind you know that something's happening and you cannot put things in place. In the Cinefin framewrok there are four domains and a fifth disorder domain. The

first four domains are:

1. Clear, when something is well understood, 2. Complicated, it's understood by few, 3. Complex, where there are a lot of unknowns. And 4. Chaos, when you don't know what's happening. There's a domain in the middle called Confused. So if you understand which domain you're in, you can assess where you're at, and if you're not aware of where you are, you're just confused. When you deal with situations and teams, it's sometimes easy to see the problem or situation. It falls under one of the domains. There's a bunch of practices to apply. When something's well understood and clear, the practices are different than for something that's complex. There are different ways for you to handle situations. And if you're a manager, there are different ways to manage. A chaotic project needs different practices to a project that you know well and know what to do.

Mark McCann:

It's a useful thinking tool if you're going into a new area, team, or for anything new or novel. The assess/respond piece is useful. If you are looking for feedback or to gain situational awareness, one way is by doing something, sensing what happens and responding appropriately. Once you get a feel for it, you understand what's going on and you can move towards the Complex domain. You're not quite sure how things go, so you're sending out probes. You're trying to sense what's happening, and then you're responding. Complicated is where you understand the rules, you understand what needs to happen, but it is complicated. There might be multiple steps or things to achieve an outcome. So you're sensing the context and analysing to respond appropriately. Best practice is sensing the category or domain that applies and responding.

Michael O'Reilly:

How do you model complex? We've all found

Dave Anderson:

To make this simple, let's give quick ourselves in chaotic situations. Maybe you're going into an area where something's happened and there are no logs or instrumentation or it's an old application. You have to take examples of each domain in software development. We had a steps to build up awareness and move out of that chaotic session with Liz Keogh, an Agile Leader. She had a great talk on situation. And begin to move from Chaotic to Complex. It's how you can use Cinefin with agile teams - you should google evolutionary to go from high intensity to a manageable situation. In software, different types of teams are comfortable working in the grey, in situations where nobody telling them the answer. They're applying what they know to build up awareness and take actions to create outcomes that they can sense and respond to. They are, typically your empowered squads or your experienced teams. Nobody is comfortable working in Chaotic, but they've built up experience to do it. You may have teams that are good at working in Complex. You can organise you teams around the different domains. it. Let's have a couple examples. We need examples that are clear and have best practice, like maintenance or monthly release. They are within software and are an understood area. There are probably fixed constraints around time, budget and performance. You know how to do it well. You can sense what's happening, categorise it, because you've seen it before, and you can respond quickly.

Michael O'Reilly:

Known knowns and predictable like traditional methods of delivery.

Dave Anderson:

We've all done long stints at monthly release and maintenance. It's a great place to learn important work. They will never go away. And they are critical to earn your stripes as software engineers.

Mark McCann:

There are standard documentation and run books to follow the process. Follow the docs and steps, and you will be

Dave Anderson:

Complicated can be decribed as building a new fine. component in an existing system.

Michael O'Reilly:

It's your known unknowns. You might design a database, but not know the structure of the DB is or the data model. So you need skills to work it out.

Dave Anderson:

You have not done it before but there's a person who can help you. You know roughly what to do, but you may need an expert to level you up. It has been done before, but you haven't done it personally. It's a good example of something that's complicated, it is complicated for you personally, but it's a solved problem. A new database table or component is a good example. A lot of people get confused with the Complicated and Complex domains. Complex is when you're working on a brand new project that the organisation has not done before, And you're not even sure if it's possible. We don't know what good practices are because we don't know what we're dealing with. So that's when you bring in the probe idea., We've done this multiple times in our careers. Let's probe and see what happens to learn what this is. We remember doing this and the probe failed so we did not go ahead. Youu need to bring something from Complex back to Complicated.

Michael O'Reilly:

You must feel safe to fail. You don't know what you don't know, and you're trying things to work it out. It's very exploratory in nature..

Dave Anderson:

It is evolutionary architecture We're working towards something but we have an enabling constraints. You must have some constraints so you don't hit the wall.

Mark McCann:

We talk about this with the well-architected framework and using cloud tools for feedback and responses so you know you're on the right track. And you are secure, performant, reliable and cost optimised. If you're doing soemthing novel or new, constraints will give you feedback and guidance on where to go next.

Dave Anderson:

You want to bring Complex over to Complicated and then Complicated to Clear. The funny one is Chaotic. It is when you don't have production support figured out. We've all been in production incidents before when something happens, and it's chaos. It's all hands on deck.

Michael O'Reilly:

There's no logic in Chaotic. You can't predict anything, you've just got to get on with it.

Mark McCann:

You need more information. So doing something, hopefully gives you more clarity. You realise there's a memory leak etc. If everyone's running around not knowing what's happening then doing something is sometimes the only option you have.

Dave Anderson:

We've all been on bridge lines, where you're effectively a quarterback. And you're probing to build understanding. You need your technical leaders to step in and drive, especially it it

Mark McCann:

Context is key because what may seem chaotic to you and your team, may just need best practice to resolve by another team that you were not aware of.

Dave Anderson:

Some companies will be good at production support with mature SRE practices. So a production incident is not chaotic and is clear with best practice that is controlled with operational excellence.

Mark McCann:

Lead with context and understand the context. You're applying your context, this may look different from one team to another team in your organisation.

Dave Anderson:

Confused could be a brand new hire who's joined the team and don't know what's happening. If you've been there for a couple years and you're confused, that's not a good place to be.

Michael O'Reilly:

You can experience all the domains in a short space of time.

Dave Anderson:

If a team has been on prem in a data centre for many years, they know how everything works and it is well documented. They have constraints, best practice, and it's an understood area. It 's a nice steady state before cloud migration. When a company first moves to the Cloud, it's very new. There are good practices but you haven't done it. You will learn from your cloud vendor or consultant, that there are different governing constraints for security, reliability, cost tc. And you must learn what they are. It's not your environment, so you can't just call someone to switch on a machine on, You don't own the hardware. It is Complicated but it's an understood problem. Companies who go through migration are in that complicated space. It's complex, because you're starting to break your large system. It's different for brand new companies building on a greenfield.

Michael O'Reilly:

There's a lot of unknown unknowns. When you are breaking up your monolith, you try to go towards modern application architecture. There's lots to examine and line up, and the environment around it is an unknown unknown.

Dave Anderson:

Sometimes you're working on a system that was well designed 10 years ago and is a solid monolith ich runs well and makes money, but the people who wrote it have moved on. And you're looking after the system. You understand it but you don't know what's going to happen when you start to crack it apart. Because there may be hidden dependencies in the tech stack. So it's always a challenge. In order to modernise, you're bringing the complex over to complicated. And you may not know modern toolsets for serverless or containers.

Michael O'Reilly:

With on prem there are known unknowns and you build your org, teams and skill sets around that. With cloud modernisation, you must acknowledge you are in a complex scenario, and you need for teams that are comfortable with unknown unknowns. You must tailor your work practices, methods and approaches.

Dave Anderson:

It's like the Pioneers, Settlers and Town Planners Model. You want Town Planners in Clear and best practices to keep everything moving. Your Pioneers do Complex stuff because thet aren't afraid of not knowing the answers, but are prepared to probe, try and figure stuff out. There are many models around for those three phases.

Michael O'Reilly:

Would you want your hero engineers in the chaotic?

Dave Anderson:

We don't want hero engineers at all! So that's the craic! We like the Cinefin framework because it uses sense making. a You don't know what you're dealing with, a lot of Sometimes a technical leader thinks they are

Mark McCann:

If the things aren't making sense, maybe the time. you've moved across one of these boundaries without realising it. in Clear, with best practices and fixed constraints but the What you thought was Clear with best practices applied, suddenly becomes Chaos. Or you've gone from Complicated to Complex, and you haven't realised that techniques, processes and practices that worked yesterday, won't work today. situation is actually Complex. And they're applying good techniques in the wrong section or sector, with disastrous

Michael O'Reilly:

Cinefin is awesome for modelling complexity outcomes. and thinking about to organise around it. It is a great way to shape conversations and drive outcomes.

Dave Anderson:

We hope you enjoyed the conversation. Follow us on Twitter, subscribe to YouTube and let us know what you think.