Test Leadership Congress
June 27, 2019, New York, USA
Test Leadership Congress
Video
Katja Obring - Antifragility or Taming the Hydra
Available
In cart
Free
Free
Free
Free
Free
Free
Add to favorites
44
I like 0
I dislike 0
Available
In cart
Free
Free
Free
Free
Free
Free
  • Description
  • Transcript
  • Discussion

About speaker

Katja Obring
Test Consultant at Infinity Works

Katja Obring has a passion for the detail in the big picture. Testing is more than just the finding of faults in a product, it is about making unique ideas shine so they can solve genuine problems for real users. Starting her career in the virtual world of Second Life, she has worked with Disney Online and Anaplan before joining ranks with Infinity Works in Leeds, where she is part of a DevOps team and helps to find solutions for any problem presented to the team.

View the profile

About the talk

The name Nassim Taleb has come to be associated with the crash of financial markets, as he's predicted aptly what happened in the banking crisis of 2008 in his book "The Black Swan". Following from that work, "Antifragility" explores how trying to predict the future leaves us missing the opportunity to withstand disaster by preparing for recovery instead of trying to predict and avert the inevitable crisis.

My talk examines the concept of antifragility as part of the software development process, and how that can be applied to an agile work environment. It aims to straddle the border between development reality and a broader view on how process can be made resilient, and how we can use a philosophical approach to guide our decisions in day to day software development.

This talk offers a new perspective on many of the problems we encounter every day in software development, and I hope to illustrate that sometimes a change of perspective can point in the right direction for building resilient, lean software applications.

Share

For you guys, then I. 00:03 So. 00:03 I am going to talk about anti fragility. 00:08 And uh. 00:12 I start by introducing myself little bit. 00:16 I currently work as a test consultant. 00:18 Fairly humble title. 00:21 Add a consultancy with Infinity works in Leeds. 00:21 I have worked for some lesser or war known companies before. 00:27 So I started my QA. 00:32 Rhode Island map I don't know if anybody remember Second Life, 00:35 which was a virtual world that was going to change the Internet. 00:38

In the early 2000s, but 00:42 Anyways you certainly have heard of Disney online. 00:44 I assume and a plan does connected planning. 00:48 Basically planning in the cloud. 00:52 And couple of other smaller companies nobody's ever heard of. 00:54 So I'm originally from this book in Germany. 00:58 I then moved to Brighton that was falling his nap because they had just opened an office now. 01:01 An then I moved to Gibraltar for a few years. 01:08 And after that, I moved. 01:12 Back to The UK. 01:15

Well, I'm currently living and I'm living in York, 01:21 which is in the North of England A. 01:24 Have worked as a chef and a bartender and theorizes physiker. 01:27 It assistant director. 01:32 I was the closest to the director in a kind of. 01:32 Off Broadway thick kind of so production. 01:37 Mainly that makes me the dogs body for everything but you know. 01:41

I really like it, however, 01:45 at some point I realized that my life needed a little bit more constancy and slightly more predictable work. 01:47 I was then I had with these jobs and so I became a QA engineer. 01:53 And my interests include philosophy. 01:58 Which this is mostly about? 02:00 Literature and textile arts. 02:03 So I do a lot of knitting and spinning and sewing and that kind of thing. 02:03 So as I mentioned I live in New York. 02:12 But I work in late. 02:15

Which means I have a commute of roughly 19 minutes door to door? 02:17 I really not so for me that is fine. 02:22 This gives me about unity to rate because otherwise it's really hard to fit. 02:24 We did not type into a life which I'm sure you guys know. 02:27 It also helps me clear the waiting time. 02:32 While I'm waiting for a train. 02:35 Or the next train. 02:37 Or any train that's going roughly in the right direction. 02:37 The UK train system is not really known for its reliability. 02:44

And that is kind of how this talk started. 02:49 I was reading a book by a guy called. 02:53 Nassim Nicholas Taleb, they called the book is called anti fragility. 02:57 And I really liked the theories presented so they kind of kept going around in my head an eventually. 03:03 It coincided with an? 03:11 Quarterly mini conference, 03:11 we do in our company so I thought OK, 03:16 so just to clear my head of these theories. 03:19 I will put. 03:22

