2906 lines
188 KiB
HTML
2906 lines
188 KiB
HTML
<!DOCTYPE html>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<!-- Google Optimize Anti-flicker snippet (recommended) -->
|
||
<style>.async-hide { opacity: 0 !important} </style>
|
||
<style>.promo{background:#222528;position:fixed;z-index:1001!important;left:0;top:0;right:0;max-height:48px;min-height:48px;padding-top:0!important;padding-bottom:0!important}.promo,.promo p{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.promo p{font-size:.8125rem;line-height:1rem;color:#fff;margin-bottom:0;margin-top:0;margin:0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;font-weight:700}@media only screen and (max-width:650px){.promo p{font-size:.6875rem}}.promo span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.promo a{color:#fff!important;text-decoration:underline!important}.promo a.btn{background:#d0021b;padding:7px 20px;text-decoration:none!important;font-weight:700;margin-left:10px;margin-right:10px;white-space:nowrap;border-radius:5px}@media only screen and (max-width:650px){.promo a.btn{font-size:.6875rem;padding:7px 10px}}.promo.container{padding-top:8px;padding-bottom:8px}@media only screen and (min-width:1050px){.promo.container{padding-top:0;padding-bottom:0}}.promo .actions{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.promo .actions__left{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.promo .actions__right{-ms-flex-preferred-size:40px;flex-basis:40px;margin-top:0;margin-bottom:0;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.promo.hidden{display:none}.promo.show{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.promo.show .container__inner{-webkit-box-flex:1;-ms-flex:1;flex:1}.promo.fixed{position:fixed}.promo.show+header.header{margin-top:48px}.header{background:#fff;-webkit-box-shadow:0 1px 0 #dde2e5;box-shadow:0 1px 0 #dde2e5}.header .actions__left,.header__bottom__events{max-width:100%!important;margin:0}.header .header__events-all{margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative}.header .header__events-all .header__event-slot{-webkit-box-flex:1;-ms-flex:1 100%;flex:1 100%;border-right:1px solid #dde2e5;margin-top:3px;margin-bottom:3px;padding-left:15px;text-align:left;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-right:5px;min-width:300px}.header .header__events-all .header__event-slot:hover{text-decoration:none!important}.header .header__events-all .header__event-slot img{min-width:40px;height:40px}.header .header__events-all .header__event-slot div{margin-left:10px}.header .header__events-all .header__event-slot span{font-weight:700!important;font-size:.75rem;margin-bottom:0!important;margin-top:0;display:block;line-height:1.125rem;text-align:left}.header .header__events-all .header__event-slot p{font-weight:400;font-size:.625rem;line-height:130%!important;color:#495057!important;margin:0}@media only screen and (min-width:1050px){.header .header__events-all .header__event-slot p{font-size:.625rem}}.header .header__events-all .header__event-slot:first-child{padding-left:0}.header .header__events-all .header__event-slot:last-child{padding-right:0;border-right:0}@media only screen and (min-width:1050px){.header__bottom,.header__middle,.header__top{position:relative;white-space:nowrap}}.header__top{padding:10px 0}@media only screen and (min-width:800px){.header__top{padding:5px 0}}.header__bottom{padding:5px 0;z-index:29;max-width:100%}.header__bottom a{font-size:.8125rem}.header__bottom .trending{margin-left:0;margin-right:0}.header__bottom .actions{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.header__bottom .actions__left{max-width:calc(100% + 8px)}@media only screen and (min-width:800px){.header__bottom .actions__left{max-width:calc(100% + 24px)}}.header__bottom .actions__right{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;display:none}@media only screen and (min-width:1050px){.header__bottom .actions__right{display:-webkit-box;display:-ms-flexbox;display:flex}}.header__middle{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}@media only screen and (min-width:1050px){.header__middle{-ms-flex-wrap:nowrap;flex-wrap:nowrap}}.header__top .actions__left{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center}@media only screen and (min-width:1050px){.header__top .actions__right{max-width:430px}}.no-style.header__nav li:nth-child(3){font-weight:700}.no-style.header__nav li:nth-child(3) a{color:#0e5ef1!important}.header__bottom__events::after{background:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,0)),to(#fff));background:linear-gradient(90deg,rgba(255,255,255,0) 0,#fff 100%);content:'';position:absolute;height:60px;right:10px;width:25px}@media only screen and (min-width:1050px){.header__bottom__events::after{display:none}}.contribute-link{font-weight:400;font-size:.6875rem;color:#000!important;position:relative;padding-left:10px}.contribute-link:hover{color:#00791d!important;text-decoration:none!important}.contribute-link::before{content:'';width:1px;height:12px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:rgba(0,0,0,.1);left:-1px}.my-0{margin-top:0!important;margin-bottom:0!important}.header__desc.my-0{margin-left:0}.header__bottom__events .actions__left{max-width:100%!important;overflow-x:scroll;-ms-overflow-style:none;scrollbar-width:none;display:block;scroll-behavior:smooth;min-width:100%}.header__bottom__events .actions__left::-webkit-scrollbar{display:none}.header__bottom__events .actions__left:-webkit-scrollbar-thumb{background:#fff}.logo{line-height:1rem}.header{position:relative;z-index:41;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.header .input:focus,.header input[type=password]:focus,.header input[type=text]:focus{border:1px solid #00791d}.header a:not(.button):not(.login__action):not(.active){text-decoration:none;color:#222}.header a:not(.button):not(.login__action):not(.active):hover{text-decoration:underline;color:#222}.header__items{display:none;-ms-flex-wrap:wrap;flex-wrap:wrap}@media only screen and (min-width:1050px){.header__items{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.header__items nav{position:relative;background:0 0;padding:0;left:0;top:0;line-height:inherit;display:block;-webkit-box-shadow:none;box-shadow:none;max-width:100%;max-height:80px}}.header__items>div{width:100%;margin-bottom:32px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}@media only screen and (min-width:552px){.header__items>div:not(:nth-last-child(-n+2)){margin-bottom:32px}}@media only screen and (min-width:552px) and (max-width:1050px){.header__items>div{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;-ms-flex-preferred-size:calc(99.7% * 1/2 - (32px - 32px * 1/2));flex-basis:calc(99.7% * 1/2 - (32px - 32px * 1/2));max-width:calc(99.7% * 1/2 - (32px - 32px * 1/2));width:calc(99.7% * 1/2 - (32px - 32px * 1/2))}.header__items>div:nth-child(1n){margin-right:32px;margin-left:0}.header__items>div:last-child{margin-right:0}.header__items>div:nth-child(2n){margin-right:0;margin-left:auto}}@media only screen and (min-width:800px) and (max-width:1050px){.header__items>div{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;-ms-flex-preferred-size:calc(99.7% * 1/4 - (32px - 32px * 1/4));flex-basis:calc(99.7% * 1/4 - (32px - 32px * 1/4));max-width:calc(99.7% * 1/4 - (32px - 32px * 1/4));width:calc(99.7% * 1/4 - (32px - 32px * 1/4))}.header__items>div:nth-child(1n){margin-right:32px;margin-left:0}.header__items>div:last-child{margin-right:0}.header__items>div:nth-child(4n){margin-right:0;margin-left:auto}}@media only screen and (min-width:1050px){.header__items>div{margin-bottom:0!important;margin-right:0!important;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}.header__items .language__switcher{display:none}.header__items .language__switcher .li-nav.active>a,.header__items .language__switcher>li.active>a{color:#fff!important}.header__items .language__switcher .li-nav.active>a:hover,.header__items .language__switcher>li.active>a:hover{color:#fff!important;background:#0e5ef1}.header__items .language__switcher .li-nav:hover>a,.header__items .language__switcher>li:hover>a{color:#fff}.header+main{display:block;min-height:210px;-webkit-transition:margin .15s ease;transition:margin .15s ease;margin-top:0!important}.header--hide .header+main{margin-top:50px}.header--hide .header__toggle{opacity:0;top:20px;visibility:hidden}.header--hide .header__logo{max-height:0}.header--hide .header__middle,.header--hide .header__top{max-height:0;overflow:hidden;padding-top:0;padding-bottom:0;border-color:transparent}.header--hide .header__bottom .vue-portal-target{top:3px;right:0;bottom:auto;left:auto;position:absolute}.header__middle,.header__top{-webkit-transition:all .15s ease;transition:all .15s ease}.header__middle{border-bottom:1px solid rgba(0,0,0,.1);z-index:33}.header__middle .vue-portal-target{width:100%}@media only screen and (min-width:1050px){.header__middle .vue-portal-target{display:none}}@media only screen and (min-width:1050px){.header__middle{line-height:5.75rem;text-align:left;padding:0;z-index:30}.header__middle .widget__heading{display:none}}.header__top>.actions__left{display:none}@media only screen and (min-width:1050px){.header__top>.actions__left{display:-webkit-box;display:-ms-flexbox;display:flex}}.header__top>.actions__right{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin-right:0;margin-top:0;margin-bottom:0;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.header__top>.actions__right .dropdown__holder{width:calc(100vw - 16px);max-height:80vh}@media only screen and (min-width:600px){.header__top>.actions__right .dropdown__holder{width:auto}}.header__top>.actions__right>*{margin:0}.header__top>.actions__right .search{display:none}@media only screen and (min-width:1050px){.header__top>.actions__right>*{display:-webkit-box;display:-ms-flexbox;display:flex;white-space:nowrap}.header__top>.actions__right .search{display:block}}.header__top .user__login{display:block}.header__top .user__login>.button,.header__top .user__login>button{border-top-right-radius:0;border-bottom-right-radius:0}@media only screen and (min-width:1050px){.header__top{position:relative;right:auto;width:100%}}.header__logo{max-width:165px;position:absolute;top:8px;overflow:hidden;-webkit-transition:all .1s ease;transition:all .1s ease;z-index:32;line-height:2.25rem;height:36px;width:100px;margin-left:50px;-ms-flex-preferred-size:190px;flex-basis:190px}@media only screen and (min-width:800px){.header__logo{top:4px}}@media only screen and (min-width:1050px){.header__logo{position:relative;top:0;overflow:visible;margin-right:20px;margin-left:0;line-height:3.125rem;height:50px}.header__logo>*{width:165px}}@media only screen and (min-width:1280px){.header__logo{margin-right:30px}}.header__desc,.header__more>button{text-transform:capitalize;color:#666;letter-spacing:0;font-size:0;font-weight:400;line-height:1.5rem;vertical-align:top;font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI",system-ui,ui-sans-serif,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-transition:font-size .15s ease-in-out;transition:font-size .15s ease-in-out}@media only screen and (min-width:1050px){.header__desc,.header__more>button{font-size:.6875rem}}.header__desc{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;position:relative;width:auto}.header__topics{white-space:nowrap;float:right;position:relative}.header__topics *{display:inline-block;vertical-align:top}.header__topics a{font-size:.8125rem}@media only screen and (min-width:1050px){.header__topics{float:none}}.header__more{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:top}.header__more:before{left:-12px}.header__more:after,.header__more:before{content:'';width:1px;height:12px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:rgba(0,0,0,.1)}.header__more:after{right:-12px}.header__more:hover{cursor:pointer;color:rgba(0,0,0,.75)}.header__user{display:inline-block;vertical-align:top;white-space:nowrap;margin-left:8px}@media only screen and (min-width:1050px){.header__user{margin-left:0}}.header__user>div{display:inline-block;vertical-align:top}.header__user-nav a:not(.button){text-transform:uppercase;font-size:.75rem;font-weight:600}.header__user-nav a:not(.button):not(.active){opacity:.5}.header__user-nav a:not(.button):not(.active):hover{opacity:.75}.header__user-nav a:not(.button):hover{text-decoration:none}.header__user-nav a:not(.button).active{color:#222;cursor:default;text-decoration:none}.header__user-nav a:not(.button):before{margin-right:0}.header__user-nav a:not(.button):not(:last-child){margin-right:16px}@media only screen and (min-width:1050px){.header__user-nav a:not(.button):not(:last-child){margin-right:32px}}@media only screen and (min-width:1050px){.header__user-nav+.header__topics{margin-left:56px}}.header__search{display:none;vertical-align:top;margin-right:0}@media only screen and (min-width:1050px){.header__search{display:inline-block}}.header__search,.header__user{line-height:inherit}.header__nav{border-bottom:1px solid rgba(0,0,0,.1)}@media only screen and (min-width:800px){.header__nav{border-bottom:0}}.header__nav .button{margin-left:0}.header__nav .button__more{margin-right:20px}.header__nav .li-nav,.header__nav>li{-webkit-transition:all .15s ease;transition:all .15s ease}@media only screen and (min-width:1050px){.header__nav .li-nav,.header__nav>li{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle;position:static;border:none;min-height:65px}.header__nav .li-nav:hover.has--subnav .nav .li-nav,.header__nav .li-nav:hover.has--subnav .nav>li,.header__nav>li:hover.has--subnav .nav .li-nav,.header__nav>li:hover.has--subnav .nav>li{white-space:normal}.header__nav .li-nav:hover.has--subnav .nav__subnav,.header__nav>li:hover.has--subnav .nav__subnav{opacity:1;top:100%;visibility:visible;-webkit-transition-delay:.25s;transition-delay:.25s}.header__nav .li-nav:hover.has--subnav .nav__category,.header__nav>li:hover.has--subnav .nav__category{width:100%}.header__nav .li-nav:hover.has--subnav .nav__category:after,.header__nav .li-nav:hover.has--subnav .nav__category:before,.header__nav>li:hover.has--subnav .nav__category:after,.header__nav>li:hover.has--subnav .nav__category:before{-webkit-transition-delay:.25s;transition-delay:.25s;opacity:1}}@media only screen and (min-width:1080px){.header__nav .li-nav:not(:last-child),.header__nav>li:not(:last-child){margin-right:23px;margin-left:23px}}@media only screen and (min-width:1280px){.header__nav .li-nav:not(:last-child),.header__nav>li:not(:last-child){margin-right:23px;margin-left:23px}}@media only screen and (min-width:1338px){.header__nav .li-nav:not(:last-child),.header__nav>li:not(:last-child){margin-right:23px;margin-left:23px}}.header__nav .li-nav>a,.header__nav>li>a{font-size:.875rem;line-height:1.5rem;padding:12px 0;color:#000;display:inline-block;max-width:100%;position:relative;z-index:61;white-space:normal}@media only screen and (min-width:1050px){.header__nav .li-nav>a,.header__nav>li>a{padding:8px 0 0;font-weight:700}}.header__nav .li-nav>a:after,.header__nav .li-nav>a:before,.header__nav>li>a:after,.header__nav>li>a:before{content:'';position:absolute;bottom:-1px;left:50%;width:0;height:0;opacity:0;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-style:solid;border-width:0 5px 5px 5px;-webkit-transition:opacity .15s ease-in-out;transition:opacity .15s ease-in-out;border-color:transparent transparent #fff transparent}.header__nav .li-nav>a:before,.header__nav>li>a:before{left:50%;bottom:0;border-width:0 6px 6px 6px;border-color:transparent transparent #f5f7f8 transparent}@media only screen and (min-width:1050px){.header__nav .li-nav>a,.header__nav>li>a{font-size:1rem}}@media only screen and (min-width:1800px){.header__nav .li-nav>a,.header__nav>li>a{font-size:1.125rem}}.header--open{overflow:hidden}@media only screen and (min-width:600px){.header--open{overflow:visible}}.header--open .content-items{max-height:215px;margin:12px 0 24px}.header--open .search{margin-top:16px;display:block}.header--open .header__toggle:before{z-index:10}.header--open .header__toggle>span:nth-child(1){top:50%;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.header--open .header__toggle>span:nth-child(2){opacity:0}.header--open .header__toggle>span:nth-child(3){top:50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.header--open .header__items,.header--open .header__items .language__switcher{display:-webkit-box;display:-ms-flexbox;display:flex}.header--open .header__top{z-index:100;position:absolute;left:0;right:8px;background:#fff}@media only screen and (min-width:800px){.header--open .header__top{right:20px}}.header--open .header__top .search{display:none}.header--open .header__logo{z-index:101}.header--open .header__middle{padding-top:60px}.header--open .header__bottom{display:none}.header--open .header__container{max-height:90vh;overflow-x:hidden;overflow-y:auto}@media only screen and (min-width:1050px){.header--open .header__container{overflow:visible}}.header .subnav{position:absolute;-webkit-box-shadow:0 5px 25px 1px rgba(0,0,0,.15);box-shadow:0 5px 25px 1px rgba(0,0,0,.15);background:#fff;visibility:hidden;line-height:1.75rem;max-width:100%;width:100%;left:0;opacity:0;overflow:hidden;border:1px solid #f5f7f8;border-radius:2px;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out;top:105%;z-index:60;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.header .subnav .subnav__categories{-webkit-box-flex:0;-ms-flex:0 1 280px;flex:0 1 280px;padding:24px 0;background:#f5f7f8;margin-right:0!important}.header .subnav .subnav__categories>li{display:block;font-size:.9375rem;padding:2px 48px 2px 24px}.header .subnav .subnav__categories>li a{display:block;font-weight:700}.header .subnav .subnav__categories>li:hover{background:#e1e1e1}.header .subnav .subnav__heading{margin-bottom:20px}.header .subnav .subnav__content{position:relative;-ms-flex-item-align:start;align-self:flex-start;padding:24px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}@media only screen and (min-width:1050px){.header .subnav .subnav__content{padding-left:32px;padding-right:32px;margin:0 auto;-webkit-box-flex:1;-ms-flex:1 1 600px;flex:1 1 600px}}.header .subnav .subnav__content .heading__container{-ms-flex-preferred-size:100%;flex-basis:100%}.header .subnav .subnav__content:before{content:'';position:absolute;left:0;top:0;bottom:-100%;width:1px;background:rgba(0,0,0,.1)}.languagesEdition .active{font-weight:700}.header__more.dropdown:after{content:'';display:inline-block;vertical-align:middle;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;background-repeat:no-repeat;background-position:center;margin-bottom:2px;width:7px;height:7px;-webkit-transition:-webkit-transform .15s ease;transition:-webkit-transform .15s ease;transition:transform .15s ease;transition:transform .15s ease,-webkit-transform .15s ease;background-color:#fff!important;background-size:contain}.header__more.dropdown button{color:#000!important;margin-right:-20px;padding-right:20px;z-index:1000}.header__more.dropdown .dropdown__holder{width:165px}.header__more.dropdown .dropdown__content{padding:13px;padding-top:5px;padding-bottom:5px}.header__more.dropdown .languagesEdition li{border-bottom:1px solid #e6e6e6}.header__more.dropdown .languagesEdition li:last-child{border:0}.logo__data{display:none;color:#666;font-size:.6875rem}@media only screen and (min-width:1050px){.logo__data{display:block;line-height:.8125rem}}.container{padding-left:12px;padding-right:12px;margin:0 auto;min-width:320px;-webkit-transition:padding .15s ease-in-out;transition:padding .15s ease-in-out}@media only screen and (min-width:600px){.container{padding-left:16px;padding-right:16px}}@media only screen and (min-width:800px){.container{padding-left:20px;padding-right:20px}}@media only screen and (min-width:1250px){.container{padding-left:60px;padding-right:60px}}@media only screen and (min-width:1400px){.container{padding-left:20px;padding-right:20px}}.container.white{background:#fff}.container__inner{max-width:1290px;margin:0 auto;-webkit-transition:max-width .15s ease-out;transition:max-width .15s ease-out}.search{display:block;position:relative;z-index:33;width:100%;max-width:100%;margin:0}.search:before{position:absolute;top:50%;right:24px;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin-right:0;z-index:34}.search__bar{display:block;border-radius:2px;position:relative;z-index:33}.search__bar #search{margin-bottom:0;max-width:100%;background:#fff}.search__go{top:50%;right:0;bottom:0;left:auto;position:absolute;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:32;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:36px;line-height:2.25rem;-webkit-box-shadow:none;box-shadow:none;display:block;background:0 0;border:0;font-size:0}@media only screen and (min-width:600px){.search__go{z-index:35}}.header #search,.search__go:hover{cursor:pointer}.header #search{height:36px;position:relative;max-width:100%;background-color:#f5f7f8!important}@media only screen and (min-width:600px){.header #search{font-size:.8125rem;min-width:165px;max-width:100%;opacity:1}}.header #search:hover{cursor:auto}@media only screen and (min-width:1050px){.header #search{margin-left:auto;border-top-right-radius:0;border-bottom-right-radius:0;border-right:0}.header #search:focus{min-width:215px}}.header #search:focus{cursor:auto}.header #search .field__desc{display:none}.header #searchForm{width:100%;margin-top:8px}.header #searchForm:before{right:8px}@media only screen and (min-width:600px){.header #searchForm{margin-top:16px}}@media only screen and (min-width:1050px){.header #searchForm{margin-top:0}}</style>
|
||
<script>(function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date;
|
||
h.end=i=function(){s.className=s.className.replace(RegExp(' ?'+y),'')};
|
||
(a[n]=a[n]||[]).hide=h;setTimeout(function(){i();h.end=null},c);h.timeout=c;
|
||
})(window,document.documentElement,'async-hide','dataLayer',4000,
|
||
{'GTM-W9GJ5DL':true});</script>
|
||
|
||
<script type="text/javascript">
|
||
|
||
var loggedIn = false;
|
||
if (loggedIn) {
|
||
var userCountryId = '';
|
||
}
|
||
</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<script>
|
||
window.dataLayer = window.dataLayer || [];
|
||
function gtag(){dataLayer.push(arguments);}
|
||
|
||
//CookieControl tool recomendation
|
||
// Call the default command before gtag.js or Tag Manager runs to
|
||
// adjust how the tags operate when they run. Modify the defaults
|
||
// per your business requirements and prior consent granted/denied, e.g.:
|
||
gtag('consent', 'default', {
|
||
'ad_storage': 'denied',
|
||
'ad_user_data': 'denied',
|
||
'ad_personalization': 'denied',
|
||
'analytics_storage': 'denied',
|
||
wait_for_update: 500
|
||
});
|
||
gtag('set', 'ads_data_redaction', true);
|
||
gtag('set', 'url_passthrough', true);
|
||
|
||
if((typeof loggedIn != "undefined") && loggedIn){
|
||
window.dataLayer.push({'logged_in': 'true'});
|
||
} else {
|
||
window.dataLayer.push({'logged_in': 'false'});
|
||
}
|
||
|
||
window.dataLayer.push({'show_queryz': ''});
|
||
|
||
gtag('config', 'G-VMVPD4D2JY');
|
||
</script>
|
||
|
||
<!-- Google Tag Manager -->
|
||
<script>
|
||
var gtmProfile="GTM-W9GJ5DL";
|
||
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||
})(window,document,'script','dataLayer', gtmProfile);</script>
|
||
<!-- End Google Tag Manager -->
|
||
|
||
<title>Incident Analysis: Your Organization's Secret Weapon - InfoQ</title>
|
||
<link rel="canonical" href="https://www.infoq.com/presentations/incident-analysis-move-faster/"/>
|
||
<link rel="alternate" href="https://www.infoq.com/presentations/incident-analysis-move-faster/" hreflang="en"/>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<link rel="alternate" href="https://www.infoq.com/presentations/incident-analysis-move-faster/" hreflang="x-default" />
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<meta http-equiv="pragma" content="no-cache" />
|
||
<meta http-equiv="cache-control" content="private,no-cache,no-store,must-revalidate" />
|
||
<meta http-equiv="expires" content="0" />
|
||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||
<meta name="copyright" content="© 2006 C4Media" />
|
||
|
||
<meta name="google-site-verification" content="0qInQx_1WYOeIIbxnh7DnXlw1XOxNgAYakO2k4GhNnY" />
|
||
<meta name="msapplication-TileColor" content="#ffffff"/>
|
||
<meta name="msapplication-TileImage" content="/styles/static/images/logo/logo.jpg"/>
|
||
<meta property="wb:webmaster" content="3eac1729a8bbe046" />
|
||
<meta content="width=device-width,initial-scale=1" name="viewport">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=10, IE=edge">
|
||
|
||
|
||
<link rel="stylesheet" type="text/css" media="screen" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/style.css"/>
|
||
<link rel="stylesheet" type="text/css" media="print" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/print.css"/>
|
||
<link rel="preload" type="text/css" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/style_en.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
|
||
<link rel="preload" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/icons.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
|
||
<link rel="preload" type="text/css" media="screen" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/style_extra.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
|
||
<noscript>
|
||
<link rel="stylesheet" type="text/css" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/style_en.css"/>
|
||
<link rel="stylesheet" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/icons.css">
|
||
<link rel="stylesheet" type="text/css" media="screen" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/style_extra.css"/>
|
||
</noscript>
|
||
|
||
<link rel="stylesheet" type="text/css" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/fonts/font.css"/>
|
||
|
||
<link rel="shortcut icon" href="https://cdn.infoq.com/statics_s1_20260910111632/favicon.ico" type="image/x-icon" />
|
||
<link rel="apple-touch-icon" href="https://cdn.infoq.com/statics_s1_20260910111632/apple-touch-icon.png"/>
|
||
|
||
<script type="text/javascript">
|
||
var device='desktop';
|
||
var InfoQConstants = {};
|
||
InfoQConstants.language = 'en';
|
||
InfoQConstants.countryCode = '';
|
||
|
||
|
||
InfoQConstants.scp = 'eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6IioiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE3ODkxOTcxMTJ9LCJJcEFkZHJlc3MiOnsiQVdTOlNvdXJjZUlwIjoiMC4wLjAuMC8wIn19fV19';
|
||
InfoQConstants.scs = 'iP1lsUDkhfW58dlhJikQB4y64YNzIkSEFrO0YTglcszScUjzJM4YPT5hUUHcxuB0kjFjoGlsojLEIzDoCWh0PAeeuCHV4p5o2qa1eLy5jTcVia7tpMOVyEKQXQZ3j8IPym2zbCmfNZxcJSB0UCM6M3tLw92Hs9xO7jndYmf4AvU_';
|
||
InfoQConstants.sck = 'APKAIMZVI7QH4C5YKH6Q';
|
||
InfoQConstants.scd = '.infoq.com';
|
||
InfoQConstants.sct = '7200';
|
||
|
||
|
||
InfoQConstants.pageUrl = (typeof window.location != 'undefined' && window.location && typeof window.location.href != 'undefined' && window.location.href) ? window.location.href : "URL_UNAVAILABLE";
|
||
InfoQConstants.cet='7Ua0mv7Px1sBu8cR';
|
||
InfoQConstants.userDetectedCountryCode = 'US';
|
||
InfoQConstants.bpadb = '3PoHelVdDuUlnG1iFrPq';
|
||
</script>
|
||
|
||
<script type="text/javascript" src="https://cdn.infoq.com/statics_s1_20260910111632/scripts/combinedJs.min.js"></script>
|
||
<script type="text/javascript">
|
||
|
||
var JSi18n = JSi18n || {}; // define only if not already defined
|
||
JSi18n.error='Error';
|
||
JSi18n.login_unverifiedAccount='Unverified account';
|
||
JSi18n.contentSummary_showPresentations_1='';
|
||
JSi18n.contentSummary_showPresentations_2='';
|
||
JSi18n.contentSummary_showPresentations_3='';
|
||
JSi18n.contentSummary_showInterviews_1='';
|
||
JSi18n.contentSummary_showInterviews_2='';
|
||
JSi18n.contentSummary_showInterviews_3='';
|
||
JSi18n.contentSummary_showMinibooks_1='';
|
||
JSi18n.contentSummary_showMinibooks_2='';
|
||
JSi18n.login_sendingRequest='Sending request ...';
|
||
JSi18n.bookmark_saved='<q> Saved </q>';
|
||
JSi18n.bookmark_error='<q style=color:black;> Error </q>';
|
||
JSi18n.categoryManagement_showpopup_viewAllLink_viewAllPrefix='View All';
|
||
JSi18n.categoryManagement_showpopup_viewAllLink_viewAllSuffix='';
|
||
JSi18n.categoryManagement_showpopup_includeExcludeLink_Exclude='Exclude';
|
||
JSi18n.categoryManagement_showpopup_includeExcludeLink_Include='Include';
|
||
JSi18n.login_invalid_email='Please specify a valid email';
|
||
JSi18n.login_email_not_found = 'No user found with that email';
|
||
JSi18n.content_datetime_format='MMM dd, yyyy';
|
||
|
||
// used by frontend
|
||
JSi18n.FE = {
|
||
labels: {
|
||
follow: "Follow",
|
||
followTopic: "Follow Topic",
|
||
unfollow: "Unfollow",
|
||
unfollowTopic: "Unfollow Topic",
|
||
following: "Following",
|
||
followers: "Followers",
|
||
like: "Like",
|
||
liked: "Liked",
|
||
authors: "Peers",
|
||
users : "Users",
|
||
topics: "Topics",
|
||
hide: "Hide Item",
|
||
hidden: "%s was hidden on your profile page.",
|
||
undo: "Undo",
|
||
showLess: "Show less",
|
||
showMore: "Show more",
|
||
moreAuthors: "And %s more",
|
||
bookmarked: "Content Bookmarked",
|
||
unbookmarked: "Content Unbookmarked",
|
||
characterLimit: "Characters Remaining"
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
var usersInPage = JSON.parse('[{\"id\":\"62671158\",\"ref\":\"author-Monica-Beckwith\",\"url\":\"\/profile\/Monica-Beckwith\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Monica Beckwith\",\"bio\":\"\",\"followers\":1833,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/QhDv7pXEUK1sdLsYArFmnLxecH4rYhAc.jpg\"},{\"id\":\"45723890\",\"ref\":\"author-Rags-Srinivas\",\"url\":\"\/profile\/Rags-Srinivas\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Rags Srinivas\",\"bio\":\"\",\"followers\":356,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/t4nyfgw1THkp4wMZ9EZ59RGJx8Hf9Rk8.jpg\"},{\"id\":\"87551248\",\"ref\":\"author-Steef~Jan-Wiggers\",\"url\":\"\/profile\/Steef~Jan-Wiggers\",\"followedByCurrentUser\":false,\"minibio\":\"Cloud Queue Lead Editor | Domain Architect | Cloud Expert\",\"name\":\"Steef-Jan Wiggers\",\"bio\":\"\",\"followers\":895,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/BhZx03k3Hj0pZVXmTzGqItwZxtJ06oIb.jpg\"},{\"id\":\"80977916\",\"ref\":\"author-Thomas-Betts\",\"url\":\"\/profile\/Thomas-Betts\",\"followedByCurrentUser\":false,\"minibio\":\"Senior Laureate Application Architect at Blackbaud\",\"name\":\"Thomas Betts\",\"bio\":\"\",\"followers\":1171,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/pSqI6HrU3k9rmmVjwS34OHG0bOMYiE6a.jpg\"},{\"id\":\"72028228\",\"ref\":\"author-Sergio-De-Simone\",\"url\":\"\/profile\/Sergio-De-Simone\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Sergio De Simone\",\"bio\":\"\",\"followers\":777,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/NovciOoQOAYWqYqRQBFo97SuMm0xbUiC.jpg\"},{\"id\":\"126467140\",\"ref\":\"author-Renato-Losio\",\"url\":\"\/profile\/Renato-Losio\",\"followedByCurrentUser\":false,\"minibio\":\"Cloud Expert | AWS Data Hero \",\"name\":\"Renato Losio\",\"bio\":\"\",\"followers\":913,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/ptroF8HdI2vWXm0NDaKeS0JdiPxMOAra.jpg\"},{\"id\":\"107488207\",\"ref\":\"author-Nora-Jones\",\"url\":\"\/profile\/Nora-Jones\",\"followedByCurrentUser\":false,\"minibio\":\" Founder and CEO of Jeli\",\"name\":\"Nora Jones\",\"bio\":\"\",\"followers\":39,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/5bf5ca37ce90016202dc535ee4bc5cb1.jpg\"},{\"id\":\"126464202\",\"ref\":\"author-Johan-Janssen\",\"url\":\"\/profile\/Johan-Janssen\",\"followedByCurrentUser\":false,\"minibio\":\"Architect at ASML\",\"name\":\"Johan Janssen\",\"bio\":\"\",\"followers\":536,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/Fb4eZ0mtvMf6MhsmBIhsUVueV4xAs2FD.jpg\"},{\"id\":\"39485652\",\"ref\":\"author-Daniel-Bryant\",\"url\":\"\/profile\/Daniel-Bryant\",\"followedByCurrentUser\":false,\"minibio\":\"InfoQ News Manager | Building Platforms at Syntasso\",\"name\":\"Daniel Bryant\",\"bio\":\"\",\"followers\":2751,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/tSe5dczMaSGtRUm18VkTR2tcF4W3SogA.jpg\"},{\"id\":\"63268344\",\"ref\":\"author-Chris-Swan\",\"url\":\"\/profile\/Chris-Swan\",\"followedByCurrentUser\":false,\"minibio\":\"Engineer, Atsign\",\"name\":\"Chris Swan\",\"bio\":\"\",\"followers\":1873,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/8PE76nOujWAoCM8yqLn9Hfv2HqW3VlIP.jpg\"},{\"id\":\"4927376\",\"ref\":\"author-Karsten-Silz\",\"url\":\"\/profile\/Karsten-Silz\",\"followedByCurrentUser\":false,\"minibio\":\"Full-Stack Java Developer\",\"name\":\"Karsten Silz\",\"bio\":\"\",\"followers\":399,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/p6zmOdOcqXiRj09iiZNeDZap7f0IglQW.jpg\"},{\"id\":\"343314\",\"ref\":\"author-Jonathan-Allen\",\"url\":\"\/profile\/Jonathan-Allen\",\"followedByCurrentUser\":false,\"minibio\":\"Software Architect\",\"name\":\"Jonathan Allen\",\"bio\":\"\",\"followers\":1833,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/Wk_C09_mzwK23YkTkKMXResJv3LKUN5D.jpg\"},{\"id\":\"114725059\",\"ref\":\"author-Holly-Cummins\",\"url\":\"\/profile\/Holly-Cummins\",\"followedByCurrentUser\":false,\"minibio\":\"Senior Technical Staff Member, IBM\",\"name\":\"Holly Cummins\",\"bio\":\"\",\"followers\":615,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/cRsuGlFgKyGmGfEHvafpMO63CxbrEm22.jpg\"}]');
|
||
|
||
|
||
|
||
|
||
var topicsInPage = JSON.parse('[{\"name\":\"Architecture & Design\",\"id\":\"6816\",\"url\":\"\/architecture-design\",\"followers\":10383,\"followedByCurrentUser\":false},{\"name\":\"Culture & Methods\",\"id\":\"6817\",\"url\":\"\/culture-methods\",\"followers\":3994,\"followedByCurrentUser\":false},{\"name\":\"Resilience\",\"id\":\"14722\",\"url\":\"\/Resilience\",\"followers\":90,\"followedByCurrentUser\":false},{\"name\":\".NET Core\",\"id\":\"15683\",\"url\":\"\/Net-Core\",\"followers\":8030,\"followedByCurrentUser\":false},{\"name\":\"Incident Response\",\"id\":\"16293\",\"url\":\"\/incident-reponse\",\"followers\":11,\"followedByCurrentUser\":false},{\"name\":\"Chaos Engineering\",\"id\":\"17608\",\"url\":\"\/chaos-engineering\",\"followers\":143,\"followedByCurrentUser\":false},{\"name\":\"QCon Plus May 2021\",\"id\":\"18248\",\"url\":\"\/qcon-plus-may-2021\",\"followers\":2,\"followedByCurrentUser\":false},{\"name\":\"Machine Learning\",\"id\":\"5449\",\"url\":\"\/MachineLearning\",\"followers\":14751,\"followedByCurrentUser\":false},{\"name\":\"Microservices\",\"id\":\"15274\",\"url\":\"\/microservices\",\"followers\":22348,\"followedByCurrentUser\":false},{\"name\":\"Architecture\",\"id\":\"1389\",\"url\":\"\/architecture\",\"followers\":3366,\"followedByCurrentUser\":false},{\"name\":\"AI, ML & Data Engineering\",\"id\":\"16690\",\"url\":\"\/ai-ml-data-eng\",\"followers\":6077,\"followedByCurrentUser\":false},{\"name\":\"QCon Software Development Conference\",\"id\":\"597\",\"url\":\"\/qcon\",\"followers\":261,\"followedByCurrentUser\":false},{\"name\":\"QCon Plus\",\"id\":\"18198\",\"url\":\"\/qcon-plus\",\"followers\":11,\"followedByCurrentUser\":false},{\"name\":\"Java9\",\"id\":\"7097\",\"url\":\"\/Java9\",\"followers\":5540,\"followedByCurrentUser\":false},{\"name\":\"DevOps\",\"id\":\"6043\",\"url\":\"\/Devops\",\"followers\":5131,\"followedByCurrentUser\":false},{\"name\":\"Reactive Programming\",\"id\":\"15453\",\"url\":\"\/reactive-programming\",\"followers\":12430,\"followedByCurrentUser\":false},{\"name\":\"Development\",\"id\":\"6815\",\"url\":\"\/development\",\"followers\":4154,\"followedByCurrentUser\":false}]');
|
||
|
||
|
||
var userContentLikesInPage = [];
|
||
var userCommentsLikesInPage = [];
|
||
|
||
|
||
var currentUserId = 2;
|
||
</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- Latest Version -->
|
||
<script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"></script>
|
||
<script>
|
||
const config = {
|
||
apiKey: '8910ea974a96ffb6f927952b4ae9b9b0cc3e5973',
|
||
product: 'PRO_MULTISITE',
|
||
|
||
// general settings
|
||
consentCookieExpiry: 90,
|
||
encodeCookie: true,
|
||
sameSiteCookie: true, // if false, cookie set as SameSite=None;secure;
|
||
sameSiteValue: ';secure', // either 'Strict', 'Lax', or 'None'
|
||
subDomains: true,
|
||
initialState: 'notify', // 'notify','top','box' require pro licence
|
||
notifyOnce: false,
|
||
setInnerHTML: true,
|
||
|
||
//layout settings
|
||
layout: 'slideout',
|
||
position: 'left',
|
||
theme: 'light',
|
||
acceptButton: true,
|
||
rejectButton: true,
|
||
closeOnGlobalChange: true,
|
||
closeStyle: 'icon',
|
||
toggleType: 'slider',
|
||
notifyDismissButton: true,
|
||
settingsStyle: 'link',
|
||
excludedCountries: ['US'],
|
||
|
||
/*accessibility: {
|
||
disableSiteScrolling: true,
|
||
},*/
|
||
|
||
statement: {
|
||
description: 'For more detailed information about the cookies we use, see our',
|
||
name: 'Cookie Policy',
|
||
url: 'https://www.infoq.com/cookie-policy',
|
||
updated: '01/01/2024',
|
||
},
|
||
|
||
// cookies starting from 'cookie_expire' are from live.infoq.com but since we use the same tool on the same domain we need to specify those too so
|
||
// that infoq.com cookieControl does not delete live.infoq.com cookies(also infoq.com cookies have been specified in live.infoq.com cookieControl configs)
|
||
necessaryCookies: ['RegUserCookie', 'UserCookie', 'IdpCookie', 'ConversionTrackingV2_','PSAdialog','*P13NWN*','topbarSurvey','__bkm','JSESSIONID','mp_','_mixpanel','CloudFront-Key-Pair-Id','CloudFront-Policy','CloudFront-Signature','cookie_expire','discount_promo_closed','discount_promo_code','discount_promo_submitted','exit_survey_popup','referrer_popup','voting_popup_*','AWSALB','AWSALBCORS','aws-waf-token','iq_sub_preview'],
|
||
|
||
optionalCookies: [
|
||
{
|
||
name: 'analytics',
|
||
label: 'Analytics',
|
||
description: 'Analytical cookies help us to improve our website by collecting and reporting information on its usage.',
|
||
cookies: ['_ga', '_ga*', '_gid', '_gat', '__utma', '__utmt', '__utmb', '__utmc', '__utmz', '__utmv'],
|
||
onAccept: function(){
|
||
gtag('consent', 'update', {'analytics_storage': 'granted'});
|
||
},
|
||
onRevoke: function(){
|
||
gtag('consent', 'update', {'analytics_storage': 'denied'});
|
||
}
|
||
},
|
||
{
|
||
name: 'marketing',
|
||
label: 'Advertising',
|
||
description: 'We use advertising cookies to display advertisements to you for our products.',
|
||
onAccept: function(){
|
||
gtag('consent', 'update', {'ad_storage': 'granted', 'ad_personalization': 'granted', 'ad_user_data': 'granted'});
|
||
},
|
||
onRevoke: function(){
|
||
gtag('consent', 'update', {'ad_storage': 'denied', 'ad_personalization': 'denied', 'ad_user_data': 'denied'});
|
||
}
|
||
}
|
||
],
|
||
|
||
text : {
|
||
// main preference panels
|
||
title: '<h3>Our use of cookies</h3>',
|
||
intro: 'We use necessary cookies to make our site work. Functional cookies help enhance the performance and functionality of the site. '+
|
||
'We\'d also like to set analytics cookies to help us improve your experience by measuring how you use the site. '+
|
||
'These will be set only if you accept. ',
|
||
acceptSettings: 'I Accept',
|
||
rejectSettings: 'I Do Not Accept',
|
||
necessaryTitle : '<h3>Necessary Cookies</h3>',
|
||
necessaryDescription : 'Necessary cookies enable core functionality ' +
|
||
'such as page navigation and access to secure areas. '+
|
||
'The website cannot function properly without '+
|
||
'these cookies, and can only be disabled by changing '+
|
||
'your browser preferences.',
|
||
closeLabel: 'Close Cookie Control',
|
||
cornerButton: 'Set cookie preferences',
|
||
// main preference panel controls
|
||
on: 'On',
|
||
off : 'Off',
|
||
thirdPartyTitle : 'Some cookies require your attention',
|
||
thirdPartyDescription : 'Consent for the following cookies could not be '+
|
||
'automatically revoked. Please follow the link(s) '+
|
||
'below to opt out manually.',
|
||
// notification panels (only accessible for pro licences)
|
||
notifyTitle : 'Your choice regarding cookies on this site',
|
||
notifyDescription : 'We use cookies to optimise site functionality and '+
|
||
'give you the best possible experience.',
|
||
accept : 'I Accept',
|
||
reject: 'I Do Not Accept',
|
||
settings : 'Settings',
|
||
},
|
||
branding : {
|
||
removeAbout: true,
|
||
},
|
||
};
|
||
// do not load this for local envs only. for testing on local envs remove/modify this condition
|
||
if(InfoQConstants.pageUrl.indexOf('local')===-1){
|
||
CookieControl.load( config );
|
||
}
|
||
</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "http://schema.org",
|
||
"@type": "NewsArticle",
|
||
"mainEntityOfPage": {
|
||
"@type": "WebPage",
|
||
"@id": "https://www.infoq.com/presentations/incident-analysis-move-faster/"
|
||
},
|
||
"headline": "Incident Analysis: Your Organization's Secret Weapon",
|
||
"image": ["https://res.infoq.com/presentations/incident-analysis-move-faster/en/mediumimage/Nora-Jones-m-1639052427135.jpg"
|
||
],
|
||
"datePublished": "2021-12-09T15:20:00+0000",
|
||
"dateModified": "2021-12-09T15:20:00+0000",
|
||
"author": [
|
||
{
|
||
"@type": "Person",
|
||
"name": "Nora Jones",
|
||
"url": "https://www.infoq.com/profile/Nora-Jones/"
|
||
}
|
||
],
|
||
"publisher": {
|
||
"@type": "Organization",
|
||
"name": "InfoQ",
|
||
"logo": {
|
||
"@type": "ImageObject",
|
||
"url": "https://assets.infoq.com/resources/en/logo_scrubber_big_4_3.jpg"
|
||
}
|
||
},
|
||
"description": "Nora Jones discusses how to move faster and focus on the things that matter by using incident analysis.",
|
||
"video":
|
||
{
|
||
"@type": "VideoObject",
|
||
"name": "Incident Analysis: Your Organization's Secret Weapon",
|
||
"description": "Nora Jones discusses how to move faster and focus on the things that matter by using incident analysis.",
|
||
"thumbnailUrl": [
|
||
"https://res.infoq.com/presentations/incident-analysis-move-faster/en/mediumimage/Nora-Jones-m-1639052427135.jpg"
|
||
],
|
||
"uploadDate": "2021-12-09T15:20:00+0000",
|
||
"duration": "PT37M40S",
|
||
"contentUrl": "https://videog.infoq.com/presentations/21-may-incidentanalysis.mp4"
|
||
},
|
||
"isAccessibleForFree": "False",
|
||
"hasPart":
|
||
{
|
||
"@type": "WebPageElement",
|
||
"isAccessibleForFree": "False",
|
||
"cssSelector" : ".paywallPdf"
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<meta name="ifq:pageType" content="PRESENTATION_PAGE"/>
|
||
<script type="text/javascript">
|
||
InfoQConstants.pageType = 'PRESENTATION_PAGE';
|
||
</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<meta property="og:type" content="website" />
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<meta property="og:image" content="https://res.infoq.com/presentations/incident-analysis-move-faster/en/headerimage/twitter_card+%2832%29-1639052427135.jpg"/>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<meta property="twitter:image" content="https://res.infoq.com/presentations/incident-analysis-move-faster/en/card_header_image/generatedCard-1639052427135.jpg"/>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<meta property="og:title" content="Incident Analysis: Your Organization's Secret Weapon "/>
|
||
<meta property="og:description" content="Nora Jones discusses how to move faster and focus on the things that matter by using incident analysis." />
|
||
<meta property="og:site_name" content="InfoQ"/>
|
||
<meta property="og:url" content="https://www.infoq.com/presentations/incident-analysis-move-faster/"/>
|
||
|
||
<meta name="twitter:card" content="summary_large_image" />
|
||
<meta name="twitter:title" content="Incident Analysis: Your Organization's Secret Weapon "/>
|
||
<meta name="twitter:description" content="Nora Jones discusses how to move faster and focus on the things that matter by using incident analysis." />
|
||
|
||
|
||
<link rel="image_src" href="https://res.infoq.com/presentations/incident-analysis-move-faster/en/headerimage/twitter_card+%2832%29-1639052427135.jpg"/>
|
||
|
||
|
||
|
||
<meta name="keywords" content="incident analysis move faster,DevOps,QCon Plus May 2021,QCon Plus,Chaos Engineering,Resilience,QCon Software Development Conference,Incident Response,Architecture,"/>
|
||
<meta name="description" content="Nora Jones discusses how to move faster and focus on the things that matter by using incident analysis."/>
|
||
<meta name="tprox" content="1639063200000" />
|
||
|
||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js"></script>
|
||
<script type="text/javascript">
|
||
var slides = new Array('https://imgopt.infoq.com/fit-in/1288x0/filters:quality(80)/presentations/incident-analysis-move-faster/en/slides/sl1-1639084419259.jpg'),
|
||
TIMES = new Array(0,2260),
|
||
EXPRESSINSTALL_SWF = 'https://cdn.infoq.com/statics_s1_20260910111632/scripts/video/flash/expressinstall.swf',
|
||
SVMPLAYER_SWF = 'https://cdn.infoq.com/statics_s1_20260910111632/scripts/video/flash/svmplayer.swf',
|
||
isWideScreen = true,
|
||
// i18n text for the to full view/minimize button
|
||
i18nFullScreen = 'Full',
|
||
i18nMinimize = 'Minimize',
|
||
demoTimings = '5,2259';
|
||
var playerSplash = 'https://cdn.infoq.com/statics_s1_20260910111632/styles/static/images/logo/logo_scrubber_16_9.jpg';
|
||
|
||
var vhf = 'cnRtcGU6Ly92aWRlb2YuaW5mb3EuY29tL2NmeC9zdC8=';
|
||
var jsclassref = 'cHJlc2VudGF0aW9ucy8yMS1tYXktaW5jaWRlbnRhbmFseXNpcy5tcDQ=';
|
||
</script>
|
||
|
||
<script type="text/javascript" src="https://cdn.infoq.com/statics_s1_20260910111632/scripts/video/player/PlayerPresentation_mobile.js"></script>
|
||
<script type="text/javascript">
|
||
$(document).ready(function() {
|
||
init();
|
||
});
|
||
</script>
|
||
|
||
|
||
<script type='text/javascript' src='https://cdn.infoq.com/statics_s1_20260910111632/scripts/video/videoPlayercombinedJsPresentation.js'></script>
|
||
|
||
<script type='text/javascript' src='https://cdn.infoq.com/statics_s1_20260910111632/scripts/video/PresentationUI.js'></script>
|
||
<script type='text/javascript' src='https://cdn.infoq.com/statics_s1_20260910111632/scripts/ui/jquery.tipsy.js'></script>
|
||
<link rel="stylesheet" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/tipsy.css" type="text/css" />
|
||
<script type="text/javascript">
|
||
P.s = 'https://videoh.infoq.com/presentations/21-may-incidentanalysis.mp4';
|
||
</script>
|
||
<script type="text/javascript" src="https://cdn.infoq.com/statics_s1_20260910111632/scripts/relatedVcr.min.js"></script>
|
||
<script type="application/javascript">
|
||
var communityIds = "1893";
|
||
var topicIds = "6766,6724,6169,3450,593,4910,876";
|
||
VCR.loadAllVcrs(communityIds, topicIds);
|
||
</script>
|
||
<script type="text/javascript" src='https://cdn.infoq.com/statics_s1_20260910111632/scripts/subscription.js'></script>
|
||
|
||
|
||
|
||
|
||
|
||
<script type="text/javascript" src="https://cdn.infoq.com/statics_s1_20260910111632/scripts/infoq.js"></script>
|
||
|
||
<script type="text/javascript">
|
||
document.addEventListener('DOMContentLoaded', function() {
|
||
if (!window || !window.infoq) return
|
||
infoq.init()
|
||
})
|
||
</script>
|
||
|
||
<script defer data-domain="infoq.com" src="https://plausible.io/js/script.file-downloads.hash.outbound-links.pageview-props.tagged-events.js"></script>
|
||
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
|
||
|
||
</head>
|
||
|
||
<body >
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- Google Tag Manager (noscript) -->
|
||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W9GJ5DL"
|
||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||
<!-- End Google Tag Manager (noscript) -->
|
||
|
||
<div class="intbt">
|
||
<a href="/int/bt/" title="bt">BT</a>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<script type="text/javascript">
|
||
var allCountries = [{"id":3,"name":"Afghanistan"},{"id":244,"name":"Åland"},{"id":6,"name":"Albania"},{"id":61,"name":"Algeria"},{"id":13,"name":"American Samoa"},{"id":1,"name":"Andorra"},{"id":9,"name":"Angola"},{"id":5,"name":"Anguilla"},{"id":11,"name":"Antarctica"},{"id":4,"name":"Antigua and Barbuda"},{"id":12,"name":"Argentina"},{"id":7,"name":"Armenia"},{"id":16,"name":"Aruba"},{"id":15,"name":"Australia"},{"id":14,"name":"Austria"},{"id":17,"name":"Azerbaijan"},{"id":31,"name":"Bahamas"},{"id":24,"name":"Bahrain"},{"id":20,"name":"Bangladesh"},{"id":19,"name":"Barbados"},{"id":35,"name":"Belarus"},{"id":21,"name":"Belgium"},{"id":36,"name":"Belize"},{"id":26,"name":"Benin"},{"id":27,"name":"Bermuda"},{"id":32,"name":"Bhutan"},{"id":29,"name":"Bolivia"},{"id":254,"name":"Bonaire, Sint Eustatius, and Saba"},{"id":18,"name":"Bosnia and Herzegovina"},{"id":34,"name":"Botswana"},{"id":33,"name":"Bouvet Island"},{"id":30,"name":"Brazil"},{"id":104,"name":"British Indian Ocean Territory"},{"id":28,"name":"Brunei Darussalam"},{"id":23,"name":"Bulgaria"},{"id":22,"name":"Burkina Faso"},{"id":25,"name":"Burundi"},{"id":114,"name":"Cambodia"},{"id":46,"name":"Cameroon"},{"id":37,"name":"Canada"},{"id":52,"name":"Cape Verde"},{"id":121,"name":"Cayman Islands"},{"id":40,"name":"Central African Republic"},{"id":207,"name":"Chad"},{"id":45,"name":"Chile"},{"id":47,"name":"China"},{"id":53,"name":"Christmas Island"},{"id":38,"name":"Cocos (Keeling) Islands"},{"id":48,"name":"Colombia"},{"id":116,"name":"Comoros"},{"id":39,"name":"Congo (Democratic Republic)"},{"id":41,"name":"Congo (People\u0027s Republic)"},{"id":44,"name":"Cook Islands"},{"id":49,"name":"Costa Rica"},{"id":43,"name":"Cote D\u0027Ivoire"},{"id":97,"name":"Croatia"},{"id":51,"name":"Cuba"},{"id":253,"name":"Curaçao"},{"id":54,"name":"Cyprus"},{"id":55,"name":"Czech Republic"},{"id":58,"name":"Denmark"},{"id":57,"name":"Djibouti"},{"id":59,"name":"Dominica"},{"id":60,"name":"Dominican Republic"},{"id":213,"name":"East Timor"},{"id":62,"name":"Ecuador"},{"id":64,"name":"Egypt"},{"id":203,"name":"El Salvador"},{"id":87,"name":"Equatorial Guinea"},{"id":66,"name":"Eritrea"},{"id":63,"name":"Estonia"},{"id":68,"name":"Ethiopia"},{"id":72,"name":"Falkland Islands (Malvinas)"},{"id":74,"name":"Faroe Islands"},{"id":71,"name":"Fiji"},{"id":70,"name":"Finland"},{"id":75,"name":"France"},{"id":80,"name":"French Guiana"},{"id":170,"name":"French Polynesia"},{"id":208,"name":"French Southern Territories"},{"id":76,"name":"Gabon"},{"id":84,"name":"Gambia"},{"id":79,"name":"Georgia"},{"id":56,"name":"Germany"},{"id":81,"name":"Ghana"},{"id":82,"name":"Gibraltar"},{"id":88,"name":"Greece"},{"id":83,"name":"Greenland"},{"id":78,"name":"Grenada"},{"id":86,"name":"Guadeloupe"},{"id":91,"name":"Guam"},{"id":90,"name":"Guatemala"},{"id":249,"name":"Guernsey"},{"id":85,"name":"Guinea"},{"id":92,"name":"Guinea-Bissau"},{"id":93,"name":"Guyana"},{"id":98,"name":"Haiti"},{"id":95,"name":"Heard Island and McDonald Islands"},{"id":96,"name":"Honduras"},{"id":94,"name":"Hong Kong"},{"id":99,"name":"Hungary"},{"id":107,"name":"Iceland"},{"id":103,"name":"India"},{"id":100,"name":"Indonesia"},{"id":106,"name":"Iran"},{"id":105,"name":"Iraq"},{"id":101,"name":"Ireland"},{"id":245,"name":"Isle of Man"},{"id":102,"name":"Israel"},{"id":108,"name":"Italy"},{"id":109,"name":"Jamaica"},{"id":111,"name":"Japan"},{"id":250,"name":"Jersey"},{"id":110,"name":"Jordan"},{"id":122,"name":"Kazakhstan"},{"id":112,"name":"Kenya"},{"id":115,"name":"Kiribati"},{"id":243,"name":"Kosovo"},{"id":120,"name":"Kuwait"},{"id":113,"name":"Kyrgyzstan"},{"id":123,"name":"Laos"},{"id":132,"name":"Latvia"},{"id":124,"name":"Lebanon"},{"id":129,"name":"Lesotho"},{"id":128,"name":"Liberia"},{"id":133,"name":"Libya"},{"id":126,"name":"Liechtenstein"},{"id":130,"name":"Lithuania"},{"id":131,"name":"Luxembourg"},{"id":143,"name":"Macau"},{"id":139,"name":"Macedonia"},{"id":137,"name":"Madagascar"},{"id":151,"name":"Malawi"},{"id":153,"name":"Malaysia"},{"id":150,"name":"Maldives"},{"id":140,"name":"Mali"},{"id":148,"name":"Malta"},{"id":138,"name":"Marshall Islands"},{"id":145,"name":"Martinique"},{"id":146,"name":"Mauritania"},{"id":149,"name":"Mauritius"},{"id":238,"name":"Mayotte"},{"id":152,"name":"Mexico"},{"id":73,"name":"Micronesia"},{"id":136,"name":"Moldova"},{"id":135,"name":"Monaco"},{"id":142,"name":"Mongolia"},{"id":246,"name":"Montenegro"},{"id":147,"name":"Montserrat"},{"id":134,"name":"Morocco"},{"id":154,"name":"Mozambique"},{"id":141,"name":"Myanmar"},{"id":155,"name":"Namibia"},{"id":164,"name":"Nauru"},{"id":163,"name":"Nepal"},{"id":161,"name":"Netherlands"},{"id":8,"name":"Netherlands Antilles"},{"id":156,"name":"New Caledonia"},{"id":166,"name":"New Zealand"},{"id":160,"name":"Nicaragua"},{"id":157,"name":"Niger"},{"id":159,"name":"Nigeria"},{"id":165,"name":"Niue"},{"id":158,"name":"Norfolk Island"},{"id":118,"name":"North Korea"},{"id":144,"name":"Northern Mariana Islands"},{"id":162,"name":"Norway"},{"id":167,"name":"Oman"},{"id":173,"name":"Pakistan"},{"id":180,"name":"Palau"},{"id":178,"name":"Palestinian Territory"},{"id":168,"name":"Panama"},{"id":171,"name":"Papua New Guinea"},{"id":181,"name":"Paraguay"},{"id":169,"name":"Peru"},{"id":172,"name":"Philippines"},{"id":176,"name":"Pitcairn"},{"id":174,"name":"Poland"},{"id":179,"name":"Portugal"},{"id":177,"name":"Puerto Rico"},{"id":182,"name":"Qatar"},{"id":183,"name":"Reunion"},{"id":184,"name":"Romania"},{"id":185,"name":"Russian Federation"},{"id":186,"name":"Rwanda"},{"id":193,"name":"Saint Helena"},{"id":117,"name":"Saint Kitts and Nevis"},{"id":125,"name":"Saint Lucia"},{"id":251,"name":"Saint Martin"},{"id":175,"name":"Saint Pierre and Miquelon"},{"id":229,"name":"Saint Vincent and the Grenadines"},{"id":247,"name":"Saint-Barthélemy"},{"id":236,"name":"Samoa"},{"id":198,"name":"San Marino"},{"id":202,"name":"Sao Tome and Principe"},{"id":187,"name":"Saudi Arabia"},{"id":199,"name":"Senegal"},{"id":248,"name":"Serbia"},{"id":189,"name":"Seychelles"},{"id":197,"name":"Sierra Leone"},{"id":192,"name":"Singapore"},{"id":252,"name":"Sint Maarten"},{"id":196,"name":"Slovakia"},{"id":194,"name":"Slovenia"},{"id":188,"name":"Solomon Islands"},{"id":200,"name":"Somalia"},{"id":239,"name":"South Africa"},{"id":89,"name":"South Georgia and the South Sandwich Islands"},{"id":119,"name":"South Korea"},{"id":255,"name":"South Sudan"},{"id":67,"name":"Spain"},{"id":127,"name":"Sri Lanka"},{"id":190,"name":"Sudan"},{"id":201,"name":"Suriname"},{"id":195,"name":"Svalbard and Jan Mayen"},{"id":205,"name":"Swaziland"},{"id":191,"name":"Sweden"},{"id":42,"name":"Switzerland"},{"id":204,"name":"Syria"},{"id":220,"name":"Taiwan"},{"id":211,"name":"Tajikistan"},{"id":221,"name":"Tanzania"},{"id":210,"name":"Thailand"},{"id":209,"name":"Togo"},{"id":212,"name":"Tokelau"},{"id":216,"name":"Tonga"},{"id":218,"name":"Trinidad and Tobago"},{"id":215,"name":"Tunisia"},{"id":217,"name":"Turkey"},{"id":214,"name":"Turkmenistan"},{"id":206,"name":"Turks and Caicos Islands"},{"id":219,"name":"Tuvalu"},{"id":223,"name":"Uganda"},{"id":222,"name":"Ukraine"},{"id":2,"name":"United Arab Emirates"},{"id":77,"name":"United Kingdom"},{"id":224,"name":"United States Minor Outlying Islands"},{"id":226,"name":"Uruguay"},{"id":225,"name":"USA"},{"id":227,"name":"Uzbekistan"},{"id":234,"name":"Vanuatu"},{"id":228,"name":"Vatican City (Holy See)"},{"id":230,"name":"Venezuela"},{"id":233,"name":"Vietnam"},{"id":231,"name":"Virgin Islands (British)"},{"id":232,"name":"Virgin Islands (U.S.)"},{"id":235,"name":"Wallis and Futuna"},{"id":65,"name":"Western Sahara"},{"id":237,"name":"Yemen"},{"id":241,"name":"Zaire"},{"id":240,"name":"Zambia"},{"id":242,"name":"Zimbabwe"}];
|
||
var gdprCountriesIds = [196,194,191,184,179,174,161,148,132,131,130,108,101,99,97,88,77,75,70,67,63,58,56,55,54,37,23,21,14];
|
||
</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<section data-nosnippet class="section container subscribe-box hidden">
|
||
<div class="container__inner">
|
||
<div class="actions">
|
||
<div class="actions__left">
|
||
<h2>InfoQ Software Architects' Newsletter</h2>
|
||
<span><p>A monthly overview of things you need to know as an architect or aspiring architect.</p>
|
||
|
||
<p><a href="https://www.infoq.com/software-architects-newsletter#placeholderPastIssues">View an example</a></p>
|
||
</span>
|
||
<div class="newsletter__subscribe">
|
||
<form class="form gdpr" name="dataCollectCampaignNewsletterForm" id="dataCollectCampaignNewsletterForm" action="#" onsubmit="dataCollectNewsletter.saveSubscription(); return false;">
|
||
<div class="field newsletter__mail input__text input__no-label input__medium email">
|
||
<label for="email-dataCollectnewsletter-infoq" class="label field__label">Enter your e-mail address</label>
|
||
<input id="email-dataCollectnewsletter-infoq" name="footerNewsletterEmail" placeholder="Enter your e-mail address" class="input field__input" type="email"/>
|
||
<input type="text" name="emailH" id="input_email_h_d" aria-required="false" style="display:none !important" tabindex="-1" autocomplete="off"/>
|
||
<input type="hidden" id="fnt_d" name="fnt_d" value="7Ua0mv7Px1sBu8cR"/>
|
||
<input type="hidden" id="dataCollectNewsletterType" name="dataCollectNewsletterType" value="regular"/>
|
||
<input type="hidden" id="cmpi_d" name="cmpi_d" value="4"/>
|
||
</div>
|
||
<div class="hidden">
|
||
<span class="input__select field country">
|
||
<label for="input-dataCollect-newsletter-country" class="label field__label">Select your country</label>
|
||
<select id="input-dataCollect-newsletter-country" class="select field__input">
|
||
<option value="" class="select__option">Select a country</option>
|
||
</select>
|
||
<p class="input__message field__desc"></p>
|
||
</span>
|
||
<span class="input__checkbox field hidden">
|
||
<input type="checkbox" id="gdpr-consent-campaign">
|
||
<label for="gdpr-consent-campaign" class="label"><span>I consent to InfoQ.com handling my data as explained in this <a href="https://www.infoq.com/privacy-notice">Privacy Notice</a>.</span></label>
|
||
</span>
|
||
</div>
|
||
<input type="submit" role="button" value="Subscribe" class="button button__medium button__red" onclick="return dataCollectNewsletter.validateEmail('Invalid email address');"/>
|
||
</form>
|
||
<p class="meta">
|
||
<a href="/privacy-notice/" target="_blank">We protect your privacy.</a>
|
||
</p>
|
||
|
||
<span class="success" style="display:none;" id="dataCollectNewsletterMessage"></span>
|
||
</div>
|
||
|
||
</div>
|
||
<div class="actions__right">
|
||
<button aria-label="Close" class="close closeBox button button__unstyled button__icon icon icon__close-black icon--only">Close</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<script type="text/javascript">
|
||
var dataCollectNewsletter = new Newsletter('Enter your e-mail address',
|
||
'email-dataCollectnewsletter-infoq', 'dataCollectNewsletterType','dataCollectNewsletterMessage', 'fnt_d', 'input_email_h_d', 'input-dataCollect-newsletter-country', 'cmpi_d','popup_all_pages');
|
||
</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="infoq" id="infoq">
|
||
|
||
<!-- ####### SITE START ######### -->
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<section class="section container promo hidden">
|
||
<div class="container__inner">
|
||
<div class="actions">
|
||
<div class="actions__left">
|
||
<p>
|
||
<span>Live Webinar and Q&A: Beyond the PR: The New Control Plane for Agentic Software Delivery (Sept 17, 2026)</span>
|
||
<a class="btn" href="/url/pb/8005d94e-0ba3-41aa-a1aa-1dc61c00b6f7/" target="_blank" rel="nofollow">
|
||
Save Your Seat
|
||
</a>
|
||
</p>
|
||
</div>
|
||
<div class="actions__right">
|
||
<button aria-label="Close"
|
||
class="close button button__unstyled button__icon icon icon__close-white icon--only close-top-promo">Close
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
|
||
|
||
|
||
|
||
<header class="header">
|
||
<button aria-label="Toggle Navigation" tabindex="0" class="burger header__toggle button">Toggle Navigation <span></span><span></span><span></span></button>
|
||
<div class="header__container container">
|
||
<div class="container__inner">
|
||
<div data-nosnippet class="actions header__top">
|
||
<div class="actions__left">
|
||
<p class="header__desc my-0">
|
||
Facilitating the Spread of Knowledge and Innovation in Professional Software Development
|
||
</p>
|
||
<div class="button__dropdown dropdown header__more my-0 dropdown__center">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<button aria-label="English edition" class="button button__unstyled button__small">English edition </button>
|
||
<div class="dropdown__holder">
|
||
<!---->
|
||
<div class="dropdown__content">
|
||
<ul class="no-style dropdown__nav languagesEdition">
|
||
<li class="active"><a href="#" onclick="return false;">English edition</a></li>
|
||
<li><a href="https://www.infoq.cn">Chinese edition</a></li>
|
||
<li><a href="/jp/">Japanese edition</a></li>
|
||
<li><a href="/fr/">French edition</a></li>
|
||
</ul>
|
||
</div>
|
||
<!---->
|
||
</div>
|
||
</div>
|
||
<a class="my-0 contribute-link" role="button" href="/write-for-infoq/" title="Write for InfoQ">
|
||
Write for InfoQ
|
||
</a>
|
||
</div>
|
||
<div class="actions__right">
|
||
<div>
|
||
<form id="searchForm" name="search-form" action="/search.action" enctype="multipart/form-data" class="search icon__search icon icon__green">
|
||
<div class="field search__bar input__text input__no-label input__small">
|
||
<label for="search" class="label field__label">Search</label>
|
||
<input name="queryString" type="text" id="search" value="" placeholder="Search" class="input field__input">
|
||
<input type="hidden" name="page" value="1"/>
|
||
<input type="hidden" size="15" name="searchOrder">
|
||
</div>
|
||
<input value="Search" type="submit" class="search__go">
|
||
</form>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="action_button__group">
|
||
<a href="/reginit.action?" onclick="return UserActions_Login.addLoginInfo(this);" class="button button__green button__small">Register</a>
|
||
<a href="/social/keycloakLogin.action?fl=login" onclick="return UserActions_Login.addLoginInfo(this);" class="button button__small button__outline">Sign in</a>
|
||
</div>
|
||
|
||
<div class="modal_auth_required">
|
||
<div class="modal_auth_required__actions">
|
||
<h2 class="h2">Unlock the full InfoQ experience</h2>
|
||
<p>Unlock the full InfoQ experience by logging in! Stay updated with your favorite authors and topics, engage with content, and download exclusive resources.</p>
|
||
<a href="/social/keycloakLogin.action?fl=login" onclick="return UserActions_Login.addLoginInfo(this);" class="button button__has-transition">Log In</a>
|
||
<div class="separator"><span>or</span></div>
|
||
<h3 class="h3">Don't have an InfoQ account?</h3>
|
||
<a href="/reginit.action?" onclick="return UserActions_Login.addLoginInfo(this);" class="button__outline button__has-transition">Register</a>
|
||
</div>
|
||
<div class="modal_auth_required__content">
|
||
<ul class="newsletter__features">
|
||
<li><strong>Stay updated on topics and peers that matter to you</strong>Receive instant alerts on the latest insights and trends.</li>
|
||
<li><strong>Quickly access free resources for continuous learning</strong>Minibooks, videos with transcripts, and training materials.</li>
|
||
<li><strong>Save articles and read at anytime</strong>Bookmark articles to read whenever youre ready.</li>
|
||
</ul>
|
||
</div>
|
||
<form id="login-form" data-vv-scope="login" class="login__form form" action="#" data-gtm-form-interact-id="0">
|
||
<input type="hidden" id="loginWidgetOrigin" name="loginWidgetOrigin" value="mainLogin">
|
||
<input type="hidden" name="fromP13N" id="isP13n" value="">
|
||
<input type="hidden" name="fromP13NId" id="p13n-id" value="">
|
||
<input type="hidden" name="fromP13NType" id="p13n-type" value="">
|
||
</form>
|
||
</div>
|
||
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="header__middle">
|
||
<div class="logo header__logo">
|
||
<a href="/" class="logo__symbol active">
|
||
Logo - Back to homepage
|
||
</a>
|
||
</div>
|
||
|
||
<div class="content-items">
|
||
<a href="/news/" class="icon icon__news">News</a>
|
||
<a href="/articles/" class="icon icon__articles">Articles</a>
|
||
<a href="/presentations/" class="icon icon__presentations">Presentations</a>
|
||
<a href="/podcasts/" class="icon icon__podcasts">Podcasts</a>
|
||
<a href="/minibooks/" class="icon icon__guides">Guides</a>
|
||
</div>
|
||
<div class="header__items columns">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div>
|
||
<h3 class="widget__heading">Topics</h3>
|
||
<nav class="nav header__nav topics" data-trk-ref="header_personas">
|
||
<div class="has--subnav li-nav">
|
||
<a href="/development/" title="Development" class="nav__category">Development</a>
|
||
<div class="nav__subnav subnav">
|
||
<ul class="subnav__categories no-style">
|
||
<li><a href="/java/" title="Java">Java</a></li>
|
||
<li><a href="/kotlin/" title="Kotlin">Kotlin</a></li>
|
||
<li><a href="/dotnet/" title=".Net">.Net</a></li>
|
||
<li><a href="/c_sharp/" title="C#">C#</a></li>
|
||
<li><a href="/swift/" title="Swift">Swift</a></li>
|
||
<li><a href="/golang/" title="Go">Go</a></li>
|
||
<li><a href="/rust/" title="Rust">Rust</a></li>
|
||
<li><a href="/javascript/" title="JavaScript">JavaScript</a></li>
|
||
</ul>
|
||
<div class="subnav__content" data-id="6815">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="heading__container actions">
|
||
<div class="actions__left">
|
||
<h3 class="heading section__heading">Featured in Development</h3>
|
||
</div>
|
||
</div>
|
||
<ul data-size="large" data-horizontal="true" data-tax="" taxonomy="articles" class="cards no-style">
|
||
<li>
|
||
<div class="card__content">
|
||
<div class="card__data">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h4 class="card__title">
|
||
<a href="/presentations/solopreneur-journey">A Solopreneur's Journey: From Engineer to Puzzle Master and Storyteller</a>
|
||
</h4>
|
||
<p class="card__excerpt">Joe Cassavaugh shares his journey from software engineer to successful solopreneur with a $2M+ indie franchise. He explains how he scaled production to 10 games in 5 years, adopted Unity to boost velocity 4-6x, optimized content pipelines, and leveraged refactoring patterns. He discusses key trade-offs between corporate engineering and solopreneurship for senior devs and leaders.</p>
|
||
<div class="card__footer"></div>
|
||
</div>
|
||
|
||
<a href="/presentations/solopreneur-journey" class="card__header">
|
||
<img loading="lazy" alt="A Solopreneur's Journey: From Engineer to Puzzle Master and Storyteller" src="https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/presentations/solopreneur-journey/en/smallimage/joe-cassavaugh-thumbnail-1788338336404.jpg" class="card__image"/>
|
||
</a>
|
||
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
|
||
|
||
|
||
|
||
<a href="/development/" class="button__more button button__large button__arrow arrow__right">All in development</a>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="has--subnav li-nav">
|
||
<a href="/architecture-design/" title="Architecture & Design" class="nav__category">Architecture & Design</a>
|
||
<div class="nav__subnav subnav">
|
||
<ul class="subnav__categories no-style">
|
||
<li><a href="/architecture/" title="Architecture">Architecture</a></li>
|
||
|
||
<li><a href="/enterprise-architecture/" title="Enterprise Architecture">Enterprise Architecture</a></li>
|
||
<li><a href="/performance-scalability/" title="Scalability/Performance">Scalability/Performance</a></li>
|
||
<li><a href="/design/" title="Design">Design</a></li>
|
||
<li><a href="/Case_Study/" title="Case Studies">Case Studies</a></li>
|
||
<li><a href="/microservices/" title="Microservices">Microservices</a></li>
|
||
<li><a href="/servicemesh/" title="Service Mesh">Service Mesh</a></li>
|
||
<li><a href="/DesignPattern/" title="Patterns">Patterns</a></li>
|
||
<li><a href="/Security/" title="Security">Security</a></li>
|
||
</ul>
|
||
<div class="subnav__content" data-id="6816">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="heading__container actions">
|
||
<div class="actions__left">
|
||
<h3 class="heading section__heading">Featured in Architecture & Design</h3>
|
||
</div>
|
||
</div>
|
||
<ul data-size="large" data-horizontal="true" data-tax="" taxonomy="articles" class="cards no-style">
|
||
<li>
|
||
<div class="card__content">
|
||
<div class="card__data">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h4 class="card__title">
|
||
<a href="/minibooks/next-gen-architecture-ai-era">Next-Gen Architecture Playbook: Insights and Patterns for the AI Era</a>
|
||
</h4>
|
||
<p class="card__excerpt">This eMag examines how architects can lead with clarity in a rapidly evolving engineering world, distilling industry insights into field-tested practices for teams. Together, these stories reveal a core theme: the technology leader’s role is expanding from building systems to guiding how tech behaves and learns, while enabling engineers and organizations to bring out their best.</p>
|
||
<div class="card__footer"></div>
|
||
</div>
|
||
|
||
<a href="/minibooks/next-gen-architecture-ai-era" class="card__header">
|
||
<img loading="lazy" alt="Next-Gen Architecture Playbook: Insights and Patterns for the AI Era" src="https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/minibooks/next-gen-architecture-ai-era/en/smallimage/thumb-image-emag-next-gen-architecture-playbook-1787922032442.jpg" class="card__image"/>
|
||
</a>
|
||
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
|
||
|
||
|
||
|
||
<a href="/architecture-design/" class="button__more button button__large button__arrow arrow__right">All in architecture-design</a>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="has--subnav li-nav">
|
||
<a href="/ai-ml-data-eng/" title="AI Infrastructure" class="nav__category">AI Infrastructure</a>
|
||
<div class="nav__subnav subnav">
|
||
<ul class="subnav__categories no-style">
|
||
<li><a href="/bigdata/" title="Big Data">Big Data</a></li>
|
||
<li><a href="/machinelearning/" title="Machine Learning">Machine Learning</a></li>
|
||
<li><a href="/nosql/" title="NoSQL">NoSQL</a></li>
|
||
<li><a href="/database/" title="Database">Database</a></li>
|
||
<li><a href="/data-analytics/" title="Data Analytics">Data Analytics</a></li>
|
||
<li><a href="/streaming/" title="Streaming">Streaming</a></li>
|
||
</ul>
|
||
<div class="subnav__content" data-id="16690">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="heading__container actions">
|
||
<div class="actions__left">
|
||
<h3 class="heading section__heading">Featured in AI, ML & Data Engineering</h3>
|
||
</div>
|
||
</div>
|
||
<ul data-size="large" data-horizontal="true" data-tax="" taxonomy="articles" class="cards no-style">
|
||
<li>
|
||
<div class="card__content">
|
||
<div class="card__data">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h4 class="card__title">
|
||
<a href="/articles/when-spec-driven-development-pays-off">When Spec-Driven Development Pays Off</a>
|
||
</h4>
|
||
<p class="card__excerpt">AI coding assistants have become a core part of software development. AI-generated code has shown productivity gains, but it's also contributing to security weaknesses and familiar bug patterns. In this article, author Nitin Garg highlights the bottleneck has moved from code generation to code verification, and how to detect & mitigate it when the AI-generated behavior diverges from the intent.</p>
|
||
<div class="card__footer"></div>
|
||
</div>
|
||
|
||
<a href="/articles/when-spec-driven-development-pays-off" class="card__header">
|
||
<img loading="lazy" alt="When Spec-Driven Development Pays Off" src="https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/articles/when-spec-driven-development-pays-off/en/smallimage/When-Spec-Driven-Development-Pays-Off-thumb-1788790605567.jpg" class="card__image"/>
|
||
</a>
|
||
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
|
||
|
||
|
||
|
||
<a href="/ai-ml-data-eng/" class="button__more button button__large button__arrow arrow__right">All in ai-ml-data-eng</a>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="has--subnav li-nav">
|
||
<a href="/culture-methods/" title="Culture & Methods" class="nav__category">Culture & Methods</a>
|
||
<div class="nav__subnav subnav">
|
||
<ul class="subnav__categories no-style">
|
||
<li><a href="/agile/" title="Agile">Agile</a></li>
|
||
<li><a href="/diversity/" title="Diversity">Diversity</a></li>
|
||
<li><a href="/leadership/" title="Leadership">Leadership</a></li>
|
||
<li><a href="/lean/" title="Lean/Kanban">Lean/Kanban</a></li>
|
||
<li><a href="/personal-growth/" title="Personal Growth">Personal Growth</a></li>
|
||
<li><a href="/scrum/" title="Scrum">Scrum</a></li>
|
||
<li><a href="/sociocracy/" title="Sociocracy">Sociocracy</a></li>
|
||
<li><a href="/software_craftsmanship/" title="Software Craftmanship">Software Craftmanship</a></li>
|
||
<li><a href="/team-collaboration/" title="Team Collaboration">Team Collaboration</a></li>
|
||
<li><a href="/testing/" title="Testing">Testing</a></li>
|
||
<li><a href="/ux/" title="UX">UX</a></li>
|
||
</ul>
|
||
<div class="subnav__content" data-id="6817">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="heading__container actions">
|
||
<div class="actions__left">
|
||
<h3 class="heading section__heading">Featured in Culture & Methods</h3>
|
||
</div>
|
||
</div>
|
||
<ul data-size="large" data-horizontal="true" data-tax="" taxonomy="articles" class="cards no-style">
|
||
<li>
|
||
<div class="card__content">
|
||
<div class="card__data">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h4 class="card__title">
|
||
<a href="/presentations/rust-refactoring">Accelerating Performance by Incrementally Integrating Rust Into Existing Codebase</a>
|
||
</h4>
|
||
<p class="card__excerpt">Lily Mara explains how to avoid high-risk software rewrites through incremental FFI refactoring. She shares how engineering teams can replace Python bottlenecks with Rust via PyO3, demonstrating how to achieve dramatic function-level speedups, seamless integration testing, and meaningful infrastructure cost savings without microservice overhead.</p>
|
||
<div class="card__footer"></div>
|
||
</div>
|
||
|
||
<a href="/presentations/rust-refactoring" class="card__header">
|
||
<img loading="lazy" alt="Accelerating Performance by Incrementally Integrating Rust Into Existing Codebase" src="https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/presentations/rust-refactoring/en/smallimage/lily-mara-thumbnail-1788338447565.jpeg" class="card__image"/>
|
||
</a>
|
||
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
|
||
|
||
|
||
|
||
<a href="/culture-methods/" class="button__more button button__large button__arrow arrow__right">All in culture-methods</a>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="has--subnav li-nav">
|
||
<a href="/devops/" class="nav__category">DevOps</a>
|
||
<div class="nav__subnav subnav">
|
||
<ul class="subnav__categories no-style">
|
||
<li><a href="/infrastructure/" title="Infrastructure">Infrastructure</a></li>
|
||
<li><a href="/continuous_delivery/" title="Continuous Delivery">Continuous Delivery</a></li>
|
||
<li><a href="/automation/" title="Automation">Automation</a></li>
|
||
<li><a href="/containers/" title="Containers">Containers</a></li>
|
||
<li><a href="/cloud-computing/" title="Cloud">Cloud</a></li>
|
||
<li><a href="/observability/" title="Observability">Observability</a></li>
|
||
|
||
</ul>
|
||
<div class="subnav__content" data-id="6043">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="heading__container actions">
|
||
<div class="actions__left">
|
||
<h3 class="heading section__heading">Featured in DevOps</h3>
|
||
</div>
|
||
</div>
|
||
<ul data-size="large" data-horizontal="true" data-tax="" taxonomy="articles" class="cards no-style">
|
||
<li>
|
||
<div class="card__content">
|
||
<div class="card__data">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h4 class="card__title">
|
||
<a href="/presentations/ai-platform-engineering-roundtable">Platform Engineering in the Age of AI</a>
|
||
</h4>
|
||
<p class="card__excerpt">The panelists explain how platform teams adapt to support AI-assisted engineering, highlighting which capabilities belong in the platform. They discuss trade-offs between standardization and developer autonomy, while sharing strategies to manage AI tooling, security guardrails, and shifting workflows.</p>
|
||
<div class="card__footer"></div>
|
||
</div>
|
||
|
||
<a href="/presentations/ai-platform-engineering-roundtable" class="card__header">
|
||
<img loading="lazy" alt="Platform Engineering in the Age of AI" src="https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/presentations/ai-platform-engineering-roundtable/en/smallimage/thumb-1788861349861.jpg" class="card__image"/>
|
||
</a>
|
||
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
|
||
|
||
|
||
|
||
<a href="/devops/" class="button__more button button__large button__arrow arrow__right">All in devops</a>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="li-nav">
|
||
|
||
<a rel="noreferrer noopener" href="https://events.infoq.com/" class="nav__category" title="Events" target="_blank">Events</a>
|
||
</div>
|
||
</nav>
|
||
</div>
|
||
|
||
<div>
|
||
<h3 class="widget__heading">Helpful links</h3>
|
||
<ul class="no-style header__nav">
|
||
<li>
|
||
<a href="/about-infoq" title="About InfoQ">
|
||
About InfoQ
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a href="/infoq-editors" title="InfoQ Editors">
|
||
InfoQ Editors
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a href="/write-for-infoq" title="Write for InfoQ">
|
||
Write for InfoQ
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a href="https://c4media.com/" target="_blank" title="About C4Media">
|
||
About C4Media
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a rel="noreferrer noopener" href="https://c4media.com/diversity" title="Diversity" target="_blank">Diversity</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
|
||
|
||
<div>
|
||
<h3 class="widget__heading">Choose your language</h3>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<ul class="language__switcher no-style">
|
||
<li class="active"><a href="#" onclick="return false;" title="InfoQ English">En</a></li>
|
||
<li><a href="https://www.infoq.cn">中文</a></li>
|
||
<li><a href="/jp/">日本</a></li>
|
||
<li><a href="/fr/">Fr</a></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
<div data-nosnippet class="actions header__bottom header__bottom__events">
|
||
<div class="actions__left">
|
||
<div class="events-list" role="list" aria-label="Upcoming events">
|
||
<div class="event-item" role="listitem" data-event-type="certification" data-sort-date="2026-09-14">
|
||
<a class="event-card" href="https://certification.qconferences.com/architecture?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_onlinecohortarchitecture26" target="_blank" rel="noopener noreferrer" aria-label="Online InfoQ Architect Certification, Sep 14, 2026">
|
||
<div class="event-date">
|
||
<div class="event-date-box" aria-hidden="true"><span>Sep</span><span>14,</span><span>2026</span></div>
|
||
</div>
|
||
<div class="event-content">
|
||
<p class="event-title">Architect Certification</p>
|
||
<p class="event-description">Distributed systems, decentralized decisions, platform engineering, and AI architecture. <br/><strong>Online. Register Now.</strong></p>
|
||
</div>
|
||
</a>
|
||
</div>
|
||
<div class="event-item" role="listitem" data-event-type="certification" data-sort-date="2026-09-18">
|
||
<a class="event-card" href="https://certification.qconferences.com/ai-assisted-engineering?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_onlinecohortaiassistedengineering26" target="_blank" rel="noopener noreferrer" aria-label="AI-Assisted Engineering Certification, Sep 18, 2026">
|
||
<div class="event-date">
|
||
<div class="event-date-box" aria-hidden="true"><span>Sep</span><span>18,</span><span>2026</span></div>
|
||
</div>
|
||
<div class="event-content">
|
||
<p class="event-title">AI-Assisted Engineering Certification</p>
|
||
<p class="event-description">Your coding agent moves fast. Who checks whether it's making the codebase better? <br/><strong>Online. Register Now.</strong></p>
|
||
</div>
|
||
</a>
|
||
</div>
|
||
<div class="event-item" role="listitem" data-event-type="certification" data-sort-date="2026-10-14">
|
||
<a class="event-card" href="https://certification.qconferences.com/ai-security-privacy?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_onlinecohortaisecurity26" target="_blank" rel="noopener noreferrer" aria-label="Online InfoQ AI Security & Privacy Engineering Certification, August 26, 2026">
|
||
<div class="event-date">
|
||
<div class="event-date-box" aria-hidden="true"><span>Oct</span><span>14,</span><span>2026</span></div>
|
||
</div>
|
||
<div class="event-content">
|
||
<p class="event-title">AI Security & Privacy Engineering Certification</p>
|
||
<p class="event-description">Secure and govern production AI systems, from sensitive data to guardrails, evals, and audits.<br><strong>Online. Register now.</strong></p>
|
||
</div>
|
||
</a>
|
||
</div>
|
||
<div class="event-item" role="listitem" data-event-type="qcon" data-sort-date="2026-11-16">
|
||
<a class="event-card" href="https://qconsf.com/?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_qsf26" target="_blank" rel="noopener noreferrer" aria-label="QCon San Francisco, Nov 16-20, 2026">
|
||
<div class="event-date">
|
||
<div class="event-date-box" aria-hidden="true"><span>Nov</span><span>16-20,</span><span>2026</span></div>
|
||
</div>
|
||
<div class="event-content">
|
||
<p class="event-title">QCon San Francisco</p>
|
||
<p class="event-description">What's working across AI, architecture, and leadership, from the teams doing it. <br/><strong>Register. Early bird ends August 11.</strong></p>
|
||
</div>
|
||
</a>
|
||
</div>
|
||
<div class="event-item" role="listitem" data-event-type="qcon" data-sort-date="2026-12-15">
|
||
<a class="event-card" href="https://newyork.qcon.ai/?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_qainy26" target="_blank" rel="noopener noreferrer" aria-label="QCon AI New York, December 15-16, 2026">
|
||
<div class="event-date">
|
||
<div class="event-date-box" aria-hidden="true"><span>Dec</span><span>15-16,</span><span>2026</span></div>
|
||
</div>
|
||
<div class="event-content">
|
||
<p class="event-title">QCon AI New York</p>
|
||
<p class="event-description">Production AI across agents, context, evals, security, and infrastructure, from the senior engineers building it.<br/><strong>Registration open.</strong></p>
|
||
</div>
|
||
</a>
|
||
</div>
|
||
<div class="event-item" role="listitem" data-event-type="qcon" data-sort-date="2027-04-13">
|
||
<a class="event-card" href="https://qconlondon.com/?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_qconlondon27" target="_blank" rel="noopener noreferrer" aria-label="QCon London, April 13-16, 2027">
|
||
<div class="event-date">
|
||
<div class="event-date-box" aria-hidden="true"><span>Apr</span><span>13-16,</span><span>2027</span></div>
|
||
</div>
|
||
<div class="event-content">
|
||
<p class="event-title">QCon London</p>
|
||
<p class="event-description">What early-adopter teams have proven in production, across 15 engineering tracks. <br/><strong> Register. Early bird ends August 11.</strong></p>
|
||
</div>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!---->
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
|
||
|
||
<!-- ####### CONTENT START ######### -->
|
||
<main>
|
||
|
||
<div>
|
||
<section class="container section white">
|
||
<div class="container__inner">
|
||
<article data-type="presentation" class="article grid transcript rightbar">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<p class="crumbs">
|
||
<span data-nosnippet><a href="/" title="InfoQ Homepage">InfoQ Homepage</a></span>
|
||
|
||
|
||
|
||
|
||
<span data-nosnippet><a href="/presentations" title="Presentations">Presentations</a></span>
|
||
|
||
|
||
<span data-nosnippet class="active">Incident Analysis: Your Organization's Secret Weapon</span>
|
||
|
||
|
||
|
||
|
||
|
||
</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="article__category devops">
|
||
|
||
<a
|
||
|
||
href="/Devops/"
|
||
|
||
class="article__tag box--info" title="DevOps">
|
||
|
||
DevOps
|
||
</a>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div data-nosnippet class="notice">
|
||
<div class="box--warning">
|
||
<a target="_blank" rel="nofollow" href="https://certification.qconferences.com/architecture?utm_source=infoq&utm_medium=referral&utm_campaign=infoqyellowbox_onlinecohortarchitecture26 ">Online InfoQ Architect Certification (Sept 14): The sociotechnical side of architecture. </a>
|
||
</div>
|
||
</div>
|
||
|
||
<h1>Incident Analysis: Your Organization's Secret Weapon</h1>
|
||
|
||
<div class="article__actions">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="actions__left actions__sidebar article__actions">
|
||
|
||
<button id="toggleLikeContent" class="icon button button__icon like button__gray icon__like" aria-label="Like">Like</button>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="bookmarkReading">
|
||
<button id="bookmarkBtn" data-ref="bookmarkPage" aria-label="Read later" class="login button__gray button button__icon icon icon__bookmark icon--only"> </button>
|
||
<!-- new dropdown rading list -->
|
||
<div class="my-0 button__dropdown dropdown reading_list dropdown__center" id="showBookmarks">
|
||
<button aria-label="Reading list" class="button button__unstyled button__small"></button>
|
||
<div class="dropdown__holder">
|
||
<div class="dropdown__content">
|
||
<ul class="no-style dropdown__nav">
|
||
<li class="active"><a href="/showbookmarks.action">Reading list</a></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="toastContainer" class="toast-none toast-hide">
|
||
<div class="toast"><span></span></div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<script type="text/javascript">
|
||
|
||
if(loggedIn){
|
||
$('#showBookmarks').css('display', 'flex');
|
||
}
|
||
|
||
function performBookmark() {
|
||
Bookmarks.toggleBookmark('presentations', 'incident-analysis-move-faster');
|
||
}
|
||
|
||
infoq.event.on('bookmarkRequested', function(e) {
|
||
Bookmarks.toggleBookmark('presentations', 'incident-analysis-move-faster');
|
||
});
|
||
|
||
infoq.event.on("loaded", function(){
|
||
if(loggedIn){
|
||
var href = window.location.href;
|
||
if(href.indexOf("#bookmarkPage") != -1){
|
||
$('#bookmarkBtn').click();
|
||
}
|
||
}
|
||
});
|
||
|
||
$(document).ready(function() {
|
||
if(Bookmarks.isContentBookmarked == 'true'){
|
||
$('#bookmarkBtn').addClass('button__green');
|
||
$('#bookmarkBtn').removeClass('button__gray');
|
||
}else{
|
||
$('#bookmarkBtn').removeClass('button__green');
|
||
$('#bookmarkBtn').addClass('button__gray');
|
||
}
|
||
});
|
||
</script>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="presentation__switch">
|
||
<label class="label">View Presentation</label>
|
||
<ul class="no-style">
|
||
<li><button class="button button__unstyled button__tooltip tooltip__top button__icon icon icon__pres-2-cols icon--only active" aria-label="Vertical" data-tip="Vertical" data-tip-placement="top" data-key="pres-2-cols">Vertical</button></li>
|
||
<li><button class="button button__unstyled button__tooltip tooltip__top button__icon icon icon__pres-1-col icon--only" aria-label="Horizontal" data-tip="Horizontal" data-tip-placement="top" data-key="pres-1-col">Horizontal</button></li>
|
||
<li><button class="button button__unstyled button__tooltip tooltip__top button__icon icon icon__pres-fs icon--only" aria-label="Full" data-tip="Full" data-tip-placement="top" data-key="pres-fs">Full</button></li>
|
||
</ul>
|
||
</div>
|
||
<div class="speed">
|
||
<label class="label">Speed:</label>
|
||
<ul id="presentation_speed" class="no-style presentation_speed">
|
||
<li><button class="button button__unstyled active" aria-label="1x" onclick="P.adjustSpeed(1.0, $(this));return false;">1x</button></li>
|
||
<li><button class="button button__unstyled" aria-label="1.25x" onclick="P.adjustSpeed(1.25, $(this));return false;">1.25x</button></li>
|
||
<li><button class="button button__unstyled" aria-label="1.5x" onclick="P.adjustSpeed(1.5, $(this));return false;">1.5x</button></li>
|
||
<li><button class="button button__unstyled" aria-label="2x" onclick="P.adjustSpeed(2.0, $(this));return false;">2x</button></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="player">
|
||
<div id="player">
|
||
|
||
<script type="text/javascript">
|
||
SlideSynchronizer.setTimes(TIMES);
|
||
SlideSynchronizer.playerId="video";
|
||
</script>
|
||
<video id="video" playsinline controls controlsList="nodownload" width="100%" height="100%" onplay="SlideSynchronizer.start();"></video>
|
||
|
||
</div>
|
||
<div class="actions player__actions">
|
||
<div class="actions__left">
|
||
|
||
<label class="label">Download</label>
|
||
<ul class="no-style download">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li data-ref="downloadPdf">
|
||
<button id="slides" class="button button__unstyled download" data-type="slides" aria-label="Slides">Slides</button>
|
||
</li>
|
||
<form method="get" action="/pdfdownload.action" target="_blank" id="pdfForm">
|
||
<input type="hidden" name="filename" value="presentations/QConPlus2021-NoraJones-IncidentAnalysisYourOrganizationsSecretWeapon.pdf"/>
|
||
</form>
|
||
|
||
|
||
</ul>
|
||
|
||
</div>
|
||
<div class="actions__right"><span>37:40</span></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="slideContainer" class="intro slides">
|
||
<div id="slide"></div>
|
||
</div>
|
||
|
||
|
||
<div class="summary">
|
||
<h2 class="heading">Summary</h2>
|
||
<p>Nora Jones discusses how to move faster and focus on the things that matter by using incident analysis.</p>
|
||
</div>
|
||
|
||
<div data-nosnippet class="bio">
|
||
<h2 class="heading">Bio</h2>
|
||
<p>Nora Jones is the founder and CEO of Jeli. In November 2017 she keynoted at AWS re:Invent to share her experiences helping organizations reach crucial availability, having an audience of ~40,000 people, helping kick off the Chaos Engineering movement. She created and founded the www.learningfromincidents.io movement to develop and open-source cross-organization learnings.</p>
|
||
</div>
|
||
<div data-nosnippet class="about-conference">
|
||
<h2 class="heading">About the conference</h2>
|
||
<p>QCon Plus is a virtual conference for senior software engineers and architects that covers the trends, best practices, and solutions leveraged by the world's most innovative software organizations.</p>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div data-nosnippet class="event__list-box box__border">
|
||
<h3>INFOQ EVENTS</h3>
|
||
|
||
<ul class="cards no-style webinarEvents">
|
||
<li data-col="1/1" data-type="webinar" hoverables=""><img alt="" data-src="sponsorship/eventsnotice/4b6b261f-58c2-44bd-856a-2189a99d6743/resources/1HarnessWebinarSept17-Transcript-1786634790914.png" style="width: 288px; height: 145px;" src="https://imgopt.infoq.com/fit-in/3000x4000/filters:quality(85)/filters:no_upscale()/sponsorship/eventsnotice/4b6b261f-58c2-44bd-856a-2189a99d6743/resources/1HarnessWebinarSept17-Transcript-1786634790914.png" rel="share"> <span class="date">September 17th, 2026, 1 PM EDT</span>
|
||
<h4 class="title"><a href="https://www.infoq.com/url/t/3370b6d4-7e2c-4875-8258-5601b235e3c3/?label=Harness-Transcripts" rel="nofollow" target="_blank">Beyond the PR: The New Control Plane for Agentic Software Delivery</a></h4>
|
||
|
||
<p class="card__excerpt"><a href="https://www.infoq.com/url/t/3370b6d4-7e2c-4875-8258-5601b235e3c3/?label=Harness-Transcripts" rel="nofollow" target="_blank">Presented by: Mohit Suman - Staff Product Manager at Harness</a></p>
|
||
|
||
<footer>
|
||
<div class="authors"><span><a data-id="author-SPONSORED BY SPONSOR" href="https://www.infoq.com/url/t/3370b6d4-7e2c-4875-8258-5601b235e3c3/?label=Harness-Transcripts" rel="nofollow" target="_blank">SPONSORED BY HARNESS</a></span></div>
|
||
</footer>
|
||
</li>
|
||
</ul>
|
||
|
||
|
||
<ul class="cards no-style webinarEvents">
|
||
<li data-col="1/1" data-type="webinar" hoverables=""><img alt="" data-src="sponsorship/eventsnotice/f2bd6c51-c5d2-41cf-957d-198b2d3a83a3/resources/1DatadogWebinarOct8-Transcripts-1787826934657.png" style="width: 288px; height: 145px;" src="https://imgopt.infoq.com/fit-in/3000x4000/filters:quality(85)/filters:no_upscale()/sponsorship/eventsnotice/f2bd6c51-c5d2-41cf-957d-198b2d3a83a3/resources/1DatadogWebinarOct8-Transcripts-1787826934657.png" rel="share"> <span class="date">October 8th, 2026, 12 PM EDT</span>
|
||
<h4 class="title"><a href="https://www.infoq.com/url/t/517ac1f3-a6c1-442e-84ed-c00c52ee13d4/?label=Datadog-Transcripts" rel="nofollow" target="_blank">When AI Accelerates Development, Can Your CI Pipeline Keep Up?</a></h4>
|
||
|
||
<p class="card__excerpt"><a href="https://www.infoq.com/url/t/517ac1f3-a6c1-442e-84ed-c00c52ee13d4/?label=Datadog-Transcripts" rel="nofollow" target="_blank">Presented by: Eric Metaj - Product Marketing Manager, Software Delivery at Datadog, and Rohin Chandra - Product Manager, CI/CD Optimization at Datadog</a></p>
|
||
|
||
<footer>
|
||
<div class="authors"><span><a data-id="author-SPONSORED BY SPONSOR" href="https://www.infoq.com/url/t/517ac1f3-a6c1-442e-84ed-c00c52ee13d4/?label=Datadog-Transcripts" rel="nofollow" target="_blank">SPONSORED BY DATADOG</a></span></div>
|
||
</footer>
|
||
</li>
|
||
</ul>
|
||
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
<div class="article__content">
|
||
<div class="article__data">
|
||
|
||
<div id="presentationNotes">
|
||
<h2 class="expanded">Transcript</h2>
|
||
|
||
<p>Jones: Incident analysis can actually be a tool for unlocking your organization's success, for collaborating better together, for working better together, for being more productive. It can be a key piece to your resilience, providing things that coding and tooling cannot. We've all had incidents, and the good news is that it means you have customers. I know it doesn't quite feel like good news at the time, but there's a lot that we can learn from them. A lot of ROI that we can get from them. They're not going to go away. That's not what this talk is about. It's not about preventing them or getting to zero incidents. They can improve and get better over time. They can feel better. They can feel like not as big of a deal. When we do have incidents right now, there's inevitable questions that creep up sometimes afterwards, especially when they're really bad. Like, what can we do to prevent this from ever happening again? What caused this? Maybe we're wondering why it took so long to fix, especially if we weren't involved in the incident, but maybe it had affected us.</p>
|
||
|
||
<h2 class="expanded">Why Do Incident Reviews and Postmortems?</h2>
|
||
|
||
<p>My organization took a while to study why people in the software industry do incident reviews or postmortems today. Here were some of the most common answers that we got. I'm honestly not sure. Management wants us to. It gives the engineer space to vent. I think people would be mad if we didn't. We have some obligations to customers. We have tracking purposes. Maybe we want to see that we're improving over time and getting better. Maybe our boards are asking for it. We're not sure. We did come to the fact was, most folks in the software industry agree that post-incident reviews are important. We all know that some form of this review is important, but we don't all agree on why it's important. Yet, even though that we know it's important on some level, we don't always make efforts to improve it. We don't always make efforts to improve the process. We don't allocate the time needed to do that. A lot of the time, we don't know how. Incident analysis can be trained and aided to be improved upon. There are a ton of benefits to that. It has to be trained and aided to be improved upon. That time needs to be given. It's different than coding time.</p>
|
||
|
||
<h2 class="expanded">Activity: Cultivating Curiosity and Leveling up Learning</h2>
|
||
|
||
<p>I want to do a quick activity. Part of doing an incident review is coming from a position of inquiry. Why did something make sense? What information is missing? Who can I ask to find out more? We're going to take a few minutes to review an RCA. The purpose of this is not to call out bad examples. I want to see if this satisfies your curiosity. Here's the RCA in question. We have here the event date. We have when it started. When the incident was detected. The time it was resolved. We have our root cause. Our DNS host scheduled a normal reboot for security patches, resulting in a simultaneous outage of DNS servers on the environment. As a result, all the connections between all hosts in the environment failed due to DNS lookup issues. They provide some more info. They share some of the customer impact. Then they list some of their action items.</p>
|
||
|
||
<p>Personally, my first question is, who is this written for? Wonder what the audience is here? Is it the customer? Is it fellow colleagues at the organization? I wonder how they came up with these action items. A lot of action items around fixing playbook, or updating documentation, that could be said about any incident. I wonder what value this is providing the organization. What questions do you still have about this event? Does this report answer all your questions? For me, it doesn't answer all my questions. If I was a new employee at this organization, or if I was on a sister team of sorts, I would want to be knowing a lot more about how they came up with these action items. I would want to learn a lot more about what a normal reboot looks like? I would want to learn a lot more about why we're putting some of these details in here.</p>
|
||
|
||
<h2 class="expanded">Post-Incident Reviews are Important, But They're Not Good</h2>
|
||
|
||
<p>I want to come back to this. I think we all know that a lot of the post-incident reviews that we do today are important, and we need to do them. We need to go through this learning. From what we've asked of a lot of people in the software industry was, yes, they're important, but they're not good. What's worse is, when we have an incident that is deemed to have a higher severity. When it's deemed to have been really bad when maybe it hit Twitter, when maybe it hit the news. We actually end up giving our engineers less time and space to understand what actually happened to resolve them. There was an incident quite recently that was very big. That incident was blamed on a single engineer. We usually give our engineers less time to resolve these incidents, because we have our SLAs with customers that we need to uphold. However, with those incidents, specifically, it's important that even more time and space is given even after that customer SLA is met. It takes more time and space to figure out what happened in those.</p>
|
||
|
||
<h2 class="expanded">Quantifying Incident Reviews</h2>
|
||
|
||
<p>That past RCA we looked at, there were a lot of numbers in there. I know we want to quantify a lot of our incident reviews. I want to quote something that John Allspaw said back in 2018. "Where are the people in this tracking, and where are you?" The metrics that we're tracking today like MTTR, and MTTD, and incident start, and incident end, detection, gives us some interesting data points. What are we actually learning from it? What is the purpose of it? What is the purpose of recording those metrics? Allspaw posed an open question and challenge to us. He said, where are the people in this tracking? We haven't changed much as an industry in this regard. Gathering useful data about incidents does not come for free. It's not easy. You have to give time and space to determine it.</p>
|
||
|
||
<p>I'm going to talk about why giving this time and space to your organizations can actually work within your favor through multiple stories. New paths on how you can do it and ways that aren't disruptive to your business. Next steps for you to embark on. There's a spoiler alert here, which is, sometimes a thorough analysis reveals things that we're not ready to see, hear, or change. It can be a mirror for our organization. The actual work involved is making sure it's safe to share these things so that we can actually improve.</p>
|
||
|
||
<h2 class="expanded">Background Info</h2>
|
||
|
||
<p>I'm Nora Jones. I've seen these things from the frontlines as a software engineer, as a manager, and now as I'm running my own organization. I've written two books on chaos engineering with colleagues from Netflix. I'm a student at Lund University in human factors and system safety, where I partner with other students from across the world and across other disciplines that are safety critical. In 2017, I keynoted at AWS re:Invent, about the benefits of chaos engineering and my experiences implementing them at jet.com and Netflix. I then went to Slack. Recently, I started a community back in 2019, called Learning from Incidents in Software, where over 300 people in the software industry are open sourcing and sharing their learnings from incidents and how their organizations are improving. It is a group of people trialing out new ways of incident analysis that are unhappy with the status quo today. Which led me to forming my own organization, Jeli, based on a need I saw for the importance and value to the whole business of a good post-incident review. However, I also saw the barrier to entry to getting folks to work on that.</p>
|
||
|
||
<h2 class="expanded">Performance Improvement = Errors + Insights</h2>
|
||
|
||
<p>I want to talk about performance improvement. A lot of folks measure incidents and measure reviews and want to quantify them because they want to improve performance. Maybe performance improvement looks like having less incidents. Maybe it looks like not having customers notice them. Counting errors is one way to measure whether or not we're improving performance. However, you're not going to get the performance improvement that you desire just from counting errors, you also have to generate insights. You can't improve performance unless you're doing both of these, both sides of the equation are important. However, as an industry, we tend to focus a lot on the error reduction portion, almost too much, and honestly, to our detriment. We're not going to get the improvement we're looking for unless we're also measuring and disseminating these insights. This part's hard. We're not trained on this as software engineers. We're numbers driven. We like code. I'm going to talk about this insight generation.</p>
|
||
|
||
<h2 class="expanded">Objectives</h2>
|
||
|
||
<p>At the end, you'll be able to understand some different approaches to incident analysis and how it can generate more insights and improve performance. I'm going to explain some of the social and how that improves the actual technical parts of our engineering. We're going to learn how asking questions in a different way can impact insights gleaned, and disseminated. We're going to assess appropriate message for distributing findings and sharing this learning, sharing these insights. I'm going to do this through a couple different cases and stories. I'm going to tell you three different stories about the value incident analysis has brought about in different organizations. These are true stories, things I have witnessed, but names and details have been changed.</p>
|
||
|
||
<h2 class="expanded">Story One: Getting More People to Use Chaos Engineering Tool</h2>
|
||
|
||
<p>When I was at Netflix, I was on a team with three other amazing software engineers. We spent years building a platform to safely inject failure in production to help engineers understand and ask more questions about areas in their system that unexpectedly behaved when presented with turbulent conditions we see in everyday engineering, like injecting failure or injecting latency. It was amazing. We were happy to be working on such an interesting problem that could ultimately help the business understand its weak spots. There was a problem to this. The problem was that most of the time, the four of us were the ones using the tooling. We were using the tooling to create the chaos experiments. We were using the tooling to run the chaos experiments, and we were analyzing the results.</p>
|
||
|
||
<p>What were the teams doing? They were receiving our results, and we were talking to them about it. Sometimes they were fixing what we found, and sometimes they weren't. We wanted to look into that. Why were we the only ones using this? Why was that a problem? The biggest benefit to chaos engineering, and the reason it exists, is because it can help you refine your mental models. You can say, I didn't know that that worked that way. I didn't know that this was critical. I didn't know how this impacted our customers. The fact that the developers of the chaos engineering tooling were the most frequent users of it means that we were the mental models that were getting refined in this situation. We weren't on-call for these systems. There was a big benefit of this missing. We weren't the ones whose mental models needed refining or understanding. Yet, we were the ones getting that refinement and understanding.</p>
|
||
|
||
<p>Sometimes teams would use this tooling, but that would only last for a couple weeks, or during a high traffic period or right after a big incident. Then we would have to remind them to use it again. What did we do? We did what any software engineer would do in this situation. We thought, we'll just automate the hard steps. We focused a lot on the tooling, the safely injecting failure, to being able to mitigate the blast radius, which was great. We weren't focusing enough on what chaos experiments we needed to create, and how important the results were. We weren't giving teams enough of this context. We wanted to give them context on where they should experiment, and why, and how important a particular vulnerability found within the system was important to fix or wasn't important to fix.</p>
|
||
|
||
<p>How did we start to do that? To know if something was or wasn't important to fix, we started looking at previous incidents. We started digging through some of them and wanted to find things like systems that were under the water a lot, or people that we relied upon a lot, or systems that were going down that resulted in an incident which was a huge surprise, or incidents that were related to action items from previous incidents. We wanted to use this to bubble up and help folks prioritize things and give them context, and feed back into the chaos tooling. However, through the process of doing this, we found that looking through incidents and looking at these patterns and studying them and learning from them, had a much greater power than just helping the organization create and prioritize chaos experiments better. Spending time on it opened my eyes up to so much more. Things that could help the business beyond just the technical, beyond just helping this chaos engineering tooling.</p>
|
||
|
||
<p>Here's the secret that we found. Incident analysis is not actually about the incident. The incident itself is a catalyst to understanding how your organization is structured in theory, versus how it's structured in practice. It exposes that delta for you. It's a catalyst to understanding where you need to improve your socio-technical system and how people work together. Because when something's on fire, all rules go out the window. You're just trying to stop the fire. It's a catalyst to showing you what your organization is good at, and what needs improvement. We all have thoughts around this, but the incident actually exposes them. It's a missed opportunity if we don't look into it.</p>
|
||
|
||
<h2 class="expanded">Story Two: It wasn't just 'Human Error'</h2>
|
||
|
||
<p>This reminds me of story number two. This is a separate organization where an incident had occurred at 3 a.m., which is when all the bad incidents occur. I was tasked to lead the investigation of this highly visible incident, after the fact. A senior engineering leader had pulled me aside in the office the morning after and said something along the lines of, "Nora, I'm not sure if this incident is all that interesting for you to analyze." It seemed pretty interesting in my eyes: 3 a.m., all-day mitigation, and it hit the news. I asked, why? He said, "It was human error. Kieran didn't know what he was doing. He wasn't prepared to own the system. He didn't need to answer the page, it could have waited till morning." I was baffled. This was in an organization that thought they were practicing blamelessness without a deep understanding of what blameless meant. When something like this happens, a Kieran makes an error, it ends up usually being met with instituting a new rule or process within organizations.</p>
|
||
|
||
<p>There was nothing wrong with this particular organization. This could have been a story from a lot of organizations in the tech industry. We have something we thought was human error. Let's make a new rule or process so that that doesn't happen again. We're going to create a gate. That actually is still blame. It's unproductive. It's not only unproductive, it's actually hurting your organization's ability to glean those new insights that lead to that performance improvement. It's also easier to add in rules and procedures. It feels good. It allows us to move on, emotionally speaking. It says, yes, checkbox, we did something about this problem. It's not going to happen again. However, these implementations of rules and procedures don't typically come from the person that's in the hot seat. They don't typically come from folks on the front line either. That's because it's easy to spot errors in hindsight. It's much more difficult to encourage insights. Unfortunately, adding in new rules and procedures actually diminishes the ability to glean new insights from these incidents.</p>
|
||
|
||
<p>Despite all this, despite being told not to investigate this incident, they were just going to create a rule. Have a little post-incident review meeting, and move on. I still wanted to talk to Kieran. I wanted to talk to him one on one and figured out what happened. I came into this conversation knowing that Kieran received an alert at 3 a.m., that had he spent more time studying the system, he would have known could have waited until business hours to fix. I started the conversation by asking him pointedly to tell me about what happened. He said, "I was debugging a Chef issue that started at 10 p.m. We finally got it stabilized and I went to bed around 1:30 a.m. At 2 a.m., I received an alert about a Kafka broker being borked." That led to interesting finding number one. Kieran was already awake and tired, and he was debugging a completely separate issue. Those two systems were unrelated. I wonder why we have on-call engineers, on-call for two separate systems in the middle of the night. I wonder why the other system didn't get handed off to someone when he had already been responding to this one page.</p>
|
||
|
||
<p>I asked him what made him investigate the Kafka broker issue. He said, "I'd just gotten paged for it and my team just got transferred this on-call rotation for this Kafka broker about a month ago." That's pretty recent. I asked him if he had been alerted for this before. He said, "No, but I knew this broker had some tricky nuances." That led me to interesting finding number two. Kieran's team had not previously owned this Kafka broker. I wonder how on-call transfers of expertise, work? I wonder why his team got transferred this system? I wonder how often they had been working with this Kafka broker. I wonder if anyone had actually ever owned this Kafka broker before. I asked him then how long he had been at the organization. Five months. Interesting finding number three, he was new to the organization. He was on-call for two separate systems in the middle of the night. He was tired. I think if I was in his shoes, I would have done the exact same thing. This was not a Kieran change we needed to make. This was not a new rule or procedure we needed to make. This was an organizational change we needed to make. This organization, based on these results, and based on talking to Kieran was able to make significant changes about how they structured on-call ownership, and how people were on-call for it and responded to systems in the middle of the night. How we trained new employees. We wouldn't have been able to glean these insights without actually studying this information further. This is what leads to performance improvement.</p>
|
||
|
||
<h2 class="expanded">Cognitive Interviews</h2>
|
||
|
||
<p>Post-incident reviews are important, but they're not good. If we can ask some deeper questions, and we can talk to some of the people that might commonly be blamed, we'll find some of the answers that we're looking for, and we can make them good. The technique I used with Kieran is called cognitive questioning. It's something that industries other than software use quite frequently, and they're industries that we can learn a lot from, that have been around a lot longer than us. Cognitive interviews can determine what folk's understanding of the event was. What stood out for them as important? What stood out for them as confusing, ambiguous, or unclear? What they believe they knew about the event and how things actually work that they believe others don't, revealing these things as data. If I had just had Kieran in a post-incident review meeting, and I had not had that one on one conversation with him in a way that made him feel psychologically safe, I wouldn't have gotten all those insights. A more senior engineer would have probably spoken up and explained how all of it worked. While they may have been technically correct, I wouldn't have gotten the data about how Kieran viewed the system, about the problems he was experiencing. None of those things would have been exposed and they wouldn't have been fixed.</p>
|
||
|
||
<p>Cognitive interviews can also point to a lot of interesting things to continue exploring, like relevant ongoing projects, past incidents that feel familiar, or past experiences. It can end up building up expertise. You can iteratively inform and contrast the results of these interviews that you do with other sources of data like Slack transcripts from the incident, Jira tickets, pull requests, Docs. It's useful to start with generic questions like I did with Kieran. "From your perspective, can you explain what happened in the incident?" You want to make them feel like the expert here because they did have an expertise in that moment. How did you get brought into this event? Some questions I like to ask are pointing them to a specific thing that they said during the incident. What did you mean when you said this? Can you tell me about the ordering of events? You said this thing didn't look normal, what does normal mean? At what point did you discover what triggered this incident? What dashboards were you looking at? What was your comfortability level with assessing the situation? How long have you been here? How have you seen things done previously? Are you frequently on-call for stuff like this? Is anyone on-call for stuff like this? How did you feel this went? Giving them this open forum can reveal a lot of things, but you have to be able to ask questions in a certain way without finger pointing or suggesting your expertise on the situation as well.</p>
|
||
|
||
<h2 class="expanded">Story Three: Promotion Packets Were Due</h2>
|
||
|
||
<p>I was in an organization that was having upticks in incidents in certain times of year. I was asked to study why and how certain times of year were leading to more incidents. I started looking around at what was happening during certain times of year. I noticed they were around the time that promotion packets were due. Promotion packets in this particular organization were done by line managers. They would put together a packet of all the cases about an employee they thought deserved to be promoted. They would use references like, here are all the things they said they were going to complete at the beginning of the quarter and here are all the ones that they did complete. As this organization grew larger this became very numbers driven. Folks didn't have time to read this entire packet, they would just use this checklist. Did they complete these items? This was in a detriment to the organization.</p>
|
||
|
||
<p>When the engineers would set out to do their OKRs, at the beginning of the quarter, things come up. Priorities change. They have to reevaluate. What we would see right before promotion packets were due, were engineers trying to hurry up and finish all the things that they had set out to do at the beginning of the quarter in order to get promoted. It was a system that was inadvertently created. Everyone was doing this at the same time. If we hadn't looked into these incidents, and we hadn't reviewed what was happening around the incidents, what else people were dealing with, we wouldn't have realized this incentive structure we created in the organization was actually leading to incidents. It was a catalyst for incidents. By doing some thorough incident reviews and studying, we were able to change and make appropriate changes to how we were doing promotion packets.</p>
|
||
|
||
<p>A good incident analysis should tell you where to look. It's hard to do incident analysis. It's hard to do cross-incident analysis if we don't have good individual data as well. I'll show you a quick screenshot. Where would one look here? This is some message volume after an incident. This is an actual incident, natural event that took place. You might look at the volume of chatter in certain places. You might look at when folks were getting alerted a lot. You might look at when conversations were going on over video conferencing. You might be interested in tenure of folks and how long they've been here. How often were we relying on super senior folks? You might be interested in the absent chatter. You might be interested in which teams were involved, and their participation level. It seems like customer service was the only one on, on Friday night. I wonder if they were getting the support they needed. You might be interested in which days of the week were happening, and which teams were participating the most. This can tell you where to look and can help you ask different questions. It can help you understand what folks were dealing with in the moment so that you can understand the cost of this coordination.</p>
|
||
|
||
<p>It might be surprising, but a good incident analysis can help you with things other than learning. It can end up helping you with headcount. We really need to make a team out of this rotation. It can help you with training. It can help you with planning promotion cycles, with quarterly planning, with unlocking tribal knowledge. With how much coordination efforts during incidents are actually costing you, and understanding your bottlenecks in people.</p>
|
||
|
||
<h2 class="expanded">The Components of a Strong Post-Incident Process</h2>
|
||
|
||
<p>There's components to a strong post-incident process. Here's what we recommend, through our experience doing this as well. You have an incident. You assign it to someone that didn't participate in the event so that they can ask the open-ended questions and people can give responses without feeling like they need to impress one of their teammates. You identify interviewees and opportunities. You analyze the disparate sources of data. You talk to people. You align with participants on what happened in the event. You facilitate a meeting, and then you generate an artifact. Not every incident deserves this entire process, but the big ones do. It's not just the big ones. There's a lot more incidents that should be given more time and space to analyze. You can consolidate that process for the smaller ones.</p>
|
||
|
||
<p>Here are some examples of incidents that you might want to give more time and space to analyze. If there were more than two teams involved, especially if they had never worked together before. If it involved a misuse of something that seemed trivial, like expired certs. None of us have ever had those. If the incident or event was almost really bad. If we went, "I'm really glad no one noticed that," we should analyze it. If it took place during a big event, like an earnings call. If a new service or interaction between services was used. If more people joined the channel than usual.</p>
|
||
|
||
<h2 class="expanded">Improving Incident Analysis</h2>
|
||
|
||
<p>When are we ready for incident analysis? When are we ready for a non-template driven, one page post-incident review. Having customers, means you're ready to benefit from incident analysis. It builds expertise in your organization and actually helps people collaborate and trust each other more. What can you do today to improve incident analysis? You can give folks time and space to get better at analysis. This can be trained. You can come up with different metrics. Look at the people, which teams did we have involved? This doesn't mean pointing blame. It's just figuring out how we're coordinating and collaborating together. We can come up with investigator on-call rotations, so that we're not just having people from the team involved doing the incident investigation, because we're going to gain more ROI from it. The benefit of that is a person from another system is going to learn a little bit more about how another system works. If we do a lot more of that, everyone's expertise is going to level up. Also, allowing time for investigation of the big ones is extra important.</p>
|
||
|
||
<h2 class="expanded">How to Know Incident Analysis Is Working</h2>
|
||
|
||
<p>How do you know if it's working? How do we know if we're getting more insights generated? If we're getting these insights disseminated? How do we know that performance is improving in a way other than counting errors? If more folks are reading the incident review. If more folks are voluntarily attending the incident review without being required, maybe folks on teams that weren't involved, adjacent teams, sister teams, customer service, marketing. If you're not seeing the same folks pop into every incident. If people feel more confident, ask that confidence question. If you see teams collaborating more, proactively asking each other questions. If you're seeing a better shared understanding of the definition of an incident. If we're not debating the SEV levels all the time at the beginning of the incident, not wasting time doing that.</p>
|
||
|
||
<p>Here are some actual feedback pieces that folks have gotten in previous organizations after instituting a deeper incident analysis. These are not quotes from Jeli, these are quotes just around the industry of improving incident analysis. I just changed the way I was proposing to use this part of this system in a design as a result of reading this document. Never have I seen such an in-depth analysis of any software system I've had the pleasure of working with. It's a beautiful educational piece that anyone who plans on using this should read.</p>
|
||
|
||
<h2 class="expanded">Key Takeaways</h2>
|
||
|
||
<p>Taking time to understand and study how an incident happened, can generate more insights and improve performance. It can actually improve how you understand the system as well. Understanding the social of the incident can improve the understanding of the technical. Asking questions in a different way, and sometimes this means one on one, can impact the insights that we've gleaned.</p>
|
||
|
||
<h2 class="expanded">Resources</h2>
|
||
|
||
<p>Some further resources on incident analysis. The learningfromincidents.io website has plenty of blog posts from folks that are actually chopping wood and carrying water, and doing the real work to implement incident analysis in their organizations. If folks are interested in how counting errors can actually be a detriment after incidents, I would encourage you to read, "The Error of Counting Errors" by Robert L. Wears, from the medical field. It's a two-page paper and it's excellent in explaining some of this. Also, the Etsy Debriefing Facilitation Guide is an excellent review of how to ask different questions after incidents, in ways that can generate more ROI for you.</p>
|
||
|
||
<h2 class="expanded">Questions and Answers</h2>
|
||
|
||
<p>Rettori: How do you define the threshold for when to do an incident or not? Is it a money impact? Is it a time impact? What are the learnings that you have on that area?</p>
|
||
|
||
<p>Jones: It's hard, especially if you're in an organization that is having incidents every single day, which I know a lot of folks in the software industry are. There's near misses. There's incidents. There's always reasons you have to jump into a channel to fix a thing. How do we decide which ones are important to do this on? I would say ones that look like anomalies for your organization. Maybe if a lot more people joined the channel than usual. If there were just a few people responding, but a bunch of people lurking, or if it was generating high interest in general, if it involved something we thought we had fixed before. I think it's good to come up with some criteria in your organization. If there's just interest in general in like what we can learn from it, that's usually a good signal that you should do an incident review. I would recommend only just not doing it only for the ones that hit the news or the big ones, or the ones that leadership tells you to, because those are the ones that ends up being emotionally charged. You're not actually getting learning out of them because you're focused so much on prevention. If you take one of the ones that are more simple in nature, you can start to get that learning out of them faster and build up that muscle. Then, once you do have a big one later on, it's a lot easier for it not to be a witch-hunt.</p>
|
||
|
||
<p>Rettori: I think maybe a little bit touching on how to encourage the actual application team or the developers to be involved in the incident reviews. Because, in my experience, and you've seen this, like it's a separate team that does that, and they have a process. Most often they do, because it needs to be done more than they need the learnings from what happened.</p>
|
||
|
||
<p>Jones: I think there's a couple things in mind. It's who does the incident reviews, who facilitates them, and who attends them. I think if you have a group of folks that are not actually writing code for the systems, doing the incident reviews all the time, it's a huge miss for the organization. Because what happens is, if you have people that are writing code, and participating in the systems, doing the incident reviews and switching off, you're leveling up the expertise of everyone in the organization. If Dio is on the search team, and I'm on the frontend team, and Dio does an incident review for my incident, he's going to learn a lot about how frontend works. Vice versa, if I go and do an incident review for the checkout team, I'm going to learn a lot about how checkout works. Over time, everyone's expertise builds up, and people start to understand a lot more of the system other than just their part as a whole. It's beneficial to actually have that incident reviewer on a separate team so that they can ask the silly questions. It's not for them. It's just an added benefit of that. It gives people the space.</p>
|
||
|
||
<p> </p>
|
||
<script>
|
||
$(function() {
|
||
jQuery(function() {
|
||
jQuery.scrollDepth();
|
||
});
|
||
});
|
||
</script>
|
||
|
||
<p><big><strong>See more <a href="https://www.infoq.com/transcripts/presentations/">presentations with transcripts</a></strong></big></p>
|
||
|
||
<p> </p>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</div>
|
||
|
||
<div class="aside">
|
||
<div class="recorded">
|
||
<p class="meta recorded__meta">Recorded at:</p>
|
||
<a href="https://plus.qconferences.com/">
|
||
<img loading="lazy" alt="QCon Plus is a virtual conference for senior software engineers and architects that covers the trends, best practices, and solutions leveraged by the world's most innovative software organizations." src="https://res.infoq.com/presentations/incident-analysis-move-faster/en/promoimage/Logo_QCon+Plus-1639084419259.png">
|
||
</a>
|
||
</div>
|
||
<p class="date">Dec 09, 2021</p>
|
||
<div class="article__authors authors">
|
||
<div>
|
||
<p class="meta">by</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<ul class="no-style authors">
|
||
|
||
|
||
|
||
|
||
<li data-id="author-Nora-Jones">
|
||
<p class="meta author__bio">
|
||
|
||
<a href="/profile/Nora-Jones/" class="avatar author__avatar" aria-label="Nora Jones"></a>
|
||
<span class="author__name">
|
||
<a href="/profile/Nora-Jones/" class="author__link">Nora Jones</a>
|
||
</span>
|
||
</p>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="ads__area">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<script type="text/javascript">
|
||
var uriMapping = "presentations";
|
||
var showVcr = "false";
|
||
var fillWithVcr = "true";
|
||
var sponsorshipsJson = "{"links":[{"styleName":"pdf","style":"PDF","text":"The Practical Agentic Coding Playbook","id":"18089bbe-8e7c-4b03-a6ef-ca191b8d102e","target":"https://www.infoq.com/vendorcontent/show.action?vcr=430ffe46-9047-4739-a817-b7d64d070721&utm_source=infoq&utm_medium=VCR&utm_campaign=vcr_fixed_link","active":true}]}";
|
||
var sponsoredLinks = $.parseJSON($("<div/>").html(sponsorshipsJson).text()).links;
|
||
var numberOfSponsoredVcrIds = sponsoredLinks != null ? sponsoredLinks.length : 0;
|
||
|
||
var maxItems = 5 - numberOfSponsoredVcrIds;
|
||
|
||
var intervalVcrSponsorship = setInterval(function() {
|
||
if (window.vcrsLoaded) {
|
||
clearInterval(intervalVcrSponsorship);
|
||
if(showVcr || fillWithVcr) {
|
||
if(fillWithVcr) {
|
||
for(var index in window.vcrList) {
|
||
if(VCR.isVcrSponsored(sponsoredLinks, window.vcrList[index])) {
|
||
VCR.addToExcludedList(window.vcrList[index]);
|
||
}
|
||
}
|
||
}
|
||
var vcrs = VCR.getByTopicsAndCommunities(window.vcrList, topicIds, communityIds, maxItems, false, null);
|
||
if (vcrs != null && vcrs.length > 0 || (sponsoredLinks != null && sponsoredLinks.length > 0)) {
|
||
VCR.addToExcludedList(vcrs);
|
||
var $widget = jQuery('.relatedVendor');
|
||
getCommonElementsForPresentationsWithTranscripts(vcrs, uriMapping, "RIGHT_BAR_RVC");
|
||
$widget.css("display", "block");
|
||
} else {
|
||
var $widget = jQuery('.relatedVendor');
|
||
$widget.removeClass("f_rvcbox");
|
||
}
|
||
}
|
||
window.contentVcrFinished = true;
|
||
// search for infoq.event.on("contentVcrFinished",... to see how/where it is used
|
||
infoq.event.trigger("contentVcrFinished");
|
||
}
|
||
}, 200);
|
||
|
||
</script>
|
||
<input type="hidden" name="" value="1893" id="cont_item_primary_topic"/>
|
||
|
||
|
||
<div class="widget relatedVendor"
|
||
|
||
style="display: block"
|
||
|
||
|
||
>
|
||
|
||
<h4 class="widget__heading">Related Sponsors</h4>
|
||
<ul data-tax="prsp" data-horizontal="true" data-size="small"
|
||
class="prsp__items no-style cards showImageFirst">
|
||
|
||
|
||
<div class="f_rvcList"></div>
|
||
|
||
|
||
<li class="book">
|
||
<div class="book__info">
|
||
<h4 class="book__title">
|
||
<a href="/url/f/18089bbe-8e7c-4b03-a6ef-ca191b8d102e/" rel="nofollow">
|
||
The Practical Agentic Coding Playbook
|
||
</a>
|
||
</h4>
|
||
</div>
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
|
||
<ul class="related-prsp" jsh="{"topic":"QCon Software Development Conference","id":"12605306-ee86-4a5c-bc22-ab8b965bfc4a","title":"Moderne - Architect Influence Program 08/11/2026 - 11/11/2026"}">
|
||
<h4 class="widget__heading">Related Sponsor</h4>
|
||
|
||
<a href="/url/f/66abda2e-0d1f-4030-92f5-2d460e845635/" target="_blank" rel="nofollow">
|
||
<img loading="lazy" src="https://imgopt.infoq.com//fit-in/250x380/filters:quality(100)/filters:no_upscale()/sponsorship/topic/12605306-ee86-4a5c-bc22-ab8b965bfc4a/ModerneLogoMicrosite-1786453474094.png"/>
|
||
</a>
|
||
|
||
|
||
<p style="clear: both; padding: 10px 0 0 0;"><b>Automated code transformation at scale. Fix vulnerabilities, migrate frameworks, and modernize legacy code across every repo. <a href="/url/f/b66b8015-fc94-4daf-88dc-691741225dd6/" target="_blank" rel="nofollow">Try Moderne Free</a>.</b></p>
|
||
|
||
</ul>
|
||
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<script type="text/javascript">
|
||
window.finishedRightbarVcr = false;
|
||
|
||
var whitepaperVcrsJson = null;
|
||
var topicSponsorshipJson = "{"iconLink":"/url/f/66abda2e-0d1f-4030-92f5-2d460e845635/","iconHref":"https://imgopt.infoq.com//fit-in/275x500/filters:quality(100)/filters:no_upscale()/sponsorship/topic/12605306-ee86-4a5c-bc22-ab8b965bfc4a/ModerneLogoMicrosite-1786453474094.png","id":"44704352-e094-4805-9d0b-c9675f61311a"}";
|
||
var vcrOptionalListJson = null;
|
||
/* do not delete these two, as they are used further in the code */
|
||
var contentDatetimeFormat='MMM dd, yyyy';
|
||
var contentUriMapping="presentations";
|
||
JSi18n.relatedRightbar_relatedContent='Related Content';
|
||
JSi18n.relatedRightbar_sponsoredContent='Related Sponsors';
|
||
JSi18n.relatedRightbar_sponsoredBy='Sponsored by';
|
||
|
||
var topicIds = "6766,6724,6169,3450,593,4910,876";
|
||
var communityIds = "1893";
|
||
var company = "Moderne";
|
||
|
||
|
||
// this event is fired by frontend once all the necessary things have been done(mobile display, moving vcr boxes around when needed...)
|
||
var canStartTrackingCustomRightbar = false;
|
||
infoq.event.on('loaded', function(e) {
|
||
canStartTrackingCustomRightbar = true;
|
||
});
|
||
|
||
var intervalRightbar = setInterval(function() {
|
||
if (window.vcrsLoaded) {
|
||
clearInterval(intervalRightbar);
|
||
if(company != null && company != "") {
|
||
whitepaperVcrsJson = VCR.filterByCompany(company, window.vcrList);
|
||
}
|
||
vcrOptionalListJson = VCR.getByTopicsAndCommunities(window.vcrList, topicIds, communityIds, 20, true, null);
|
||
|
||
|
||
|
||
var adsArea = $('.ads__area');
|
||
|
||
// 1. display whitepaperVcrs
|
||
var topicSponsorship = $.parseJSON($("<div/>").html(topicSponsorshipJson).text());
|
||
var whitepaperVcrItems = $.parseJSON($("<div/>").html(JSON.stringify(whitepaperVcrsJson)).text());
|
||
|
||
var index = 0;
|
||
|
||
var hasWhitepaper = whitepaperVcrItems !== null && whitepaperVcrItems.length > 0;
|
||
if (hasWhitepaper) {
|
||
index++;
|
||
|
||
var whitepaperDiv = getRightbarCustomVcrWidget(whitepaperVcrItems, index, topicSponsorship, "transcriptsright", 1);
|
||
$(whitepaperDiv).addClass('prspContent_side');
|
||
$(whitepaperDiv).removeClass('box');
|
||
$(whitepaperDiv).find('a.book__image img').addClass("book__cover");
|
||
adsArea.append(whitepaperDiv);
|
||
}
|
||
|
||
|
||
// 2. repeat the "VCR OPTIONAL box as many times as possible, but not more than 5 times"
|
||
var items = $.parseJSON($("<div/>").html(JSON.stringify(vcrOptionalListJson)).text());
|
||
|
||
var minimumBoxHeight = 2000;
|
||
var availableSpace = $('.aside').height() - $('.relatedVendor').height();
|
||
var numberOfBoxes = Math.floor(availableSpace / minimumBoxHeight);
|
||
if (numberOfBoxes > 5) {
|
||
numberOfBoxes = 5;
|
||
}
|
||
|
||
for (var i = 0; i<numberOfBoxes; i++) {
|
||
index++;
|
||
|
||
var relatedVcrDiv = getRightbarCustomVcrWidget(items, index, null, "transcriptsright", 1);
|
||
$(relatedVcrDiv).addClass('prspContent_side');
|
||
$(relatedVcrDiv).removeClass('box');
|
||
$(relatedVcrDiv).find('a.book__image img').addClass("book__cover");
|
||
adsArea.append(relatedVcrDiv);
|
||
}
|
||
|
||
window.finishedRightbarVcr = true;
|
||
}
|
||
}, 200);
|
||
|
||
// these two events can happen one before another async(no precedence any can be first or second). Make sure tracking starts when both happened
|
||
var intervalTrackingRightbar = setInterval(function() {
|
||
if(canStartTrackingCustomRightbar && window.finishedRightbarVcr){
|
||
clearInterval(intervalTrackingRightbar);
|
||
VCR.doTrackingCustomRightbarForPresentations();
|
||
}
|
||
}, 200);
|
||
</script>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="widget article__fromTopic topics">
|
||
|
||
<div class="widget__head related__for-topic" data-id="6043" data-trk-ref="content_primary_topic">
|
||
<h4 class="heading related__heading">
|
||
|
||
|
||
|
||
This content is in the <a href='/Devops/'>DevOps</a> topic
|
||
</h4>
|
||
</div>
|
||
|
||
<h5 class="heading related__inline">Related Topics:</h5>
|
||
<ul class="no-style topics related__topics topics__small" data-trk-ref="content_related_topic">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="6043">
|
||
<a href="/Devops/" class="button related__topic button__small button__black">DevOps</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="18248">
|
||
<a href="/qcon-plus-may-2021/" class="button related__topic button__small button__black">QCon Plus May 2021</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="18198">
|
||
<a href="/qcon-plus/" class="button related__topic button__small button__black">QCon Plus</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="17608">
|
||
<a href="/chaos-engineering/" class="button related__topic button__small button__black">Chaos Engineering</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="14722">
|
||
<a href="/Resilience/" class="button related__topic button__small button__black">Resilience</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="597">
|
||
<a href="/qcon/" class="button related__topic button__small button__black">QCon Software Development Conference</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="16293">
|
||
<a href="/incident-reponse/" class="button related__topic button__small button__black">Incident Response</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="1389">
|
||
<a href="/architecture/" class="button related__topic button__small button__black">Architecture</a>
|
||
</li>
|
||
|
||
|
||
</ul>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<input type="hidden" name="" value="1893" id="cont_item_primary_topic"/>
|
||
|
||
|
||
|
||
<script type="text/javascript">
|
||
$(document).ready(function() {
|
||
$.ajax({
|
||
url: "/api/recommendationlinks.action",
|
||
contentType: "application/x-www-form-urlencoded; charset=utf-8",
|
||
type: 'POST',
|
||
data: {
|
||
"primaryTopicAlias": "Devops",
|
||
"topicIds": "6766,6169,4910",
|
||
"title": "Incident Analysis: Your Organization's Secret Weapon",
|
||
"contentPath": "/presentations/incident-analysis-move-faster",
|
||
"language": "en"
|
||
},
|
||
success: displayRelatedEditorial,
|
||
async: false
|
||
});
|
||
});
|
||
|
||
function displayRelatedEditorial(data) {
|
||
$('.related__editorial h4').text("Related Editorial");
|
||
if (data && data.length > 0) {
|
||
if(data[0].fromEs) {
|
||
//change title and tracking params
|
||
var box_title="DevOps";
|
||
//replace html entity since it conflicts with style
|
||
box_title=box_title.replace("&","&");
|
||
$('.related__editorial h4').text("Popular in " + box_title);
|
||
}
|
||
for (var i = 0; i < data.length; i++) {
|
||
if (i === 5) {
|
||
break;
|
||
}
|
||
if (data[i].url.indexOf("/presentations/incident-analysis-move-faster") !== -1) {
|
||
console.log("Removing the current item from list...");
|
||
continue;
|
||
}
|
||
var theLinkURL = data[i].url;
|
||
if(!theLinkURL.endsWith("/")) {
|
||
theLinkURL = theLinkURL + "/";
|
||
}
|
||
var link = $('<li><h5 class="rvc__title"><a title="" href="' + theLinkURL + '/">' + data[i].title + '</a></h5></li>');
|
||
$('.related__editorial ul').append(link);
|
||
}
|
||
$('.related__editorial').show();
|
||
displayWidget = true;
|
||
}else{
|
||
$('.related__editorial').parent("li").remove();
|
||
}
|
||
|
||
if(displayWidget==true){
|
||
$('.related__group').attr("data-cols", $('.related__group').find(">li").length);
|
||
$('.related__group').css("display", "flex");
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<ul class="no-style related__group nocontent cards">
|
||
<li>
|
||
<div class="related__editorial">
|
||
<h4 class="heading">Related Editorial</h4>
|
||
<ul></ul>
|
||
</div>
|
||
</li>
|
||
|
||
<li class="bg-gray">
|
||
<div class="related__prsp">
|
||
<h4 class="heading">Popular across InfoQ</h4>
|
||
<ul>
|
||
|
||
<li>
|
||
<h5 class="rvc__title">
|
||
|
||
<a href="/news/2026/09/netflix-flink-autoscaler/" class="rvc__link">
|
||
Netflix Moves toward Open Source Flink Autoscaler for 30,000+ Streaming Jobs
|
||
</a>
|
||
</h5>
|
||
</li>
|
||
|
||
<li>
|
||
<h5 class="rvc__title">
|
||
|
||
<a href="/news/2026/09/java-news-roundup-aug31-2026/" class="rvc__link">
|
||
Java News Roundup: TornadoVM 6, JReleaser, LangChain4j, Java Operator SDK, JHipster, Yupiik Fusion
|
||
</a>
|
||
</h5>
|
||
</li>
|
||
|
||
<li>
|
||
<h5 class="rvc__title">
|
||
|
||
<a href="/news/2026/09/google-mantis-vulnerability-scan/" class="rvc__link">
|
||
Google Mantis: an Agentic Vulnerability Scanning Harness for Reducing False Positives
|
||
</a>
|
||
</h5>
|
||
</li>
|
||
|
||
<li>
|
||
<h5 class="rvc__title">
|
||
|
||
<a href="/news/2026/09/blume-docs-ai/" class="rvc__link">
|
||
Blume: Zero-Config Docs Framework That Turns a Markdown Folder into an AI-Ready Website
|
||
</a>
|
||
</h5>
|
||
</li>
|
||
|
||
<li>
|
||
<h5 class="rvc__title">
|
||
|
||
<a href="/news/2026/09/cern-debian-infra/" class="rvc__link">
|
||
CERN Renounces RHEL in Favor of Debian for its Accelerator Controls Infrastructure
|
||
</a>
|
||
</h5>
|
||
</li>
|
||
|
||
<li>
|
||
<h5 class="rvc__title">
|
||
|
||
<a href="/podcasts/personality-over-skillset/" class="rvc__link">
|
||
Personality Over Skillset: How Adam Wachtel Builds Engineering Teams
|
||
</a>
|
||
</h5>
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
|
||
</article>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
<div id="imgPreload"></div>
|
||
|
||
<script type="text/javascript">
|
||
// global vars that can be used for this page, use this section to add more.
|
||
var contentTitle = "Incident Analysis: Your Organization's Secret Weapon",
|
||
contentPath = "/presentations/incident-analysis-move-faster",
|
||
contentUUID = "23ee9f58-4659-4340-8074-63ed3de260fb",
|
||
authorUserCSVIds = "107488207";
|
||
</script>
|
||
|
||
<script type="text/javascript">
|
||
// needed for starting download after IDP login, processing starts after frontend modules are loaded
|
||
infoq.event.on("loaded", function(){
|
||
if(loggedIn){
|
||
var href = window.location.href;
|
||
if(href.indexOf("#downloadPdf") != -1){
|
||
//window.location.href = href.substring(0, href.indexOf('#'));
|
||
$('#slides').click();
|
||
} else if(href.indexOf("#downloadPresentationMp3") != -1){
|
||
//window.location.href = href.substring(0, href.indexOf('#'));
|
||
$('#mp3').click();
|
||
}
|
||
}
|
||
});
|
||
P.c(false, 'p', isWideScreen, 'https://cdn.infoq.com/statics_s1_20260910111632/styles/static/images/logo/logo_scrubber_16_9.jpg', 'https://cdn.infoq.com/statics_s1_20260910111632/styles/static/images/logo/logo_scrubber_4_3.jpg');
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
//wait for the player to be ready
|
||
document.getElementById("video").addEventListener('loadeddata', function() {
|
||
//check if we are requested to jump to a specific time in the video
|
||
var t = CommonUtils.getQueryParameterByName("t");
|
||
if(t !== null && t.length <= 9) {
|
||
SlideSynchronizer.start();
|
||
P.seekPlayerTime(t, true);
|
||
}
|
||
}, false);
|
||
|
||
</script>
|
||
|
||
|
||
</main>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<footer class="footer ">
|
||
|
||
|
||
<section data-nosnippet class="section container">
|
||
<div class="container__inner">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<ul data-cols="5" class="no-style columns boxes topic__boxes">
|
||
|
||
<li class="development">
|
||
<div class="box__header">
|
||
|
||
<a class="t_all_footer_more-boxes-header" href="/development/">Development</a>
|
||
</div>
|
||
<div class="box__content">
|
||
<ul class="no-style box__list small">
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/tinygo-devkit/" title="Advancing Embedded Go: Recoverable Panics, UEFI, Radio and Hardware Dev Kit">Advancing Embedded Go: Recoverable Panics, UEFI, Radio and Hardware Dev Kit</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/riscv-cpython/" title="CPython Officially Adds RISC-V Support as a Tier 3 Platform">CPython Officially Adds RISC-V Support as a Tier 3 Platform</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/async-lua-neovim/" title="vim.async's Addition Modernizes Neovim&rsquo;s Async Architecture for Better Stability">vim.async's Addition Modernizes Neovim’s Async Architecture for Better Stability</a></h5>
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
</li>
|
||
|
||
<li class="architecture-design">
|
||
<div class="box__header">
|
||
|
||
<a class="t_all_footer_more-boxes-header" href="/architecture-design/">Architecture & Design</a>
|
||
</div>
|
||
<div class="box__content">
|
||
<ul class="no-style box__list small">
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/netflix-conductor-4-workflow/" title="Netflix Reworks Conductor for 420 Million Monthly Workflow Executions and 10X Larger Workflows">Netflix Reworks Conductor for 420 Million Monthly Workflow Executions and 10X Larger Workflows</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/meta-organizational-agents/" title="Meta's Recipe for Building Agents as &quot;Organizational Second Brains&quot;">Meta's Recipe for Building Agents as "Organizational Second Brains"</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/netflix-flink-autoscaler/" title="Netflix Moves toward Open Source Flink Autoscaler for 30,000+ Streaming Jobs">Netflix Moves toward Open Source Flink Autoscaler for 30,000+ Streaming Jobs</a></h5>
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
</li>
|
||
|
||
<li class="culture-methods">
|
||
<div class="box__header">
|
||
|
||
<a class="t_all_footer_more-boxes-header" href="/culture-methods/">Culture & Methods</a>
|
||
</div>
|
||
<div class="box__content">
|
||
<ul class="no-style box__list small">
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/autonomous-software-teams/" title="Beyond Autonomous Teams in Software Product Development">Beyond Autonomous Teams in Software Product Development</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/presentations/rust-refactoring/" title="Accelerating Performance by Incrementally Integrating Rust Into Existing Codebase">Accelerating Performance by Incrementally Integrating Rust Into Existing Codebase</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/podcasts/personality-over-skillset/" title="Personality Over Skillset: How Adam Wachtel Builds Engineering Teams">Personality Over Skillset: How Adam Wachtel Builds Engineering Teams</a></h5>
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
</li>
|
||
|
||
<li class="ai-ml-data-eng">
|
||
<div class="box__header">
|
||
|
||
<a class="t_all_footer_more-boxes-header" href="/ai-ml-data-eng/">AI, ML & Data Engineering</a>
|
||
</div>
|
||
<div class="box__content">
|
||
<ul class="no-style box__list small">
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/nvidia-pair-ai-task-router/" title="NVIDIA Personal AI Router Distributes AI Tasks across Local Compute">NVIDIA Personal AI Router Distributes AI Tasks across Local Compute</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/linkedin-ai-multi-teacher/" title="How LinkedIn Trains AI Job Search 8x Faster with Multi-Teacher Distillation">How LinkedIn Trains AI Job Search 8x Faster with Multi-Teacher Distillation</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/openai-gpt6-astra/" title="OpenAI Releases GPT-6 Astra for Coding and Computer Use">OpenAI Releases GPT-6 Astra for Coding and Computer Use</a></h5>
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
</li>
|
||
|
||
<li class="devops">
|
||
<div class="box__header">
|
||
|
||
<a class="t_all_footer_more-boxes-header" href="/devops/">DevOps</a>
|
||
</div>
|
||
<div class="box__content">
|
||
<ul class="no-style box__list small">
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/terraform-aws-provider-6-62/" title="Terraform AWS Provider Continues Rapid Expansion as AWS Infrastructure Becomes More Complex">Terraform AWS Provider Continues Rapid Expansion as AWS Infrastructure Becomes More Complex</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/observability-ai-agents/" title="Session Traces and Cost Controls Help Diagnose AI Agent Failures">Session Traces and Cost Controls Help Diagnose AI Agent Failures</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/hashicorp-packer-verification/" title="HashiCorp Packer 1.16 Adds Native SLSA Provenance Generation and Verification for Machine Images">HashiCorp Packer 1.16 Adds Native SLSA Provenance Generation and Verification for Machine Images</a></h5>
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
|
||
|
||
</div>
|
||
</section>
|
||
<section data-nosnippet class="container section section__newsletter">
|
||
<div class="columns container__inner">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="newsletter" data-col="1/2"
|
||
|
||
|
||
|
||
id="infoq-nl"
|
||
|
||
|
||
|
||
|
||
>
|
||
<h2 class="heading">
|
||
<strong>The InfoQ</strong> Newsletter
|
||
</h2>
|
||
<p class="intro">A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers.
|
||
|
||
<a target="_blank" href="https://assets.infoq.com/newsletter/regular/en/newsletter_sample/newsletter_sample.html">View an example</a>
|
||
|
||
|
||
</p>
|
||
<ul class="newsletter__features">
|
||
<li>Get a quick overview of content published on a variety of innovator and early adopter technologies</li>
|
||
<li>Learn what you don’t know that you don’t know</li>
|
||
<li>Stay up to date with the latest information from the topics you are interested in</li>
|
||
</ul>
|
||
<div class="newsletter__subscribe">
|
||
<form class="form gdpr" name="footerNewsletterForm" id="footerNewsletterForm" action="#" onsubmit="footerNewsletter.saveSubscription(); return false;">
|
||
<div class="field newsletter__mail input__text input__no-label input__medium email">
|
||
<label for="email-newsletter-infoq" class="label field__label">Enter your e-mail address</label>
|
||
<input id="email-newsletter-infoq" name="footerNewsletterEmail" placeholder="Enter your e-mail address" class="input field__input" type="email"/>
|
||
<input type="text" name="emailH" id="input_email_h" aria-required="false" style="display:none !important" tabindex="-1" autocomplete="off"/>
|
||
<input type="hidden" id="fnt" name="fnt" value="7Ua0mv7Px1sBu8cR"/>
|
||
<input type="hidden" id="footerNewsletterType" name="footerNewsletterType" value="regular"/>
|
||
<input type="hidden" id="cmpi" name="cmpi" value="1"/>
|
||
</div>
|
||
<div class="hidden">
|
||
<span class="input__select field country">
|
||
<label for="input-simple-newsletter-country" class="label field__label">Select your country</label>
|
||
<select id="input-simple-newsletter-country" class="select field__input">
|
||
<option value="" class="select__option">Select a country</option>
|
||
</select>
|
||
<p class="input__message field__desc"></p>
|
||
</span>
|
||
<span class="input__checkbox field hidden">
|
||
<input type="checkbox" id="gdpr-consent-simple-nl">
|
||
<label for="gdpr-consent-simple-nl" class="label"><span>I consent to InfoQ.com handling my data as explained in this <a href="https://www.infoq.com/privacy-notice">Privacy Notice</a>.</span></label>
|
||
</span>
|
||
</div>
|
||
<input type="submit" role="button" value="Subscribe" class="button button__medium button__red" onclick="return footerNewsletter.validateEmail('Invalid email address');"/>
|
||
</form>
|
||
<p class="meta">
|
||
<a href="/privacy-notice/" target="_blank">We protect your privacy.</a>
|
||
</p>
|
||
|
||
<span class="success" style="display:none;" id="footerNewsletterMessage"></span>
|
||
</div>
|
||
<script type="text/javascript">
|
||
var footerNewsletter = new Newsletter('Enter your e-mail address',
|
||
'email-newsletter-infoq', 'footerNewsletterType','footerNewsletterMessage', 'fnt', 'input_email_h', 'input-simple-newsletter-country', 'cmpi','footer_except_homepage');
|
||
</script>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div data-col="1/2" data-bg="certification" class="event__container" style="padding-right: 20px;">
|
||
<a href="https://certification.qconferences.com/?utm_source=infoq&utm_medium=referral&utm_campaign=largefooterad_onlinecohorts26" target="_blank" class="qconplus__events-slider" style="">
|
||
<div>
|
||
<div class="logo-certification"></div>
|
||
</div>
|
||
<p class="intro" style="margin-bottom: 0;color: white !important;">
|
||
<b>InfoQ Online Certification Programs</b>
|
||
<br>For Senior Engineers, Architects, and Technical Leaders
|
||
</p>
|
||
<ul style="margin-bottom: 0;">
|
||
<li style="color: white !important;"><b>Architect</b> with Luca Mezzalira | September 14</li>
|
||
<li style="color: white !important;"><b>Engineering Leadership</b> with Michelle Brush | September 18</li>
|
||
<li style="color: white !important;"><b>AI-Assisted Engineering</b> with Zichuan Xiong & Premanand Chandrasekaran | September 18</li>
|
||
<li style="color: white !important;"><b>AI Security & Privacy Engineering</b> with Katharine Jarmul | October 14</li>
|
||
</ul>
|
||
<br>
|
||
<p class="intro" style="margin-bottom: 0;color: white !important;">As your role becomes more senior, the work changes. You're no longer just implementing decisions; you're shaping the systems, trade-offs, and technical direction other teams depend on.<br>These 5-week online programs give you a structured way to work through real decisions from your current role with senior peers from other companies.</p>
|
||
<strong class="button button__green cta__button">RESERVE YOUR PLACE</strong>
|
||
<small style="color: white;"><br>Live online. 4 hours a week, for 5 weeks.</small>
|
||
</a>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</div>
|
||
</section>
|
||
|
||
<section data-nosnippet class="section container footer__subfooter align__left">
|
||
<div class="container__inner columns">
|
||
<div data-col="1/4" class="columns footer__links-wrap">
|
||
<div class="footer__links">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<a href="/" class="nuxt-link-exact-active active" title="Home">Home</a>
|
||
|
||
|
||
<a href="/reginit.action" class="emphasis" title="Create account">Create account</a>
|
||
<button aria-label="Log In" class="login" data-ref="mainLogin">Log In</button>
|
||
|
||
|
||
<a rel="noreferrer noopener" href="http://qconferences.com/" target="_blank" title="QCon Conferences">QCon Conferences</a>
|
||
<a rel="noreferrer noopener" href="https://events.infoq.com/" target="_blank">Events</a>
|
||
|
||
<a href="/write-for-infoq/" title="Write for InfoQ">Write for InfoQ</a>
|
||
<a href="/infoq-editors/" title="InfoQ Editors">InfoQ Editors</a>
|
||
<a href="/about-infoq/" title="About InfoQ">About InfoQ</a>
|
||
<a href="https://c4media.com/" target="_blank" title="About C4Media">About C4Media</a>
|
||
|
||
<a rel="noreferrer noopener" href="https://get.infoq.com/infoq-mediakit/" title="Media Kit" target="_blank">
|
||
Media Kit
|
||
</a>
|
||
<a href="https://devmarketing.c4media.com/?utm_source=infoq" title="InfoQ Developer Marketing Blog" target="_blank">InfoQ Developer Marketing Blog</a>
|
||
|
||
<a rel="noreferrer noopener" href="https://c4media.com/diversity" title="Diversity" target="_blank">Diversity</a>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
<div data-col="1/4" class="events__list">
|
||
<h4 class="heading footer__heading">Events</h4>
|
||
<ul class="qcons__list no-style">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li><span class="icon event__type conference"></span>
|
||
<div class="qcon__detail">
|
||
<h5 class="heading">
|
||
<a rel="noreferrer noopener" href="https://certification.qconferences.com/architecture?utm_source=infoq&utm_medium=referral&utm_campaign=footer_onlinecohortarchitecture26" target="_blank">Online InfoQ Architect Certification</a>
|
||
</h5>
|
||
<span class="meta date">September 14, 2026</span>
|
||
</div>
|
||
</li>
|
||
<li><span class="icon event__type conference"></span>
|
||
<div class="qcon__detail">
|
||
<h5 class="heading">
|
||
<a rel="noreferrer noopener" href="https://certification.qconferences.com/ai-assisted-engineering?utm_source=infoq&utm_medium=referral&utm_campaign=footer_onlinecohortaiassistedengineering26" target="_blank">Online InfoQ AI-Assisted Engineering Certification</a>
|
||
</h5>
|
||
<span class="meta date">September 18, 2026</span>
|
||
</div>
|
||
</li>
|
||
<li><span class="icon event__type conference"></span>
|
||
<div class="qcon__detail">
|
||
<h5 class="heading">
|
||
<a rel="noreferrer noopener" href="https://certification.qconferences.com/ai-security-privacy?utm_source=infoq&utm_medium=referral&utm_campaign=footer_onlinecohortaisecurity26" target="_blank">Online InfoQ AI Security & Privacy Engineering Program</a>
|
||
</h5>
|
||
<span class="meta date">October 14, 2026</span>
|
||
</div>
|
||
</li>
|
||
<li><span class="icon event__type conference"></span>
|
||
<div class="qcon__detail">
|
||
<h5 class="heading">
|
||
<a rel="noreferrer noopener" href="https://qconsf.com/?utm_source=infoq&utm_medium=referral&utm_campaign=footer_qsf26" target="_blank">QCon San Francisco</a>
|
||
</h5>
|
||
<span class="meta date">November 16-20, 2026</span>
|
||
</div>
|
||
</li>
|
||
<li><span class="icon event__type conference"></span>
|
||
<div class="qcon__detail">
|
||
<h5 class="heading">
|
||
<a rel="noreferrer noopener" href="https://newyork.qcon.ai/?utm_source=infoq&utm_medium=referral&utm_campaign=footer_qainy26" target="_blank">QCon AI New York</a>
|
||
</h5>
|
||
<span class="meta date">December 15-16, 2026</span>
|
||
</div>
|
||
</li>
|
||
<li><span class="icon event__type conference"></span>
|
||
<div class="qcon__detail">
|
||
<h5 class="heading">
|
||
<a rel="noreferrer noopener" href="https://qconlondon.com/?utm_source=infoq&utm_medium=referral&utm_campaign=footer_qlondon27" target="_blank">QCon London 2027</a>
|
||
</h5>
|
||
<span class="meta date">April 13-16, 2027</span>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div data-col="1/4" class="footer__social-wrap">
|
||
<h4 class="heading text-left footer__heading">Follow us on </h4>
|
||
<div class="social__links columns social__links__row">
|
||
|
||
|
||
<a href="https://www.youtube.com/infoq"><span class="icon icon__large icon__social icon__youtube"></span><div><span class="social__count">Youtube</span><span class="social__followers">232K Followers</span></div></a>
|
||
<a href="http://www.linkedin.com/company/infoq"><span class="icon icon__large icon__social icon__linkedin"></span><div><span class="social__count">Linkedin</span><span class="social__followers">26K Followers</span></div></a>
|
||
<a rel="noreferrer noopener" href="https://www.instagram.com/infoqdotcom/" target="_blank"><span class="icon icon__large icon__social icon__instagram"></span><div><span class="social__count">Instagram</span><span class="social__followers">New</span></div></a>
|
||
<a href="#" id="footerNewsletterRssLink"><span class="icon icon__large icon__social icon__rss"></span><div><span class="social__count">RSS</span><span class="social__followers">19K Readers</span></div></a>
|
||
<a rel="noreferrer noopener" href="http://twitter.com/infoq" target="_blank"><span class="icon icon__large icon__social icon__twitter"></span><div><span class="social__count">X</span><span class="social__followers">57.1k Followers</span></div></a>
|
||
<a rel="noreferrer noopener" href="https://www.facebook.com/InfoQ-75911537320" target="_blank"><span class="icon icon__large icon__social icon__fb"></span><div><span class="social__count">Facebook</span><span class="social__followers">21K Likes</span></div></a>
|
||
<a rel="noreferrer noopener" href="https://bsky.app/profile/infoq.com" target="_blank"><span class="icon icon__large icon__social icon__bluesky"></span><div><span class="social__count">Bluesky</span><span class="social__followers">New</span></div></a>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div data-col="1/4" class="footer__stayin-wrap">
|
||
<h4 class="heading text-left footer__heading">Stay in the know</h4>
|
||
<div class="stayIn_panel_container">
|
||
<a href="/podcasts/" class="stayIn_panel" target="_blank" rel="noreferrer noopener"><span>The InfoQ Podcast</span><picture><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QuanBnIiwiZWRpdHMiOiB7IndlYnAiOiB7ICJxdWFsaXR5Ijo4MH19fQ==" type="image/webp"><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QuanBnIiwiZWRpdHMiOiB7ImpwZWciOiB7ICJxdWFsaXR5Ijo4MH19fQ==" type="image/webp"><img src="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QuanBnIiwiZWRpdHMiOiB7ImpwZWciOiB7ICJxdWFsaXR5Ijo4MH19fQ==" loading="lazy" width="65px" height="64px" alt="The InfoQ Podcast Logo - Stay in the know"></picture></a>
|
||
<a href="/podcasts/#engineering_culture" class="stayIn_panel" target="_blank" rel="noreferrer noopener"><span>Engineering Culture Podcast</span><picture><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QtZW5naW5lZXJpbmctY3VsdHVyZS5qcGciLCJlZGl0cyI6IHsid2VicCI6IHsgInF1YWxpdHkiOjgwfX19" type="image/webp"><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QtZW5naW5lZXJpbmctY3VsdHVyZS5qcGciLCJlZGl0cyI6IHsianBlZyI6IHsgInF1YWxpdHkiOjgwfX19" type="image/webp"><img src="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QtZW5naW5lZXJpbmctY3VsdHVyZS5qcGciLCJlZGl0cyI6IHsianBlZyI6IHsgInF1YWxpdHkiOjgwfX19" loading="lazy" width="65px" height="64px" alt="Engineering Culture Podcast Logo - Stay in the knoww"></picture></a>
|
||
<a href="/software-architects-newsletter/" class="stayIn_panel" target="_blank" rel="noreferrer noopener"><span>The Software Architects' Newsletter</span><picture><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLWFyY2hpdGVjdC1uZXdzbGV0dGVyLmpwZyIsImVkaXRzIjogeyJ3ZWJwIjogeyAicXVhbGl0eSI6ODB9fX0=" type="image/webp"><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLWFyY2hpdGVjdC1uZXdzbGV0dGVyLmpwZyIsImVkaXRzIjogeyJqcGVnIjogeyAicXVhbGl0eSI6ODB9fX0=" type="image/webp"><img src="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLWFyY2hpdGVjdC1uZXdzbGV0dGVyLmpwZyIsImVkaXRzIjogeyJqcGVnIjogeyAicXVhbGl0eSI6ODB9fX0=" loading="lazy" width="65px" height="64px" alt="The Software Architects' Newsletter Logo - Stay in the know"></picture></a>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</section>
|
||
<section data-nosnippet class="container footer__bottom section white align__left">
|
||
<div class="container__inner columns">
|
||
<div data-col="2/3" class="column">
|
||
<div class="footer__contact contact columns">
|
||
|
||
|
||
<span data-col="1/6">
|
||
General Feedback
|
||
<a href="mailto:feedback@infoq.com">feedback@infoq.com</a>
|
||
</span>
|
||
<span data-col="1/6">
|
||
Advertising
|
||
<a href="mailto:sales@infoq.com">sales@infoq.com</a>
|
||
</span>
|
||
<span data-col="1/6">
|
||
Editorial
|
||
<a href="mailto:editors@infoq.com">editors@infoq.com</a>
|
||
</span>
|
||
<span data-col="1/6">
|
||
Marketing
|
||
<a href="mailto:marketing@infoq.com">marketing@infoq.com</a>
|
||
</span>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="column" data-col="1/3">
|
||
<p class="footer__more">
|
||
InfoQ.com and all content copyright © 2006-2026 C4Media Inc.<br/>
|
||
|
||
<a href="/privacy-notice" target="_blank">Privacy Notice</a>, <a href="/terms-and-conditions " target="_blank">Terms And Conditions</a>, <a href="/cookie-policy " target="_blank">Cookie Policy</a>
|
||
|
||
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</footer>
|
||
<!-- ####### SITE END ######### -->
|
||
|
||
</div>
|
||
|
||
|
||
|
||
<div class="intbt">
|
||
<a href="/int/bt/" title="bt">BT</a>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<script type="text/javascript">
|
||
$.when(humanDetectionAsync()).then(
|
||
function(status) {
|
||
$.getScript("/scripts/__hd.ifq?hdt=7Ua0mv7Px1sBu8cR&ha=" + status);
|
||
}
|
||
);
|
||
</script>
|
||
<script type="text/javascript">
|
||
|
||
var pageFullyLoaded = false;
|
||
// this event is fired by frontend once all the necessary things have been done(mobile display, moving vcr boxes around when needed...)
|
||
infoq.event.on('loaded', function(e) {
|
||
pageFullyLoaded = true;
|
||
});
|
||
|
||
infoq.event.on('pageWidthChanged', function(e) {
|
||
// re-execute tracking vcr impressions when this event happens (it only happens when elements are added/removed from page)
|
||
// doTrackVcrImpressions takes into account the data-trk-impr="true" if =false the element was already tracked.
|
||
// this is needed when switching from mobile to desktop or when layout on mobile changes and desktop version is displayed. New elements become visible.
|
||
Tracker.safeExec(Tracker.doTrackVcrImpressions);
|
||
|
||
// these 2 need to be called also because we might be on a content page. In case we are not nothing happens
|
||
VCR.doTrackingCustomRightbar();
|
||
VCR.doTrackingCustomRightbarForPresentations()
|
||
});
|
||
|
||
//check to see if error page
|
||
if(window.device !== undefined) {
|
||
var intervalImpressions = setInterval(function() {
|
||
var shouldTrack = false;
|
||
|
||
// no vcr widgets on index pages
|
||
if(window.isIndexPage) {
|
||
if(window.sponsoredPodcastDone === undefined || window.sponsoredPodcastDone) {
|
||
shouldTrack = true;
|
||
}
|
||
} else
|
||
//on homepage, bottom widget + 2 native widgets
|
||
if(InfoQConstants.pageType == "HOMEPAGE" && window.finishedVcrOptional1 && window.finishedRelatedVcr && (window.finishedVcrOptional2 === undefined || window.finishedVcrOptional2)) {
|
||
shouldTrack = true;
|
||
} else
|
||
// rightbar widgets + native widgets + content vcr widgets
|
||
if((InfoQConstants.pageType == "NEWS_PAGE" || InfoQConstants.pageType == "ARTICLE_PAGE")
|
||
&& ((window.finishedRightbarVcr || window.finishedRightbarVcr === undefined) && window.contentVcrFinished)) {
|
||
shouldTrack = true;
|
||
} else if ((InfoQConstants.pageType == "PRESENTATION_PAGE")
|
||
&& (window.contentVcrFinished || window.contentVcrFinished === undefined)
|
||
&& (window.finishedRightbarVcr || window.finishedRightbarVcr === undefined)
|
||
) {
|
||
shouldTrack = true;
|
||
} else
|
||
// native widgets + content widgets
|
||
if(window.contentVcrFinished && (window.finishedVcrOptional1 || window.finishedVcrOptional1 === undefined)
|
||
&& (window.finishedVcrOptional2 || window.finishedVcrOptional2 === undefined)) {
|
||
shouldTrack = true;
|
||
}
|
||
|
||
// we start tracking only after the page is fully loaded, frontend signals that they finished everything related to page display.
|
||
if(shouldTrack && pageFullyLoaded) {
|
||
clearInterval(intervalImpressions);
|
||
Tracker.safeExec(Tracker.doTrackVcrImpressions);
|
||
|
||
// start tracking viewable impressions also only after everything is ready
|
||
function callbackRouter(entries, observer) {
|
||
var targets = new Array();
|
||
entries.forEach(function (entry) {
|
||
var target = entry.target;
|
||
if (target.dataset.trkView === 'false') return;
|
||
if (entry.intersectionRatio > 0) {
|
||
target.dataset.trkView = false;
|
||
targets.push(target);
|
||
}
|
||
});
|
||
Tracker.doTrackViewableImpressions(targets);
|
||
}
|
||
var elementsForTrackingViewableImpressions = document.querySelectorAll('[data-trk-view="true"]')
|
||
var observer = new IntersectionObserver(callbackRouter, { threshold: 0.3 });
|
||
elementsForTrackingViewableImpressions.forEach(observer.observe.bind(observer));
|
||
}
|
||
|
||
}, 500);
|
||
}
|
||
$(document).ready(function () {
|
||
// desktop notifications widget
|
||
Tracker.encodeNotificationLinks($(".f_notificationWidget"));
|
||
// mobile notifications widget
|
||
Tracker.encodeNotificationLinks($(".h_notifications"));
|
||
// desktop notifications page
|
||
Tracker.encodeNotificationLinks($(".notification-page"));
|
||
// mobile notifications page
|
||
Tracker.encodeNotificationLinks($(".notifications_page"));
|
||
});
|
||
</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<script type="text/javascript">
|
||
if(window.location.hash){
|
||
var hash = window.location.hash.substring(1);
|
||
if(hash == 'subscribe'){
|
||
$('html,body').animate({scrollTop: $('.ftxt3 > .newsletter').offset().top}, 'slow');
|
||
}
|
||
}
|
||
</script>
|
||
<script type="text/javascript">
|
||
var newsletterSubscriptionURL ='/newsletter/subscribe.action';
|
||
DynamicLinks.updateRssLinks('XnLuCjIf6z9BHCGZ6Nd4R76O32258ENr');
|
||
|
||
ContentSummary.setSelectedTab('en');
|
||
//when user enters the main content area show default topics in the topics bar
|
||
$("#content-wrapper").mouseenter(function() {
|
||
showDefaultTopics();
|
||
});
|
||
|
||
|
||
Bookmarks.contentTitle = "Incident Analysis: Your Organization's Secret Weapon";
|
||
Bookmarks.apiUrl = '/widgets/bookmark.action';
|
||
Bookmarks.isContentBookmarked = "false";
|
||
</script>
|
||
<script type="text/javascript">
|
||
var $buoop = {vs:{i:6,f:1,o:10.1,s:1}}
|
||
$buoop.ol = window.onload;
|
||
$(document).ready(function() {
|
||
try {if ($buoop.ol) $buoop.ol();}catch (e) {}
|
||
var e = document.createElement("script");
|
||
e.setAttribute("type", "text/javascript");
|
||
e.setAttribute("src", "https://cdn.infoq.com/statics_s1_20260910111632/scripts/lib/browser-update-org/update.js");
|
||
document.body.appendChild(e);
|
||
});
|
||
</script>
|
||
|
||
|
||
|
||
|
||
<script>
|
||
!function(f,b,e,v,n,t,s)
|
||
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
||
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
||
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
||
n.queue=[];t=b.createElement(e);t.async=!0;
|
||
t.src=v;s=b.getElementsByTagName(e)[0];
|
||
s.parentNode.insertBefore(t,s)}(window,document,'script',
|
||
'https://connect.facebook.net/en_US/fbevents.js');
|
||
fbq('init', '842388869148196');
|
||
fbq('track', 'PageView');
|
||
</script>
|
||
<noscript>
|
||
<img height="1" width="1" src="https://www.facebook.com/tr?id=842388869148196&ev=PageView&noscript=1"/>
|
||
</noscript>
|
||
|
||
|
||
|
||
<script type='text/javascript'>
|
||
try {
|
||
mixpanel.track('page viewed', {
|
||
'page name' : document.title,
|
||
'url' : window.location.pathname
|
||
});
|
||
}
|
||
catch(err) {
|
||
}
|
||
</script>
|
||
</body>
|
||
</html>
|
||
<!-- s1 -->
|