Turn this into a lightning talk I will present this at Miniconf and see what other people think about this and see if they think. 03:22 It's useful. 03:28 Anime was quite very received in fact, 03:28 it was then invited over to one of our clients for an international Woman's Day event. 03:32 And I thought OK, maybe there is something more in this so I put together a full time version. 03:37 Full length version of S and send it out to contractors in Hey here, 03:43 I am. 03:46

So this is all going to get a little bit meta like I say this is founded in a philosopher software. 03:48 Frequent select don't say you haven't been warned. 03:53 And you may have heard about the author, 03:57 he actually got quite a lot of attention for a book called the black Max 1. 04:00 Which he published just before the big stock market crashed and he basically predicted the stock market crash in this book? 04:04

And so his whole body of work deals with uncertainty at the unpredictability of crisis and how you deal with that. 04:13 Used to be stopped later. 04:24 Before that, he knows knows a little bit about the absent downs, 04:26 an predictability. 04:29 So being a test, though, 04:33 obviously this kind of got my attention be cause that's what we do right. 04:34 We tried to prevent this big negative event from happening or at least put ourselves in a position where if it happens. 04:39

We can deal with it. 04:45 Reasonable way. 04:47 And to do that. 04:50 We come up with the strategies any successful test strategy needs to be founded in reality. 04:50 It cannot so be cause we are bound to constraints. 05:00 For this test strategy. 05:06 Like we have limited time we have limited resources. 05:11 We may have limited knowledge or limited information. 05:15 So all of this means. 05:19 This our constraints. 05:21 And we need to know what we're planning. 05:21

We need to know that we are planning with the reality of these constraints and not wishful thinking. 05:27 Or. 05:34 Scaremongering or knee jerk reactions to perceived threats right panicat, 05:34 not good. 05:39 So what is infidelity? 05:42 And how can it help us with the whole testing thing? 05:42 Select proposes. 05:48 That there are basically 3 different states if I ask you or the opposite of robust. 05:48 Many people would say. 05:58 Fragile. 06:01 Breakable. 06:01

You know any of these things but he says it's over. 06:05 This is 3rd State, which is anti fragile. 06:09 Which is not just reversed or just right right? 06:13 It means you can emerge from the crisis in an improved? 06:15 You come out of it better than you were before. 06:19 So if you think of it this way. 06:24 Greek mythology. 06:27 Damocles Damocles was the guy who was super jealous of his crane. 06:27 He kinda thought I should be OK. 06:33

So he neck and neck connect his King Dionys and returnees use. 06:36 And so there nice is it? 06:43 Offered him to swap places for one day is OK. 06:45 One day you will be K through the King points up. 06:48 And this and now look up when you see this big sort. 06:52 It is hanging just above your head. 06:55 Pointing at you head up only by 1/2 from horses tail. 06:57 This is a fairly fragile position. 07:03 So damn across was. 07:06

Not impressed by this and didn't even make it through the night before he said, 07:06 OK, this pressure is too much for me, 07:12 I don't want to die here. 07:13 Right I just became. 07:15 So he resigned and they? 07:15 Resumed business as normal. 07:19 So now if you look at the Phoenix, 07:23 another mythical creature. 07:25 It's a bird that is reborn from fire when it dies. 07:28 So it dies, it's reborn in fire crews over again, 07:31 it dies again. 07:34 We want from fire. 07:34 The Phoenix doesn't care. 07:37

A crisis, 07:37 it doesn't care if it dies because it will come back exactly the same state as opposed to. 07:39 There is not any better. 07:45 But it's also not hard this is what we call call robust. 07:47 It just doesn't care for crisis. 07:51 And then the Hydra, yet another mythical beast. 07:59 The Hideaway, the dragon. 08:03 That is not indestructible, 08:03 but it is very, very hard to kill. 08:07 Every time you cut off one of his head. 08:10 2 new ones grow back? 08:12

This is what we mean when we talk about anti fragility. 08:14 You. 08:18 Basically. 08:18 Inflict a critical negative event on this thing. 08:18 But it goes to new hands. 08:25 It is now better than it was before it's more dangerous. 08:27 Or the Rio don't see on and life application might rain situation. 08:34 Now you probably are not really familiar with railway system in the OK, 08:42 so let me give you a little bit of background. 08:46 This is not a joke. 08:55 This is reality. 08:57

The train system was privatized couple of decades ago. 09:00 And ever since not a lot of money is being reinvested into the train system. 09:04 So the whole thing is now in a rather solid state. 09:09 Run with the old trains as long as they possibly can and trains are constantly. 09:12 Dill aid they are. 09:17 Overcrowded they are never on time they? 09:17 Honestly, nightmare, so obviously becaus I depend on these trains. 09:23 This puts me in a really fragile position because. 09:27

If I don't show up for work. 09:31 Obviously my employers are not particularly happy with me and sooner or later. 09:32 I will get into trouble. 09:36 Now fragile position. 09:41 My train situation in software development. 09:41 Be cause this dependency. 09:46 We depend on a system that is outside of our control. 09:46 We depend on another team that is outside of our control. 09:51 It depend on something that we cannot control, 09:54 but that is essential for our success. 09:57

So modern teams try to steer away from this. 10:02 By building full stack teams, 10:06 we try to have very varied knowledge within the same team that allows us to tackle. 10:08 All all the necessities of getting a product from inception to production. 10:14 Within the team. 10:19 So we have front end back end, 10:19 Dev OPS and so on, 10:22 and so forth. 10:23 At risk assessment. 10:23 Work in a way that we only ever prepare for things we already know the biggest risk we prepare for. 10:27

Biggest risk we know about we have encountered before. 10:34 Say I can take many shapes and it may take a shape that we are not familiar with yet. 10:38 That is in the unknown at this point. 10:43 Unexpected events by their very nature take unexpected forms. 10:59 For example, the nuclear reactor in Fukushima everybody remembers that big fallout system. 11:05 It was with stood, the earthquake pretty well. 11:12

It was built to deal with earthquakes because Japan has a lot of earthquakes. 11:15 So earthquake happened the backup generators kicked in just as planned. 11:19 But it didn't do well was tilted tsunami that followed. 11:24 'Cause that was unplanned and unforeseen. 11:28 So what you have scientists in Japan do these days is not try to build more tsunami prove reactors. 11:31

They are investigating whether they can build very small nuclear reactors that can be buried even to the ground. 11:39 So short negative or critical meltdown event ever happened. 11:46 It is far removed from everything for the potentially be damaged by it. 11:51 So that's another way to look at. 11:56 You know dealing with at risk. 11:58 Oops. 12:05 Or, a more testing focused. 12:09 I'm sorry. 12:12 We implemented a low testing framework used Gatling. 12:12 Early you know. 12:18 Uh. 12:18

Everybody was getting these days, 12:18 personally, I'm not a fan to be perfectly honest partly because of what I'm going to tell you next. 12:22 So we, we had a test. 12:27 This was a client project added test engineer from the test from the client team. 12:29 He basically implemented this all on his own. 12:36 We ran the first round of tests against the API, 12:39 we had. 12:42 Developing. 12:42 And they were quite strong. 12:42

The test results indicated that our API wouldn't even be able to support a single user. 12:45 So now we were quite concerned able also slightly confused. 12:51 Be cause you know, I had been testing this whole thing and I did some very light protesting with other tools. 12:56 And I say I hadn't notice any great performance issues how is this even possible. 13:02 So the functional sense faction. 13:09 It turned out that the implementation of the test framework wasn't right. 13:11

Or to quote one of my developers running code is not the same thing as testing code. 13:16 So what this testing framework this specific implementation. 13:22 He did did was it was creating huge amount of load. 13:27 In a completely unrealistic pattern against a very loose back test environment. 13:31 Time was built such that it depended on certain steps being executed in certain order all of that was randomized. 13:39 We had a huge amount of failures. 13:47

All of this be cause simply be cause. 13:50 It wasn't implemented in a way that actually looked at what we're trying to test and what we're trying to determine. 13:52 And ask the question that we were trying to answer with those tests. 13:58 It was just random bloat. 14:02 So what did we learn from this. 14:04 2 things. 14:07 A is really easy to bring an API down. 14:07 Throw enough chaotic loaded loaded it and it will just fall over. 14:12 Not very useful learning the audio this before. 14:17

The other, more important insight was that if you do this think about what you're doing. 14:21 Define the problem you're trying to solve. 14:27 So, in the end, we switch to a different load testing framework. 14:31 We swap Gatling for Locust. 14:35 Locust is a Python library that is very, 14:37 very easy to implement it took us half a day to get a. 14:40 Very basic test with running. 14:43 It is very focused on simulating use cases. 14:46 So that's what you do. 14:50

And it allows for very intuitive load shaping. 14:52 So on the other hand, 14:58 it may be that your preconceived Thierry. 14:59 Is exactly the thing that stops you from running? 15:03 What you need to do if you go to a problem if you try to analyze your problem, 15:05 but you already know. 15:09 Thank you know what the alchemists you're probably not going to do a very good job at any laser analyzing. 15:09 Especially if you're dealing with complex systems. 15:19

Predicting what is going on in a complex system is a gamble at best. 15:22 So speaking in a mathematical sense. 15:29 A complicated system is just a system is very large. 15:34 It's hard to understand it may be many, 15:38 many moving parts. 15:40 But it is essentially understandable. 15:40 A complex system on the other hand. 15:46 Is not? 15:48 A complex system is a system that has emergent behavior. 15:48 An emergent. 15:54 Properties so you cannot really predict how they how that's going to react. 15:54

And persistence of such complexity. 16:02 Maybe having a preconceived theory is not the best approach. 16:05 Maybe what you want to do is observe. 16:09 And form your theories following things that happened with say some regularity you see blips in your monetary. 16:13 And here investigate those. 16:20 Which is obviously exactly what is happening in the observation space these days that's what you do you build your system? 16:25

In a way that makes it easy for you to monitor events and to follow events through. 16:32 The idea being that. 16:38 Is sufficiently complex system is never fully healthy and never fully stable? 16:38 You always will have some things and they may interact in very unforeseen ways. 16:47 At TI insulator change may cascade to your system and come out at the end of the big failure. 16:53 You don't know you just need to be able to follow the track basically. 16:58

This needs to be considered early on in the development cycle, 17:05 obviously so you need to build your systems in such a way. 17:07 That you can plug in your monitoring and you can extend your switch on and off logging. 17:10 You don't want to log all the time every single event that you want to be able to if. 17:15 The need arises. 17:21 Things that are more complicated and not necessarily better. 17:29 We have to make conscious decisions about. 17:35 What we're trying to achieve? 17:38

It may mean that we need to invest a little bit more thinking and a little bit more work. 17:42 Architecting our systems. 17:47 But we want to build systems that are understandable that are maybe complicated. 17:53 Sometimes this is not possible if we have complex systems, 17:59 then we will need to build systems that way you can. 18:03 Easy on easy understand how to get your information out of this so in our consultancy work. 18:06

We focused a lot on building systems, 18:11 A with the client so that they understand how we architect these things. 18:14 But also to build them in such a way that their maintainable for the client. 18:19 Their maintainable without having needing you know 10 years of arcade knowledge of how every little piece in this. 18:23 Has come to be should ideally be able to look at the system and look at the code and No. 18:31 What it's doing? 18:37

Simple is not the same as easy, 18:39 but simple is important. 18:42 So we have learned this lesson in software development. 18:44 I'm not sure that we have learned this lesson for testability is all the time. 18:50 You're often. 18:54 Hear that people you know respond to testing problems with throwing more bodies at the problem through a more scripts at the problem. 18:54 More load at the system under test. 19:06 This is not necessarily what size problem. 19:09

Just as we do with developing features. 19:13 We need to ask why we're doing what we're doing. 19:16 We need to understand what problem it is we're trying to solve. 19:19 What question are we trying to answer? 19:23 Different stages of development often require different test strategies. 19:27 Quite often you cannot just do you know the same thing throughout the entire life cycle of the project. 19:31 We have a tendency to fix problems. 19:47 That we have encountered before. 19:49

Without actually knowing that they will be a problem again. 19:51 And I think following the principles in development can help. 19:59 To avoid this fantasy fix something when it actually becomes a problem. 20:05 You know, we observe something that might become a problem. 20:13 And we rush in and want to prevent it from actually becoming a problem. 20:16 From causing an error. 20:21 So you go fix it. 20:21 And I'm the first one to admit that I do this. 20:26

You've seen this before he finally I know I know this service is going to follow me don't do that. 20:30 If our system is well architected. 20:37 It should have some self healing properties and we should allow the system. 20:39 So do that. 20:44 To fix itself before we go in and fix it. 20:44 Networking and TCP for example, 20:51 our systems that have that are built to deal with uncertain conditions. 20:53 You throw information in one end, 20:57 you expect it to come out the other end. 20:59

You are not necessarily able to. 21:01 You know predict which which route it doesn't take attacks in between so the system is able of re routing. 21:03 Messages if it has to. 21:10 Cloud services can be set up the same way you can you specify the rules and the clouds in the server? 21:14 Yeah, or you infrastructure in the cloud responds dynamically spinning up servers taking the EBS down rerouting traffic. 21:20

Kind of 21:27 So, however, what is the system if not the sum of all its aren't. 21:35 Maybe more. 21:39 How do we support tease? 21:42 In this search lantic agility. 21:44 How do we work with human nature? 21:47 And not against it. 21:50 Cognitive biases are everybody is dawning these days. 21:56 Alright Here it everywhere. 22:00 And I think with good reason abuse as well. 22:00 So just trust this machine in our head. 22:05 So question and be critical of our gut reactions and our reflexive responses. 22:07

Evolution has not prepared us well to live in the world we live in right now. 22:14 Our cognitive systems. 22:20 Oh stuck way back in the past. 22:20 One thing, however, has remained a constant throughout human evolution. 22:27 And that is storytelling, we Unite over stories. 22:33 If you like. 22:38 Or if you're interested in certainty. 22:38 And its effect in complex systems and would definitely recommend giving this book a read. 22:43

And I think that's A lot of the book really deals with one common theme is. 22:49 Decentralized. 22:55 So not. 22:55 Have one central point of failure decentralized as much as you can empower the people to act. 22:55 In Unison, with your story, 23:06 but as in did individual components. 23:08 I might rain problem. 23:14 Well, these days, I'm taking the bus and no longer on the train. 23:17 My bus is on time. 23:21

I it is spacious, I have seed I can read my book impression at in comfortable and my boss. 23:23 Doesn't come I have a fall back to my reliably horrible? 23:30 Thanks for listening guys. 23:37

Cackle comments for the website

Buy this talk

Access to the talk “Katja Obring - Antifragility or Taming the Hydra”
Available
In cart
Free
Free
Free
Free
Free
Free

Access to all the recordings of the event

Get access to all videos “Test Leadership Congress”
Available
In cart
Free
Free
Free
Free
Free
Free
Ticket

Interested in topic “Software development”?

You might be interested in videos from this event

September 28, 2018
Moscow
16
129
app store, apps, development, google play, mobile, soft

Similar talks

Christine Fisher
Manager, Business Analysis and Quality Assurance at NAIC
Available
In cart
Free
Free
Free
Free
Free
Free
Mike Talks
Test Manager at Datacom
Available
In cart
Free
Free
Free
Free
Free
Free
Mykola Gurov
Full-Stack Software Engineer at bol.com
Available
In cart
Free
Free
Free
Free
Free
Free

Buy this video

Video

Access to the talk “Katja Obring - Antifragility or Taming the Hydra”
Available
In cart
Free
Free
Free
Free
Free
Free

Conference Cast

With ConferenceCast.tv, you get access to our library of the world's best conference talks.

Conference Cast
525 conferences
20515 speakers
7489 hours of content