CINXE.COM
How GE Applies Lean Startup Practices
<!DOCTYPE html> <!--[if IE 8]> <html class="ie8 "> <![endif]--> <!--[if IE 9]> <html class="ie9 "> <![endif]--> <!--[if !IE]><!--> <html class=""> <!--<![endif]--><!-- _____________ _ _ hbr.org _ |/////////////| | | | | | | |:\/E:R|:T/\S:| | |__| | __ _ _ ____ ____ _ _ __ __| | |+++++++++++++| | __ |/ _` | '__\ \ / / _` | '__/ _` | |\:+:\ /:+:/| | | | | (_| | | \ V / (_| | | | (_| | | \:::\ /:::/ | |_|__|_|\__,_|_| _ \_/ \__,_|_| \__,_| \ \ ::+:: / / | _ \ (_) \ /::/ \::\ / | |_) |_ _ ___ _ _ __ ___ ___ ___ \+:/ \:+/ | _ <| | | / __| | '_ \ / _ \/ __/ __| \/_____\/ | |_) | |_| \__ \ | | | | __/\__ \__ \ To improve the |____/ \__,_|___/_|_| |_|\___||___/___/ practice of | __ \ (_) management and | |__) |_____ ___ _____ __ its impact in a | _ // _ \ \ / / |/ _ \ \ /\ / / changing world. | | \ \ __/\ V /| | __/\ V V / est. 1922 |_| \_\___| \_/ |_|\___| \_/\_/ --> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="msapplication-config" content="none"/> <title>How GE Applies Lean Startup Practices</title> <link rel="canonical" href="https://hbr.org/2014/04/how-ge-applies-lean-startup-practices"/> <meta name="item-id" content="tag:blogs.harvardbusiness.org,2007-03-31:999.36198"/> <meta property="og:type" content="article"/> <meta property="article:section" content="Operations and supply chain management"/> <meta name="twitter:site" content="@harvardbiz"/> <meta name="item-name" content="How GE Applies Lean Startup Practices"/> <meta name="page-category-name" content="Operations and supply chain management"/> <meta name="description" content="They’re reinventing their appliance business with rapid prototyping."/> <meta property="article:publisher" content="https://www.facebook.com/HBR"/> <meta property="article:modified_time" content="2021-09-17T14:44:30Z"/> <meta property="og:image" content="https://hbr.org/resources/images/hbr_opengraph_940x490.png"/> <meta name="apple-itunes-app" content="app-id=1445571382, app-argument=https://hbr.org"/> <meta name="twitter:card" content="summary_large_image"/> <meta property="article:published_time" content="2014-04-23T13:00:41Z"/> <meta property="og:url" content="https://hbr.org/2014/04/how-ge-applies-lean-startup-practices"/> <meta property="article:tag" content="Operations and supply chain management"/> <meta property="article:tag" content="Strategy"/> <meta property="article:tag" content="Lean business model"/> <meta name="twitter:image" content="https://hbr.org/resources/images/hbr_opengraph_940x490.png"/> <meta name="intromercial" content="protected"/> <meta property="og:description" content="They’re reinventing their appliance business with rapid prototyping."/> <meta name="twitter:creator" content="@harvardbiz"/> <meta name="article-content-type" content="Digital Article"/> <meta property="og:site_name" content="Harvard Business Review"/> <meta name="viewport" content="initial-scale=1,width=device-width"/> <meta name="page-category-id" content="391534"/> <meta name="uid" content="17D07E07751FDB7D60908E6C81C11AD8"/> <meta name="shopper-attributes" content="state:guest"/> <meta property="og:title" content="How GE Applies Lean Startup Practices"/> <meta name="page-type" content="ITEM"/> <meta name="page-id" content="300"/> <meta name="ox-group" content="537063787"/> <meta name="robots" content="max-image-preview:large"> <!--[if lt IE 9]> <script type="text/javascript" src="/resources/js/support/hbr/elements.js"></script> <script type="text/javascript" src="/resources/js/support/foundation/foundation.js"></script> <![endif]--> <script type="text/javascript"> ;window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true}}; ;NREUM.loader_config={accountID:"858143",trustKey:"858143",agentID:"16887721",licenseKey:"e93df31780",applicationID:"8171118"}; ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"e93df31780",applicationID:"8171118",sa:1}; ;/*! For license information please see nr-loader-spa-1.246.0.min.js.LICENSE.txt */ (()=>{"use strict";var e,t,r={234:(e,t,r)=>{r.d(t,{P_:()=>g,Mt:()=>v,C5:()=>s,DL:()=>A,OP:()=>D,lF:()=>N,Yu:()=>x,Dg:()=>m,CX:()=>c,GE:()=>w,sU:()=>j});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.D)(t,o),(0,n.Qy)(e,a[e],"info")}const u=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var d=r(7056),l=r(50);const f=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{feature_flags:[],proxy:{assets:void 0,beacon:void 0},privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},session:{domain:void 0,expiresMs:d.oD,inactiveMs:d.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},metrics:{enabled:!0,autoStart:!0},page_action:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1,autoStart:!0},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},harvest:{tooManyRequestsDelay:60},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,sampling_rate:50,error_sampling_rate:50,collect_fonts:!1,inline_images:!1,inline_stylesheet:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){u(t)?e.mask_selector=t+",[data-nr-mask]":null===t?e.mask_selector=t:(0,l.Z)("An invalid session_replay.mask_selector was provided and will not be used",t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){u(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.Z)("An invalid session_replay.block_selector was provided and will not be used",t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.Z)("An invalid session_replay.mask_input_option was provided and will not be used",t)}},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0}}},h={},p="All configuration objects require an agent identifier!";function g(e){if(!e)throw new Error(p);if(!h[e])throw new Error("Configuration for ".concat(e," was never set"));return h[e]}function m(e,t){if(!e)throw new Error(p);h[e]=(0,i.D)(t,f()),(0,n.Qy)(e,h[e],"config")}function v(e,t){if(!e)throw new Error(p);var r=g(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}const b={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},y={};function A(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!y[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return y[e]}function w(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");y[e]=(0,i.D)(t,b),(0,n.Qy)(e,y[e],"loader_config")}const x=(0,n.mF)().o;var E=r(385),_=r(6818);const T={buildEnv:_.Re,customTransaction:void 0,disabled:!1,distMethod:_.gF,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,offset:Math.floor(E._A?.performance?.timeOrigin||E._A?.performance?.timing?.navigationStart||Date.now()),onerror:void 0,origin:""+E._A.location,ptid:void 0,releaseIds:{},session:void 0,xhrWrappable:"function"==typeof E._A.XMLHttpRequest?.prototype?.addEventListener,version:_.q4,denyList:void 0},S={};function D(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!S[e])throw new Error("Runtime for ".concat(e," was never set"));return S[e]}function j(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");S[e]=(0,i.D)(t,T),(0,n.Qy)(e,S[e],"runtime")}function N(e){return function(e){try{const t=s(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}(e)}},9567:(e,t,r)=>{r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.Z)("Setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,n.Z)("Setting a Configurable requires a model to set its initial properties");const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.Z)("An error occurred while setting a property of a Configurable",e)}return r}catch(e){(0,n.Z)("An error occured while setting a Configurable",e)}}},6818:(e,t,r)=>{r.d(t,{Re:()=>i,gF:()=>o,lF:()=>a,q4:()=>n});const n="1.246.0",i="PROD",o="CDN",a="2.0.0-alpha.11"},385:(e,t,r)=>{r.d(t,{FN:()=>s,IF:()=>d,Nk:()=>f,Tt:()=>c,_A:()=>o,cv:()=>h,iS:()=>a,il:()=>n,ux:()=>u,v6:()=>i,w1:()=>l});const n="undefined"!=typeof window&&!!window.document,i="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=n?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=Boolean("hidden"===o?.document?.visibilityState),s=""+o?.location,c=/iPad|iPhone|iPod/.test(o.navigator?.userAgent),u=c&&"undefined"==typeof SharedWorker,d=(()=>{const e=o.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),l=Boolean(n&&window.document.documentMode),f=!!o.navigator?.sendBeacon,h=Math.floor(o?.performance?.timeOrigin||o?.performance?.timing?.navigationStart||Date.now())},1117:(e,t,r)=>{r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:"",ee:void 0};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occured while setting SharedContext",e)}}}},8e3:(e,t,r)=>{r.d(t,{L:()=>d,R:()=>c});var n=r(8325),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function u(e){e&&(s[e]||(s[e]=new Map))}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature";if(u(e),!e||!s[e].get(t))return a(t);s[e].get(t).staged=!0;const r=[...s[e]];function a(t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u<s.length;++u)l(s[u],c);(0,i.D)(c,(function(e,t){(0,i.D)(t,(function(t,r){r[0].on(e,r[1])}))}))}delete a[t],r.backlog[t]=null,r.emit("drain-"+t,[])}}r.every((e=>{let[t,r]=e;return r.staged}))&&(r.sort(((e,t)=>e[1].priority-t[1].priority)),r.forEach((t=>{let[r]=t;s[e].delete(r),a(r)})))}function l(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},8325:(e,t,r)=>{r.d(t,{A:()=>c,ee:()=>u});var n=r(8632),i=r(2210),o=r(234);class a{constructor(e){this.contextId=e}}var s=r(3117);const c="nr@context:".concat(s.a),u=function e(t,r){var n={},s={},d={},f=!1;try{f=16===r.length&&(0,o.OP)(r).isolatedBacklog}catch(e){}var h={on:g,addEventListener:g,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=p(n),c=m(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var f=b()[s[e]];f&&f.push([h,e,r,a]);return a},get:v,listeners:m,context:p,buffer:function(e,t){const r=b();if(t=t||"feature",h.aborted)return;Object.entries(e||{}).forEach((e=>{let[n,i]=e;s[i]=t,t in r||(r[t]=[])}))},abort:l,aborted:!1,isBuffering:function(e){return!!b()[s[e]]},debugId:r,backlog:f?{}:t&&"object"==typeof t.backlog?t.backlog:{}};return h;function p(e){return e&&e instanceof a?e:e?(0,i.X)(e,c,(()=>new a(c))):new a(c)}function g(e,t){n[e]=m(e).concat(t)}function m(e){return n[e]||[]}function v(t){return d[t]=d[t]||e(h,t)}function b(){return h.backlog}}(void 0,"globalEE"),d=(0,n.fP)();function l(){u.aborted=!0,u.backlog={}}d.ee||(d.ee=u)},5546:(e,t,r)=>{r.d(t,{E:()=>n,p:()=>i});var n=r(8325).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4322:(e,t,r)=>{r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},3117:(e,t,r)=>{r.d(t,{a:()=>n});const n=(0,r(4402).Rl)()},4402:(e,t,r)=>{r.d(t,{Ht:()=>u,M:()=>c,Rl:()=>a,ky:()=>s});var n=r(385);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(31))),i.split("").map((e=>"x"===e?o(t,++r).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(31)));const a=[];for(var s=0;s<e;s++)a.push(o(r,++i).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},7056:(e,t,r)=>{r.d(t,{Bq:()=>n,Hb:()=>o,oD:()=>i});const n="NRBA",i=144e5,o=18e5},7894:(e,t,r)=>{function n(){return Math.round(performance.now())}r.d(t,{z:()=>n})},7243:(e,t,r)=>{r.d(t,{e:()=>i});var n=r(385);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n._A?.location?.protocol&&t.host===n._A?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},50:(e,t,r)=>{function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2587:(e,t,r)=>{r.d(t,{N:()=>c,T:()=>u});var n=r(8325),i=r(5546),o=r(3325);const a={stn:[o.D.sessionTrace],err:[o.D.jserrors,o.D.metrics],ins:[o.D.pageAction],spa:[o.D.spa],sr:[o.D.sessionReplay,o.D.sessionTrace]},s=new Set;function c(e,t){const r=n.ee.get(t);e&&"object"==typeof e&&(s.has(t)||Object.entries(e).forEach((e=>{let[t,n]=e;a[t]?a[t].forEach((e=>{n?(0,i.p)("feat-"+t,[],void 0,e,r):(0,i.p)("block-"+t,[],void 0,e,r),(0,i.p)("rumresp-"+t,[Boolean(n)],void 0,e,r)})):n&&(0,i.p)("feat-"+t,[],void 0,void 0,r),u[t]=Boolean(n)})),Object.keys(a).forEach((e=>{void 0===u[e]&&(a[e]?.forEach((t=>(0,i.p)("rumresp-"+e,[!1],void 0,t,r))),u[e]=!1)})),s.add(t))}const u={}},2210:(e,t,r)=>{r.d(t,{X:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},1284:(e,t,r)=>{r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{r.d(t,{P:()=>o});var n=r(8325);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}}}},3960:(e,t,r)=>{r.d(t,{K:()=>a,b:()=>o});var n=r(3239);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},8632:(e,t,r)=>{r.d(t,{EZ:()=>u,Qy:()=>c,ce:()=>o,fP:()=>a,gG:()=>d,mF:()=>s});var n=r(7894),i=r(385);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return i._A.NREUM||(i._A.NREUM={}),void 0===i._A.newrelic&&(i._A.newrelic=i._A.NREUM),i._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:i._A.setTimeout,SI:i._A.setImmediate,CT:i._A.clearTimeout,XHR:i._A.XMLHttpRequest,REQ:i._A.Request,EV:i._A.Event,PR:i._A.Promise,MO:i._A.MutationObserver,FETCH:i._A.fetch}),e}function c(e,t,r){let i=a();const o=i.initializedAgents||{},s=o[e]||{};return Object.keys(s).length||(s.initializedAt={ms:(0,n.z)(),date:new Date}),i.initializedAgents={...o,[e]:{...s,[r]:t}},i}function u(e,t){a()[e]=t}function d(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},7956:(e,t,r)=>{r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},1214:(e,t,r)=>{r.d(t,{em:()=>b,u5:()=>D,QU:()=>C,_L:()=>I,Gm:()=>H,Lg:()=>L,BV:()=>G,Kf:()=>K});var n=r(8325),i=r(3117);const o="nr@original:".concat(i.a);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}var l=r(2210),f=r(385);const h={},p=f._A.XMLHttpRequest,g="addEventListener",m="removeEventListener",v="nr@wrapped:".concat(n.A);function b(e){var t=function(e){return(e||n.ee).get("events")}(e);if(h[t.debugId]++)return t;h[t.debugId]=1;var r=c(t,!0);function i(e){r.inPlace(e,[g,m],"-",o)}function o(e,t){return e[1]}return"getPrototypeOf"in Object&&(f.il&&y(document,i),y(f._A,i),y(p.prototype,i)),t.on(g+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,l.X)(n,v,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(m+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function y(e,t){let r=e;for(;"object"==typeof r&&!Object.prototype.hasOwnProperty.call(r,g);)r=Object.getPrototypeOf(r);for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;o<n;o++)i[o-2]=arguments[o];r&&t(r,...i)}var A="fetch-",w=A+"body-",x=["arrayBuffer","blob","json","text","formData"],E=f._A.Request,_=f._A.Response,T="prototype";const S={};function D(e){const t=function(e){return(e||n.ee).get("fetch")}(e);if(!(E&&_&&f._A.fetch))return t;if(S[t.debugId]++)return t;function r(e,r,i){var o=e[r];"function"==typeof o&&(e[r]=function(){var e,r=[...arguments],a={};t.emit(i+"before-start",[r],a),a[n.A]&&a[n.A].dt&&(e=a[n.A].dt);var s=o.apply(this,r);return t.emit(i+"start",[r,e],s),s.then((function(e){return t.emit(i+"end",[null,e],s),e}),(function(e){throw t.emit(i+"end",[e],s),e}))})}return S[t.debugId]=1,x.forEach((e=>{r(E[T],e,w),r(_[T],e,w)})),r(f._A,"fetch",A),t.on(A+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(A+"done",[null,r],n)}else t.emit(A+"done",[e],n)})),t}const j={},N=["pushState","replaceState"];function C(e){const t=function(e){return(e||n.ee).get("history")}(e);return!f.il||j[t.debugId]++||(j[t.debugId]=1,c(t).inPlace(window.history,N,"-")),t}var O=r(3239);const P={},R=["appendChild","insertBefore","replaceChild"];function I(e){const t=function(e){return(e||n.ee).get("jsonp")}(e);if(!f.il||P[t.debugId])return t;P[t.debugId]=!0;var r=c(t),i=/[?&](?:callback|cb)=([^&#]+)/,o=/(.*)\.([^.]+)/,a=/^(\w+)(\.|$)(.*)$/;function s(e,t){if(!e)return t;const r=e.match(a),n=r[1];return s(r[3],t[n])}return r.inPlace(Node.prototype,R,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var n=(a=e.src,c=a.match(i),c?c[1]:null);var a,c;if(!n)return;var u=function(e){var t=e.match(o);if(t&&t.length>=3)return{key:t[2],parent:s(t[1],window)};return{key:e,parent:window}}(n);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,O.m$)(!1)),e.removeEventListener("error",f,(0,O.m$)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,O.m$)(!1)),e.removeEventListener("error",f,(0,O.m$)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,O.m$)(!1)),e.addEventListener("error",f,(0,O.m$)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const k={};function H(e){const t=function(e){return(e||n.ee).get("mutation")}(e);if(!f.il||k[t.debugId])return t;k[t.debugId]=!0;var r=c(t),i=f._A.MutationObserver;return i&&(window.MutationObserver=function(e){return this instanceof i?new i(r(e,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype),t}const z={};function L(e){const t=function(e){return(e||n.ee).get("promise")}(e);if(z[t.debugId])return t;z[t.debugId]=!0;var r=t.context,i=c(t),a=f._A.Promise;return a&&function(){function e(r){var n=t.context(),o=i(r,"executor-",n,null,!1);const s=Reflect.construct(a,[o],e);return t.context(s).getCtx=function(){return n},s}f._A.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return a.toString()},Object.setPrototypeOf(e,a),["all","race"].forEach((function(r){const n=a[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=a[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=a.prototype;const n=a.prototype.then;a.prototype.then=function(){var e=this,o=r(e);o.promise=e;for(var a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];s[0]=i(s[0],"cb-",o,null,!1),s[1]=i(s[1],"cb-",o,null,!1);const u=n.apply(this,s);return o.nextPromise=u,t.emit("propagate",[e,!0],u,!1,!1),u},a.prototype.then[o]=n,t.on("executor-start",(function(e){e[0]=i(e[0],"resolve-",this,null,!1),e[1]=i(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const M={},F="setTimeout",B="setInterval",U="clearTimeout",Z="-start",V="-",q=[F,"setImmediate",B,U,"clearImmediate"];function G(e){const t=function(e){return(e||n.ee).get("timer")}(e);if(M[t.debugId]++)return t;M[t.debugId]=1;var r=c(t);return r.inPlace(f._A,q.slice(0,2),F+V),r.inPlace(f._A,q.slice(2,3),B+V),r.inPlace(f._A,q.slice(3),U+V),t.on(B+Z,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(F+Z,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}var W=r(50);const X={},Q=["open","send"];function K(e){var t=e||n.ee;const r=function(e){return(e||n.ee).get("xhr")}(t);if(X[r.debugId]++)return r;X[r.debugId]=1,b(t);var i=c(r),o=f._A.XMLHttpRequest,a=f._A.MutationObserver,s=f._A.Promise,u=f._A.setInterval,d="readystatechange",l=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],h=[],p=f._A.XMLHttpRequest=function(e){const t=new o(e),n=r.context(t);try{r.emit("new-xhr",[t],n),t.addEventListener(d,(a=n,function(){var e=this;e.readyState>3&&!a.resolved&&(a.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,l,"fn-",w)}),(0,O.m$)(!1))}catch(e){(0,W.Z)("An error occurred while intercepting XHR",e);try{r.emit("internal-error",[e])}catch(e){}}var a;return t};function g(e,t){i.inPlace(t,["onreadystatechange"],"fn-",w)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,Q,"-xhr-",w),r.on("send-xhr-start",(function(e,t){g(e,t),function(e){h.push(e),a&&(m?m.then(A):u?u(A):(v=-v,y.data=v))}(t)})),r.on("open-xhr-start",g),a){var m=s&&s.resolve();if(!u&&!s){var v=1,y=document.createTextNode(v);new a(A).observe(y,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===d||A()}));function A(){for(var e=0;e<h.length;e++)g(0,h[e]);h.length&&(h=[])}function w(e,t){return t}return r}},7825:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.ajax},6660:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.jserrors},3081:(e,t,r)=>{r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},4649:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageAction},7633:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageViewEvent},9251:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},7144:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.sessionReplay},3614:(e,t,r)=>{r.d(t,{BST_RESOURCE:()=>i,END:()=>s,FEATURE_NAME:()=>n,FN_END:()=>u,FN_START:()=>c,PUSH_STATE:()=>d,RESOURCE:()=>o,START:()=>a});const n=r(3325).D.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState"},7836:(e,t,r)=>{r.d(t,{BODY:()=>x,CB_END:()=>E,CB_START:()=>u,END:()=>w,FEATURE_NAME:()=>i,FETCH:()=>T,FETCH_BODY:()=>v,FETCH_DONE:()=>m,FETCH_START:()=>g,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>f,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>p,JS_TIME:()=>_,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>l,SPA_NODE:()=>h,START:()=>A,originalSetTimeout:()=>y});var n=r(234);const i=r(3325).D.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=n.Yu.ST,A="-start",w="-end",x="-body",E="cb"+w,_="jsTime",T="fetch"},5938:(e,t,r)=>{r.d(t,{W:()=>i});var n=r(8325);class i{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=n.ee.get(e),this.featureName=r,this.blocked=!1}}},7530:(e,t,r)=>{r.d(t,{j:()=>b});var n=r(3325),i=r(234),o=r(5546),a=r(8325),s=r(7894),c=r(8e3),u=r(3960),d=r(385),l=r(50),f=r(3081),h=r(8632);function p(){const e=(0,h.gG)();["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start"].forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];let o=[];return Object.values(e.initializedAgents).forEach((e=>{e.exposed&&e.api[t]&&o.push(e.api[t](...n))})),o.length>1?o:o[0]}(t,...n)}}))}var g=r(2587);const m=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let v=!1;function b(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},b=arguments.length>2?arguments[2]:void 0,y=arguments.length>3?arguments[3]:void 0,{init:A,info:w,loader_config:x,runtime:E={loaderType:b},exposed:_=!0}=t;const T=(0,h.gG)();w||(A=T.init,w=T.info,x=T.loader_config),(0,i.Dg)(e,A||{}),(0,i.GE)(e,x||{}),w.jsAttributes??={},d.v6&&(w.jsAttributes.isWorker=!0),(0,i.CX)(e,w);const S=(0,i.P_)(e),D=[w.beacon,w.errorBeacon];v||(v=!0,S.proxy.assets&&(m(S.proxy.assets),D.push(S.proxy.assets)),S.proxy.beacon&&D.push(S.proxy.beacon)),E.denyList=[...S.ajax.deny_list||[],...S.ajax.block_internal?D:[]],(0,i.sU)(e,E),p();const j=function(e,t){t||(0,c.R)(e,"api");const h={};var p=a.ee.get(e),g=p.get("tracer"),m="api-",v=m+"ixn-";function b(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),w(m,n,!0,o||null===r?"session":void 0)(t,r)}function y(){}["setErrorHandler","finished","addToTrace","addRelease"].forEach((e=>{h[e]=w(m,e,!0,"api")})),h.addPageAction=w(m,"addPageAction",!0,n.D.pageAction),h.setCurrentRouteName=w(m,"routeName",!0,n.D.spa),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,i.OP)(e).customTransaction=(r||"http://custom.transaction")+t,w(m,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return b(e,t,"setCustomAttribute",r);(0,l.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string, number or boolean type, but a type of <".concat(typeof t,"> was provided."))}else(0,l.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of <".concat(typeof e,"> was provided."))},h.setUserId=function(e){if("string"==typeof e||null===e)return b("enduser.id",e,"setUserId",!0);(0,l.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of <".concat(typeof e,"> was provided."))},h.setApplicationVersion=function(e){if("string"==typeof e||null===e)return b("application.version",e,"setApplicationVersion",!1);(0,l.Z)("Failed to execute setApplicationVersion. Expected <String | null>, but got <".concat(typeof e,">."))},h.start=e=>{try{const t=e?"defined":"undefined";(0,o.p)(f.xS,["API/start/".concat(t,"/called")],void 0,n.D.metrics,p);const r=Object.values(n.D);if(void 0===e)e=r;else{if((e=Array.isArray(e)&&e.length?e:[e]).some((e=>!r.includes(e))))return(0,l.Z)("Invalid feature name supplied. Acceptable feature names are: ".concat(r));e.includes(n.D.pageViewEvent)||e.push(n.D.pageViewEvent)}e.forEach((e=>{p.emit("".concat(e,"-opt-in"))}))}catch(e){(0,l.Z)("An unexpected issue occurred",e)}},h.interaction=function(){return(new y).get()};var A=y.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(v+"tracer",[(0,s.z)(),e,r],i,n.D.spa,p),function(){if(g.emit((a?"":"no-")+"fn-start",[(0,s.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw g.emit("fn-err",[arguments,this,e],r),e}finally{g.emit("fn-end",[(0,s.z)()],r)}}}};function w(e,t,r,i){return function(){return(0,o.p)(f.xS,["API/"+t+"/called"],void 0,n.D.metrics,p),i&&(0,o.p)(e+t,[(0,s.z)(),...arguments],r?null:this,i,p),r?void 0:this}}function x(){r.e(111).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,c.L)(e,"api")})).catch((()=>(0,l.Z)("Downloading runtime APIs failed...")))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{A[e]=w(v,e,void 0,n.D.spa)})),h.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),(0,o.p)(f.xS,["API/noticeError/called"],void 0,n.D.metrics,p),(0,o.p)("err",[e,(0,s.z)(),!1,t],void 0,n.D.jserrors,p)},d.il?(0,u.b)((()=>x()),!0):x(),h}(e,y);return(0,h.Qy)(e,j,"api"),(0,h.Qy)(e,_,"exposed"),(0,h.EZ)("activatedFeatures",g.T),j}},3325:(e,t,r)=>{r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.sessionReplay]:9}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({111:"nr-spa",164:"nr-spa-compressor",433:"nr-spa-recorder"}[e]+"-1.246.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.246.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}s||(c=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r),e[r]=[n];var f=(t,n)=>{s.onerror=s.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},h=setTimeout(f.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=f.bind(null,s.onerror),s.onload=f.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={801:0,92:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.246.0.PROD"]=self["webpackChunk:NRBA-1.246.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{var e=i(50);class t{addPageAction(t,r){(0,e.Z)("Call to agent api addPageAction failed. The page action feature is not currently initialized.")}setPageViewName(t,r){(0,e.Z)("Call to agent api setPageViewName failed. The page view feature is not currently initialized.")}setCustomAttribute(t,r,n){(0,e.Z)("Call to agent api setCustomAttribute failed. The js errors feature is not currently initialized.")}noticeError(t,r){(0,e.Z)("Call to agent api noticeError failed. The js errors feature is not currently initialized.")}setUserId(t){(0,e.Z)("Call to agent api setUserId failed. The js errors feature is not currently initialized.")}setApplicationVersion(t){(0,e.Z)("Call to agent api setApplicationVersion failed. The agent is not currently initialized.")}setErrorHandler(t){(0,e.Z)("Call to agent api setErrorHandler failed. The js errors feature is not currently initialized.")}finished(t){(0,e.Z)("Call to agent api finished failed. The page action feature is not currently initialized.")}addRelease(t,r){(0,e.Z)("Call to agent api addRelease failed. The js errors feature is not currently initialized.")}start(t){(0,e.Z)("Call to agent api addRelease failed. The agent is not currently initialized.")}}var r=i(3325),n=i(234);const o=Object.values(r.D);function a(e){const t={};return o.forEach((r=>{t[r]=function(e,t){return!1!==(0,n.Mt)(t,"".concat(e,".enabled"))}(r,e)})),t}var s=i(7530);var c=i(8e3),u=i(5938),d=i(3960),l=i(385);class f extends u.W{constructor(e,t,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=i,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===(0,n.Mt)(this.agentIdentifier,"".concat(this.featureName,".autoStart"))&&(this.auto=!1),this.auto&&(0,c.R)(e,r)}importAggregator(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate)return;if(!this.auto)return void this.ee.on("".concat(this.featureName,"-opt-in"),(()=>{(0,c.R)(this.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator()}));const r=l.il&&!0===(0,n.Mt)(this.agentIdentifier,"privacy.cookies_enabled");let o;this.onAggregateImported=new Promise((e=>{o=e}));const a=async()=>{let n;try{if(r){const{setupAgentSession:e}=await i.e(111).then(i.bind(i,3228));n=e(this.agentIdentifier)}}catch(t){(0,e.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",t)}try{if(!this.shouldImportAgg(this.featureName,n))return(0,c.L)(this.agentIdentifier,this.featureName),void o(!1);const{lazyFeatureLoader:e}=await i.e(111).then(i.bind(i,8582)),{Aggregate:r}=await e(this.featureName,"aggregate");this.featAggregate=new r(this.agentIdentifier,this.aggregator,t),o(!0)}catch(t){(0,e.Z)("Downloading and initializing ".concat(this.featureName," failed..."),t),this.abortHandler?.(),(0,c.L)(this.agentIdentifier,this.featureName),o(!1)}};l.il?(0,d.b)((()=>a()),!0):a()}shouldImportAgg(e,t){return e!==r.D.sessionReplay||!!n.Yu.MO&&(!1!==(0,n.Mt)(this.agentIdentifier,"session_trace.enabled")&&(!!t?.isNew||!!t?.state.sessionReplayMode))}}var h=i(7633);class p extends f{static featureName=h.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,h.t,r),this.importAggregator()}}var g=i(1117),m=i(1284);class v extends g.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,m.D)(e,(function(e,r){t[e]=b(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,m.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=b(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=y(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=b(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i<e.length;i++)t[r=e[i]]=A(this.aggregatedData[r]),t[r].length&&(n=!0),delete this.aggregatedData[r];return n?t:null}}function b(e,t){return null==e?function(e){e?e.c++:e={c:1};return e}(t):t?(t.c||(t=y(t.t)),t.c+=1,t.t+=e,t.sos+=e*e,e>t.max&&(t.max=e),e<t.min&&(t.min=e),t):{t:e}}function y(e){return{t:e,min:e,max:e,sos:e*e,c:1}}function A(e){return"object"!=typeof e?[]:(0,m.D)(e,w)}function w(e,t){return t}var x=i(8632),E=i(4402),_=i(4351);var T=i(5546),S=i(7956),D=i(3239),j=i(7894),N=i(9251);class C extends f{static featureName=N.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,N.t,r),l.il&&((0,S.N)((()=>(0,T.p)("docHidden",[(0,j.z)()],void 0,N.t,this.ee)),!0),(0,D.bP)("pagehide",(()=>(0,T.p)("winPagehide",[(0,j.z)()],void 0,N.t,this.ee))),this.importAggregator())}}var O=i(3081);class P extends f{static featureName=O.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,O.t9,r),this.importAggregator()}}var R=i(6660);class I{constructor(e,t,r,n){this.name="UncaughtError",this.message=e,this.sourceURL=t,this.line=r,this.column=n}}class k extends f{static featureName=R.t;#e=new Set;constructor(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,R.t,n);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("fn-err",((e,t,n)=>{this.abortHandler&&!this.#e.has(n)&&(this.#e.add(n),(0,T.p)("err",[this.#t(n),(0,j.z)()],void 0,r.D.jserrors,this.ee))})),this.ee.on("internal-error",(e=>{this.abortHandler&&(0,T.p)("ierr",[this.#t(e),(0,j.z)(),!0],void 0,r.D.jserrors,this.ee)})),l._A.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,T.p)("err",[this.#r(e),(0,j.z)(),!1,{unhandledPromiseRejection:1}],void 0,r.D.jserrors,this.ee)}),(0,D.m$)(!1,this.removeOnAbort?.signal)),l._A.addEventListener("error",(e=>{this.abortHandler&&(this.#e.has(e.error)?this.#e.delete(e.error):(0,T.p)("err",[this.#n(e),(0,j.z)()],void 0,r.D.jserrors,this.ee))}),(0,D.m$)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#i,this.importAggregator()}#i(){this.removeOnAbort?.abort(),this.#e.clear(),this.abortHandler=void 0}#t(e){return e instanceof Error?e:void 0!==e?.message?new I(e.message,e.filename||e.sourceURL,e.lineno||e.line,e.colno||e.col):new I("string"==typeof e?e:(0,_.P)(e))}#r(e){let t="Unhandled Promise Rejection: ";if(e?.reason instanceof Error)try{return e.reason.message=t+e.reason.message,e.reason}catch(t){return e.reason}if(void 0===e.reason)return new I(t);const r=this.#t(e.reason);return r.message=t+r.message,r}#n(e){return e.error instanceof Error?e.error:new I(e.message,e.filename,e.lineno,e.colno)}}var H=i(2210);let z=1;const L="nr@id";function M(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===l._A?0:(0,H.X)(e,L,(function(){return z++}))}function F(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,_.P)(e).length}catch(e){return}}}var B=i(1214),U=i(7243);class Z{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,n.DL)(this.agentIdentifier);if(!t)return null;var r=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!r||!i)return null;var a=(0,E.M)(),s=(0,E.Ht)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,r,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,r,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof l._A?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,_.P)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,n.Mt)(this.agentIdentifier,"distributed_tracing")&&(r=(0,n.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var i=0;i<r.allowed_origins.length;i++){var o=(0,U.e)(r.allowed_origins[i]);if(e.hostname===o.hostname&&e.protocol===o.protocol&&e.port===o.port){t=!0;break}}return t}isDtEnabled(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var V=i(7825),q=["load","error","abort","timeout"],G=q.length,W=n.Yu.REQ,X=n.Yu.XHR;class Q extends f{static featureName=V.t;constructor(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(e,t,V.t,i),(0,n.OP)(e).xhrWrappable){this.dt=new Z(e),this.handler=(e,t,r,n)=>(0,T.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};l._A?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const n={status:t.responseStatus},i={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};K(n,t.name),this.handler("xhr",[n,i,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,r.D.ajax)}}))}catch(e){}(0,B.u5)(this.ee),(0,B.Kf)(this.ee),function(e,t,i,o){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=x,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,D.m$)(!1)),l.IF||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,D.m$)(!1))}function s(e){this.params={method:e[0]},K(this,e[1]),this.metrics={}}function c(t,r){var i=(0,n.DL)(e);i.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",i.xpid);var a=o.generateTracePayload(this.parsedOrigin);if(a){var s=!1;a.newrelicHeader&&(r.setRequestHeader("newrelic",a.newrelicHeader),s=!0),a.traceContextParentHeader&&(r.setRequestHeader("traceparent",a.traceContextParentHeader),a.traceContextStateHeader&&r.setRequestHeader("tracestate",a.traceContextStateHeader),s=!0),s&&(this.dt=a)}}function u(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=F(i);a&&(n.txSize=a)}this.startTime=(0,j.z)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<G;s++)r.addEventListener(q[s],this.listener,(0,D.m$)(!1))}function d(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function f(e,t){var r=""+M(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function h(e,t){var r=""+M(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function p(){this.endTime=(0,j.z)()}function g(e,r){r instanceof X&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function m(e,r){r instanceof X&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function v(e,t,r){t instanceof X&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,j.z)()))}function b(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,j.z)()-this.xhrCbStart,this.onload,r],r)}function y(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&l.il&&(t=""+l._A.location.href):e[0]&&e[0].url?t=e[0].url:l._A?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,U.e)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=o.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,n)&&(this.dt=n);else{var i={};for(var a in r)i[a]=r[a];i.headers=new Headers(r.headers||{}),s(i.headers,n)&&(this.dt=n),e.length>1?e[1]=i:e.push(i)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function A(e,t){this.params={},this.metrics={},this.startTime=(0,j.z)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof W?r=i.url:l._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),K(this,r);var o=(""+(i&&i instanceof W&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=F(n.body)||0}function w(e,t){var n;this.endTime=(0,j.z)(),this.params||(this.params={}),this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var o={txSize:this.txSize,rxSize:n,duration:(0,j.z)()-this.startTime};i("xhr",[this.params,o,this.startTime,this.endTime,"fetch"],this,r.D.ajax)}function x(e){var t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var o=0;o<G;o++)e.removeEventListener(q[o],this.listener,!1);t.aborted||(n.duration=(0,j.z)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,i("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,r.D.ajax))}}function E(e,t){e.params.status=t.status;var r=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?F(e.response):"text"===r||""===r||void 0===r?F(e.responseText):void 0}(t,e.lastSize);if(r&&(e.metrics.rxSize=r),e.sameOrigin){var n=t.getResponseHeader("X-NewRelic-App-Data");n&&(e.params.cat=n.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",a),t.on("open-xhr-start",s),t.on("open-xhr-end",c),t.on("send-xhr-start",u),t.on("xhr-cb-time",d),t.on("xhr-load-added",f),t.on("xhr-load-removed",h),t.on("xhr-resolved",p),t.on("addEventListener-end",g),t.on("removeEventListener-end",m),t.on("fn-end",b),t.on("fetch-before-start",y),t.on("fetch-start",A),t.on("fn-start",v),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator()}}}function K(e,t){var r=(0,U.e)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Y=i(3614);const{BST_RESOURCE:J,RESOURCE:ee,START:te,END:re,FEATURE_NAME:ne,FN_END:ie,FN_START:oe,PUSH_STATE:ae}=Y;var se=i(7144);class ce extends f{static featureName=se.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,se.t,r),this.importAggregator()}}var ue=i(7836);const{FEATURE_NAME:de,START:le,END:fe,BODY:he,CB_END:pe,JS_TIME:ge,FETCH:me,FN_START:ve,CB_START:be,FN_END:ye}=ue;var Ae=i(4649);class we extends f{static featureName=Ae.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,Ae.t,r),this.importAggregator()}}new class extends t{constructor(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,E.ky)(16);super(),l._A?(this.agentIdentifier=r,this.sharedAggregator=new v({agentIdentifier:this.agentIdentifier}),this.features={},this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(p),Object.assign(this,(0,s.j)(this.agentIdentifier,t,t.loaderType||"agent")),this.run()):(0,e.Z)("Failed to initial the agent. Could not determine the runtime environment.")}get config(){return{info:(0,n.C5)(this.agentIdentifier),init:(0,n.P_)(this.agentIdentifier),loader_config:(0,n.DL)(this.agentIdentifier),runtime:(0,n.OP)(this.agentIdentifier)}}run(){const t="features";try{const n=a(this.agentIdentifier),i=[...this.desiredFeatures];i.sort(((e,t)=>r.p[e.featureName]-r.p[t.featureName])),i.forEach((t=>{if(n[t.featureName]||t.featureName===r.D.pageViewEvent){const i=function(e){switch(e){case r.D.ajax:return[r.D.jserrors];case r.D.sessionTrace:return[r.D.ajax,r.D.pageViewEvent];case r.D.sessionReplay:return[r.D.sessionTrace];case r.D.pageViewTiming:return[r.D.pageViewEvent];default:return[]}}(t.featureName);i.every((e=>n[e]))||(0,e.Z)("".concat(t.featureName," is enabled but one or more dependent features has been disabled (").concat((0,_.P)(i),"). This may cause unintended consequences or missing data...")),this.features[t.featureName]=new t(this.agentIdentifier,this.sharedAggregator)}})),(0,x.Qy)(this.agentIdentifier,this.features,t)}catch(r){(0,e.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",r);for(const e in this.features)this.features[e].abortHandler?.();const n=(0,x.fP)();return delete n.initializedAgents[this.agentIdentifier]?.api,delete n.initializedAgents[this.agentIdentifier]?.[t],delete this.sharedAggregator,n.ee?.abort(),delete n.ee?.get(this.agentIdentifier),!1}}addToTrace(t){(0,e.Z)("Call to agent api addToTrace failed. The session trace feature is not currently initialized.")}setCurrentRouteName(t){(0,e.Z)("Call to agent api setCurrentRouteName failed. The spa feature is not currently initialized.")}interaction(){(0,e.Z)("Call to agent api interaction failed. The spa feature is not currently initialized.")}}({features:[Q,p,C,class extends f{static featureName=ne;constructor(e,t){if(super(e,t,ne,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!l.il)return;const n=this.ee;let i;(0,B.QU)(n),this.eventsEE=(0,B.em)(n),this.eventsEE.on(oe,(function(e,t){this.bstStart=(0,j.z)()})),this.eventsEE.on(ie,(function(e,t){(0,T.p)("bst",[e[0],t,this.bstStart,(0,j.z)()],void 0,r.D.sessionTrace,n)})),n.on(ae+te,(function(e){this.time=(0,j.z)(),this.startPath=location.pathname+location.hash})),n.on(ae+re,(function(e){(0,T.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,r.D.sessionTrace,n)}));try{i=new PerformanceObserver((e=>{const t=e.getEntries();(0,T.p)(J,[t],void 0,r.D.sessionTrace,n)})),i.observe({type:ee,buffered:!0})}catch(e){}this.importAggregator({resourceObserver:i})}},ce,P,we,k,class extends f{static featureName=de;constructor(e,t){if(super(e,t,de,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!l.il)return;if(!(0,n.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,i=0;const o=this.ee.get("tracer"),a=(0,B._L)(this.ee),s=(0,B.Lg)(this.ee),c=(0,B.BV)(this.ee),u=(0,B.Kf)(this.ee),d=this.ee.get("events"),f=(0,B.u5)(this.ee),h=(0,B.QU)(this.ee),p=(0,B.Gm)(this.ee);function g(e,t){h.emit("newURL",[""+window.location,t])}function m(){i++,r=window.location.hash,this[ve]=(0,j.z)()}function v(){i--,window.location.hash!==r&&g(0,!0);var e=(0,j.z)();this[ge]=~~this[ge]+e-this[ve],this[ye]=e}function b(e,t){e.on(t,(function(){this[t]=(0,j.z)()}))}this.ee.on(ve,m),s.on(be,m),a.on(be,m),this.ee.on(ye,v),s.on(pe,v),a.on(pe,v),this.ee.buffer([ve,ye,"xhr-resolved"],this.featureName),d.buffer([ve],this.featureName),c.buffer(["setTimeout"+fe,"clearTimeout"+le,ve],this.featureName),u.buffer([ve,"new-xhr","send-xhr"+le],this.featureName),f.buffer([me+le,me+"-done",me+he+le,me+he+fe],this.featureName),h.buffer(["newURL"],this.featureName),p.buffer([ve],this.featureName),s.buffer(["propagate",be,pe,"executor-err","resolve"+le],this.featureName),o.buffer([ve,"no-"+ve],this.featureName),a.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),b(f,me+le),b(f,me+"-done"),b(a,"new-jsonp"),b(a,"jsonp-end"),b(a,"cb-start"),h.on("pushState-end",g),h.on("replaceState-end",g),window.addEventListener("hashchange",g,(0,D.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",g,(0,D.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){g(0,i>1)}),(0,D.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#i,this.importAggregator()}#i(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}],loaderType:"spa"})})()})(); </script> <link rel="icon" type="image/x-icon" href="/resources/images/favicon.ico"> <link rel="icon" type="image/png" href="/resources/images/favicon-16x16.png" sizes="16x16"> <link rel="icon" type="image/png" href="/resources/images/favicon-32x32.png" sizes="32x32"> <link rel="apple-touch-icon" type="image/png" href="/resources/images/apple-touch-icon.png" sizes="152x152"> <link rel="icon" type="image/png" href="/resources/images/android-chrome-192x192.png" sizes="192x192"> <link rel="icon" type="image/png" href="/resources/images/android-chrome-512x512.png" sizes="512x512"> <link rel="preload" href="/resources/fonts/GT-America-Standard-Regular.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GT-America-Standard-Regular-Italic.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GT-America-Standard-Light.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GT-America-Standard-Medium.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GT-America-Standard-Medium-Italic.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GT-America-Standard-Light-Italic.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GTAmerica-Standard-Semibold.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GTAmerica-Standard-Semibold-Italic.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GT-America-Standard-Bold.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GT-America-Standard-Bold-Italic.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/LavaStd-Regular.otf" as="font" type="font/otf" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/LavaStd-RegularItalic.otf" as="font" type="font/otf" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/LavaStd-Medium.otf" as="font" type="font/otf" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/LavaStd-MediumItalic.otf" as="font" type="font/otf" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/LavaStd-Bold.otf" as="font" type="font/otf" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/LavaStd-BoldItalic.otf" as="font" type="font/otf" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/LavaStd-Heavy.otf" as="font" type="font/otf" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/LavaStd-HeavyItalic.otf" as="font" type="font/otf" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/HBRIcons-Regular.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="stylesheet" type="text/css" href="/resources/css/style_340ec315825952be.css"/> <script type="text/javascript"> if (document.cookie.match(/hbr_f=true/)) { window.document.documentElement.className += " fonts-loaded"; } </script> <script type="text/javascript" src="//cdn.tinypass.com/api/tinypass.min.js"></script> <script type="text/javascript"> var tp = window["tp"] || []; tp.push(["setDebug", false]); tp.push(["setAid", "mbs77qtzUz"]); tp.push(["setEndpoint", "https://buy.tinypass.com/api/v3"]); tp.push(["setUseTinypassAccounts", false]); tp.push(["setUsePianoIdUserProvider", false]); tp.push(["setCxenseSiteId", "1141964769885092441"]); /* Piano Snippets */ tp.push(["setCustomParam", "type", "standard", "content"]) tp.push(["setCustomVariable", "contentType", "standard"]) tp.push(["setContentSection", "Operations and supply chain management"]); tp.push(["setContentCreated", "2014-04-23T13:00:41Z"]); tp.push(["setContentAuthor", "Brad Power"]); tp.push(["setContentIsNative", "true"]); tp.push(["setTags", ["Operations and supply chain management","Strategy","Lean business model","Digital Article"]]); tp.push(["setCustomVariable", "isPaywallEnabled", "false"]); tp.push(["setCustomVariable", "userState", "guest"]); </script> <script type="text/javascript"> document.cookie = "__adblocker=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; var setNptTechAdblockerCookie = function(adblocker) { var d = new Date(); d.setTime(d.getTime() + 60 * 60 * 24 * 2 * 1000); document.cookie = "__adblocker=" + (adblocker ? "true" : "false") + "; expires=" + d.toUTCString() + "; path=/"; } var script = document.createElement("script"); script.setAttribute("async", true); script.setAttribute("src", "//www.npttech.com/advertising.js"); script.setAttribute("onerror", "setNptTechAdblockerCookie(true);"); document.getElementsByTagName("head")[0].appendChild(script); function getCookieValue(name) { let cookie = {}; document.cookie.split(";").forEach(function(el) { let [key,value] = el.split("="); cookie[key.trim()] = value; }) return cookie[name]; } function isAdobeSync() { let userExperienceName = getCookieValue("hbr_user_experience"); console.log("Current User Experience: " + userExperienceName); return userExperienceName != '"Async_Adobe_Launch"'; } </script> <script type="text/javascript"> window.digitalData = {"page":{"pageInfo":{"language":"en","contentType":"Digital Article","pageName":"How GE Applies Lean Startup Practices","pageCategoryID":"391534","pageCategoryName":"Operations and supply chain management","pageType":"ITEM","pageDescription":"They’re reinventing their appliance business with rapid prototyping.","ipAddress":"8.222.208.146","onsiteSearchResults":0,"date":"11-23-2024","time":"08:58 PM"},"attributes":{"articleContentType":"Digital Article","articleType":"Digital Article","articleTitle":"How GE Applies Lean Startup Practices","articleID":"tag:blogs.harvardbusiness.org,2007-03-31:999.36198","articlePrimaryTopic":"Operations and supply chain management","articlePublishDate":"2014-04-23","articlePostingDate":"April - 2014","primaryAuthor":"Brad Power","articleAuthor":[{"authorName":"Brad Power"}],"articleSubTopics":[{"subTopicName":"Operations and supply chain management"},{"subTopicName":"Strategy"},{"subTopicName":"Lean business model"}],"articleTags":"Digital Article","configSubscriberOnly":false,"configNoIntromercial":true,"configExemptFromPaywall":false,"editorTags":[]}},"users":[{"profile":{"giftingQuota":{"limit":5,"gifted":5},"accountID":"17D07E07751FDB7D60908E6C81C11AD8","dateLastVisit":"2024-11-24","quota":{"limit":2,"remaining":1},"ascendQuota":{"limit":2,"remaining":2},"userState":"Guest","secondsSinceLastVisit":0,"daysSinceLastVisit":0,"guid":"17D07E07751FDB7D60908E6C81C11AD8"}}],"version":"2.2","siteID":"hbrprod","siteType":"Desktop","pageInstanceID":"How GE Applies Lean Startup Practices:beanstalk-prod"}; if (window.digitalData && window.digitalData.page && window.digitalData.page.pageInfo) { if (!window.digitalData.page.pageInfo.deviceType) { !function (a) { var b = /iPhone/i, c = /iPod/i, d = /iPad/i, e = /(?=.*\bAndroid\b)(?=.*\bMobile\b)/i, f = /Android/i, g = /(?=.*\bAndroid\b)(?=.*\bSD4930UR\b)/i, h = /(?=.*\bAndroid\b)(?=.*\b(?:KFOT|KFTT|KFJWI|KFJWA|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|KFARWI|KFASWI|KFSAWI|KFSAWA)\b)/i, i = /Windows Phone/i, j = /(?=.*\bWindows\b)(?=.*\bARM\b)/i, k = /BlackBerry/i, l = /BB10/i, m = /Opera Mini/i, n = /(CriOS|Chrome)(?=.*\bMobile\b)/i, o = /(?=.*\bFirefox\b)(?=.*\bMobile\b)/i, p = new RegExp("(?:Nexus 7|BNTV250|Kindle Fire|Silk|GT-P1000)", "i"), q = function (a, b) { return a.test(b) }, r = function (a) { var r = a || navigator.userAgent, s = r.split("[FBAN"); if ("undefined" != typeof s[1] && (r = s[0]), s = r.split("Twitter"), "undefined" != typeof s[1] && (r = s[0]), this.apple = { phone: q(b, r), ipod: q(c, r), tablet: !q(b, r) && q(d, r), device: q(b, r) || q(c, r) || q(d, r) }, this.amazon = { phone: q(g, r), tablet: !q(g, r) && q(h, r), device: q(g, r) || q(h, r) }, this.android = { phone: q(g, r) || q(e, r), tablet: !q(g, r) && !q(e, r) && (q(h, r) || q(f, r)), device: q(g, r) || q(h, r) || q(e, r) || q(f, r) }, this.windows = { phone: q(i, r), tablet: q(j, r), device: q(i, r) || q(j, r) }, this.other = { blackberry: q(k, r), blackberry10: q(l, r), opera: q(m, r), firefox: q(o, r), chrome: q(n, r), device: q(k, r) || q(l, r) || q(m, r) || q(o, r) || q(n, r) }, this.seven_inch = q(p, r), this.any = this.apple.device || this.android.device || this.windows.device || this.other.device || this.seven_inch, this.phone = this.apple.phone || this.android.phone || this.windows.phone, this.tablet = this.apple.tablet || this.android.tablet || this.windows.tablet, "undefined" == typeof window) { return this } }, s = function () { var a = new r; return a.Class = r, a }; "undefined" != typeof module && module.exports && "undefined" == typeof window ? module.exports = r : "undefined" != typeof module && module.exports && "undefined" != typeof window ? module.exports = s() : "function" == typeof define && define.amd ? define("isMobile", [], a.isMobile = s()) : a.isMobile = s() }(this); window.digitalData.page.pageInfo.sysEnv = "Desktop"; window.digitalData.page.pageInfo.deviceType = "Desktop"; if (isMobile.phone || isMobile.tablet) { window.digitalData.page.pageInfo.sysEnv = "Mobile"; if (isMobile.phone) { window.digitalData.page.pageInfo.deviceType = "Mobile"; } if (isMobile.tablet) { window.digitalData.page.pageInfo.deviceType = "Tablet"; } } window.digitalData.siteType = window.digitalData.page.pageInfo.deviceType; } window.digitalData.page.pageInfo.pageURL = window.location.origin + window.location.pathname; if (document.referrer) { window.digitalData.page.pageInfo.referringURL = document.referrer; } } </script> <script src="//assets.adobedtm.com/c0857d0b892a/fccd631ba54c/launch-68b2fecf2e9e.min.js"></script> <script type="text/javascript" src="/resources/js/components/overlay-intromercial/intromercial_e7f83d32e87142cc.js"></script> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "url": "https://hbr.org/", "potentialAction": { "@type": "SearchAction", "target": "https://hbr.org/search?term={search_term_string}", "query-input": "required name=search_term_string" } } </script> </head> <body> <script type="text/javascript"> if (typeof generateIntromercial === 'function') { generateIntromercial(); } </script> <!-- column --> <div id="main" class="container"> <div id="" class="component" data-order="0" data-type="webscript" data-moveable="false" data-params="region=openx;location=leaderboard"> <section js-target="openx-container"> <script type="text/javascript"> document.addEventListener('DOMContentLoaded', (event) => { const articleElement = document.querySelector('.article-content-flex2019'); const pageSubtype = articleElement.getAttribute('page-subtype'); if (pageSubtype === 'big-idea') { const adContainerToRemove = document.querySelector('.ad-container-column'); adContainerToRemove.remove(); } }); </script> <div class="row"> <div class="small-12 column text-center ad-container-column"> <div class="mts mbm ad-container"> <div class="ad" id="DFP_ARTICLE_pos1"> <script type="text/javascript"> if (isAdobeSync()) googletag.cmd.push(function() { googletag.display("DFP_ARTICLE_pos1"); }); </script> </div> </div> </div> </div> </section> </div> <div id="" class="component" data-order="1" data-type="webscript" data-moveable="false" data-params="region=header"> <div class="sticky-top-header global-nav-container"> <header class="top-header hide-for-print global-nav-container" role="banner"> <!-- first row of the global nav --> <div class="top-header--bar flex-row backdrop-white top-header--row has-border-bottom"> <div id="top-header--panel-icon" class="flex-row top-header--menu-link"> <a href="#" class="link--black hamburger-icon-container" js-target="global-header--search-overlay"> <svg class="hamburger-icon top-header--menu-icon-open" alt="Navigation Menu" aria-labelledby="title"> <title>Navigation Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#hamburger"></use></svg> </a> </div> <!-- logo --> <div class="top-header--logo has-border-left"> <a href="/"> <img src="/resources/css/images/HBR_logo_black.svg" alt="Harvard Business Review Home"> </a> </div> <div class="top-header--headline-container"> <article-headline class="article-headline hide-medium-down"> </article-headline> </div> <!-- right aligned items --> <div class="flex-row top-header--bottom-left-align"> <personalization-placement class="flex-row mrl top-header--subscribe hide-small" data-placement-id="topbar_subscribe_engage"> <a href="/subscriptions?ab=topbar-subtout&tpcc=houseads.site.topbar-subtout" target="_blank" rel="noopener" class="baseline-shift-down-more button button--tight mbn">Subscribe</a> </personalization-placement> <a href="/shopping-cart" class="link--black flex-row top-header--shopping-cart mrl do-not-show" js-target="global-header-menu-toggle" data-menu="cart" data-cart-badge="0"> <img class="cart-icon" src="/resources/css/images/cart-icon.png" alt="Cart"> </a> <a href="#" class="link--black global-header-button flex-row mrm prl has-border-right sign-in " js-target="sign-in-register"> <span class="baseline-shift-down-more">Sign In</span> </a> <span class="link--black flex-row "> <div class="top-header--user-dropdown-container non-subscriber-avatar mls flex-row sign-in do-not-show" js-target="global-header-menu-toggle" data-menu="user"> <a href="#" js-target="global-header-menu-toggle" class="top-header--user-dropdown-container-img" > <svg class="unfilled-user-icon" alt="Account Menu" aria-labelledby="title"> <title>Account Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#user-nav"></use></svg> </a> </div> <div class="top-header--user-dropdown-container subscriber-avatar mls flex-row sign-in do-not-show" js-target="global-header-menu-toggle" data-menu="user"> <svg class="unfilled-user-icon" alt="Account Menu" aria-labelledby="title"> <title>Account Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#user-shield-blue"></use></svg> </div> <div class="top-header--user-name user-header-name mls flex-row sign-in do-not-show " js-target="global-header-menu-toggle" data-menu="user"> Hi,<div js-target="user-header-name"> Guest</div> </div> <div class="top-header--user-dropdown-container has-border-right caret-down-button prl flex-row sign-in do-not-show " js-target="global-header-menu-toggle" data-menu="user"> <span class="icon icon-caret-down sign-in"></span> </div> </span> <a id="top-header--open-search-overlay" href="#" class="link--black flex-row top-header--search-container mls hide-small" js-target="global-header--search-overlay"> <svg class="search-icon size-24x24" alt="Search Menu" aria-labelledby="title"> <title>Search Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#search"></use></svg> </a> </div> </div> <!-- header search overlay --> <div class="top-header--overlay do-not-show"> <div class="header-menu--overlay" js-target="global-header--search-overlay"></div> <div class="left close-button absolute hide-small-up"> <a href="#" class="link--black flex-row top-header--close-search-overlay" js-target="global-header--search-overlay"> <svg class="size-24x24 top-header--menu-icon-close svg-ie"><use xlink:href="/resources/css/images/hbr-icons.svg#x"></use></svg> </a> </div> <div class="hide-small flex-row overlay--first-row"> <a id="top-header--close-search-overlay" href="#" class="link--black" js-target="global-header--search-overlay"> <svg class="size-24x24 top-header--menu-icon-close svg-ie" aria-labelledby="title"> <title>Close menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#x"></use></svg> </a> </div> <div class="top-header--overlay-centered mtl"> <div class="top-header--overlay-search"> <form action="/search" method="get"> <div class="search-container "> <input type="hidden" name="search_type" value="search-all"> <input class="pts pbm search-box-desktop" autocomplete="off" name="term" data-type="search-input" placeholder="Search hbr.org"></input> <input class="search-box-mobile" autocomplete="off" name="term" placeholder="Search hbr.org"></input> <button> <svg aria-labelledby="title"><title>Search</title><use xlink:href="/resources/css/images/hbr-icons.svg#search"></use></svg> </button> <a href="#" class="clear-search-box do-not-show" js-target="clear-search-box">CLEAR</a> </div> <div class="backdrop-white width-100pct zindex-highest hide top-header--search-suggest" data-purpose="search-auto-suggest"> <div class="font-gt-america"> <ul class="no-bullet ptm mbs" data-container="results"> <li class="pbm pts line-height-normal font-size-15 darker-medium-gray"></li> <li class="pbm pts line-height-normal font-size-15 darker-medium-gray"></li> <li class="pbm pts line-height-normal font-size-15 darker-medium-gray"></li> <li class="pbm pts line-height-normal font-size-15 darker-medium-gray"></li> <li class="pbm pts line-height-normal font-size-15 darker-medium-gray"></li> <li class="pbl pts line-height-normal font-size-15 darker-medium-gray has-border-bottom"></li> <li class="ptl font-size-xsmall text-gray-light font-bold">SUGGESTED TOPICS</li> <li class="pbm pts line-height-normal font-size-15 darker-medium-gray no-bullet"></li> <li class="pbm pts line-height-normal font-size-15 darker-medium-gray no-bullet"></li> <li class="pbm pts line-height-normal font-size-15 darker-medium-gray no-bullet"></li> </ul> </div> </div> </form> </div> <div class="top-header--overlay-footer"> <div class="flex-row-wrap flex-row justify-between"> <div class="flex-col hide-small nav--explore"> <span class="mbm font-bold">Explore HBR</span> <ul class="no-bullet tidy-list"> <li><a href="/the-latest">Latest</a></li> <li><a href="/magazine">The Magazine</a></li> <li><a href="/podcasts">Podcasts</a></li> <li><a href="/store">Store</a></li> <li><a href="/webinars">Webinars</a></li> <li><a href="/email-newsletters">Newsletters</a></li> </ul> </div> <div class="flex-col hide-small nav--popular"> <span class="mbm font-bold">Popular Topics</span> <ul class="no-bullet tidy-list"> <li><a href="/topic/subject/managing-yourself">Managing Yourself</a></li> <li><a href="/topic/subject/leadership">Leadership</a></li> <li><a href="/topic/subject/strategy">Strategy</a></li> <li><a href="/topic/subject/managing-people">Managing Teams</a></li> <li><a href="/topic/subject/gender">Gender</a></li> <li><a href="/topic/subject/innovation">Innovation</a></li> <li><a href="/topic/subject/work-life-balance">Work-life Balance</a></li> <li><a href="/topics">All Topics</a></li> </ul> </div> <div class="flex-col hide-small nav--subscribers"> <span class="mbm font-bold">For Subscribers</span> <ul class="no-bullet tidy-list"> <li><a href="/big-ideas">The Big Idea</a></li> <li><a href="/data-visuals">Data & Visuals</a></li> <li><a href="/case-selections" track-target="global-nav-link--case-selection">Case Selections</a></li> <li><a href="/learning" class="do-not-show hbr-learning" js-target="hbr-learning-mega" track-target="global-nav-link--hmm">HBR Learning</a></li> <li> <personalization-placement data-placement-id="mag_cover_engage"> <a href="/subscriptions?ab=leftnav-subtout&tpcc=houseads.site.leftnav-subtout" target="_blank" rel="noopener" class="subscribe-link">Subscribe</a> </personalization-placement> </li> </ul> </div> <div class="flex-col hide-small nav--account"> <span class="mbm font-bold">My Account</span> <ul class="no-bullet tidy-list"> <li><a href="/my-library" js-target="validate-user-signed">My Library</a></li> <li><a href="/my-library/topics" js-target="validate-user-signed">Topic Feeds</a></li> <li><a href="/my-library/orders" js-target="validate-user-signed">Orders</a></li> <li><a href="/my-library/settings" js-target="validate-user-signed">Account Settings</a></li> <li><a href="/my-library/preferences" js-target="validate-user-signed">Email Preferences</a></li> <li><a href="/logout" js-target="logout" class="do-not-show">Log Out</a></li> <li><a href="#" js-target="sign-in-register" class="">Sign In</a></li> </ul> </div> <div class="small-flex-col hide-small nav--social"> <ul class="no-bullet tidy-list"> <li class="icon-x"><a href="http://twitter.com/HarvardBiz" class="link--black" target="_blank" rel="noopener"><i class="icon icon-x" title="Twitter"> <svg width="14" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <g> <rect width="12" height="12" fill="none"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M7.82741 2L12.8799 9.3532L19.2057 2H20.9321L13.6468 10.4686L21.57 22H15.7425L10.4068 14.2348L3.72649 22H2L9.6403 13.1193L2 2H7.82741ZM16.5548 20.7594H19.2066L7.00037 3.29968H4.34857L16.5548 20.7594Z" fill="#282828" stroke="white" stroke-width="0.3"/> </g> </svg> </i></a></li> <li><a href="http://www.facebook.com/HBR" class="link--black" target="_blank" rel="noopener"><i class="icon icon-facebook" title="Facebook"></i></a></li> <li><a href="https://www.linkedin.com/company/harvard-business-review?trk=biz-companies-cym" class="link--black" target="_blank" rel="noopener"><i class="icon icon-linkedin" title="Linkedin"></i></a></li> <li><a href="https://www.instagram.com/harvard_business_review/?hl=en" class="link--black" target="_blank" rel="noopener"><i class="icon icon-instagram" title="Instagram"></i></a></li> </ul> </div> </div> <div class="top-header--mobile-mega-menu"> <personalization-placement data-placement-id="mag_cover_engage"> <a href="/subscriptions?ab=leftnav-subtout&tpcc=houseads.site.leftnav-subtout" target="_blank" rel="noopener" class="subscribe-link button button--tight mbn">Subscribe</a> </personalization-placement> <a href="/the-latest" class="is-block">Latest</a> <a href="/podcasts" class="is-block">Podcasts</a> <a href="/magazine" class="is-block">The Magazine</a> <a href="/store" class="is-block">Store</a> <a href="/webinars" class="is-block">Webinars</a> <a href="/email-newsletters" class="is-block">Newsletters</a> <a href="/topics" class="is-block">All Topics</a> <a href="/big-ideas" class="is-block">The Big Idea</a> <a href="/data-visuals" class="is-block">Data & Visuals</a> <a href="/case-selections" class="is-block" track-target="global-nav-link--case-selection">Case Selections</a> <a href="/learning" class="do-not-show hbr-learning" js-target="hbr-learning-mega" track-target="global-nav-link--hmm">HBR Learning</a> <a href="/my-library" class="is-block" js-target="validate-user-signed">My Library</a> <a href="/my-library/settings" class="is-block" js-target="validate-user-signed">Account Settings</a> <a href="/logout" js-target="logout" class="do-not-show is-block last-link">Log Out</a> <a href="#" js-target="sign-in-register" class=" is-block last-link">Sign In</a> </div> </div> </div> </div> <div class="header-menu header-menu--cart-dropdown absolute" js-target="global-header-menu" data-menu="cart"> <div class="header-menu--overlay" js-target="global-header-menu-toggle" data-menu="cart"></div> <svg class="border-caret-white absolute bottom-100pct hide-small" width="24px" height="16px" js-target="global-header-menu-caret"><path stroke-width="2px" d="M 0 16 l 12 -14 l 12 14" /></svg> <div class="right close-button" js-target="global-header-menu-toggle" data-menu="cart"> <a href="#" class="link--black"> <svg class="size-24x24 top-header--menu-icon-close svg-ie"><use xlink:href="/resources/css/images/hbr-icons.svg#x"></use></svg> </a> </div> <h3 class="pbl subheader has-border-bottom flyout-title">Your Cart</h3> <div class="cart-container" js-target="global-header-cart-contents"> <div class="message mbs mtm">Your Shopping Cart is empty.</div> <a href="/store" class="button button--tight expand mbn mtm">Visit Our Store</a> </div> </div> <div class="header-menu header-menu--user-dropdown absolute" js-target="global-header-menu" data-menu="user"> <div class="header-menu--overlay" js-target="global-header-menu-toggle" data-menu="user"></div> <svg class="border-caret-white absolute bottom-100pct hide-small" width="24px" height="16px" js-target="global-header-menu-caret"><path stroke-width="2px" d="M 0 16 l 12 -14 l 12 14" /></svg> <div class="right close-button" js-target="global-header-menu-toggle" data-menu="user"> <a href="#" class="link--black"> <svg class="size-24x24 top-header--menu-icon-close svg-ie"><use xlink:href="/resources/css/images/hbr-icons.svg#x"></use></svg> </a> </div> <div class="mbl is-block has-border-bottom user-data-container"> <div class="font-bold flyout-title" js-target="user-menu-name">Guest User</div> <div class="subscription-access do-not-show" js-target="user-menu-subscription-access"> <span js-target="user-menu-subscription-access-level"></span> Subscriber </div> </div> <div class="header--user-flyout-links"> <a href="/my-library/library" class="is-block" >My Library</a> <a href="/my-library/topics" class="is-block" js-target="global-topic-feeds-anchor">Topic Feeds</a> <a href="/my-library/orders" class="is-block" >Orders</a> <a href="/my-library/settings" class="is-block" >Account Settings</a> <a href="/my-library/preferences" class="is-block" >Email Preferences</a> <a href="/logout" js-target="logout" class="is-block">Log Out</a> </div> </div> <div class="right trigger do-not-show"> <reading-list class="reading-list hide-small"> <div style="display: flex;" class="reading-list-top" js-target="open-reading-list-overlay"> <div style="text-align: center; width: 30px; height: 100%;"><i style="padding: 6px 0px 6px;" class="icon icon-caret-left font-size-default"></i></div> <div style="flex-grow: 1; padding: 4px 0px 4px 6px; color: #888888;" class="font-bold font-size-large baseline-shift-up">Reading List</div> </div> </reading-list> <reading-list-mobile class="reading-list-mobile hide-medium hide-large-up"> <div class="mobile-top" js-target="open-reading-list-overlay"> <div class="right" style="padding-right: 10px;"> <span style="color: #888888;" class="font-bold baseline-shift-up">Reading Lists</span> <span><i class="icon icon-caret-down" style="font-size: 18px;"></i></span> </div> </div> </reading-list-mobile> </div> </header> </div> <!-- End .header --> </div> <div id="" class="component" data-order="2" data-type="webscript" data-moveable="false" data-params="region=persistent-banner"> <persistent-banner> <section class="persistent-banner hide-for-print deactivated do-not-show" aria-label="Article count" aria-live="polite" role="dialog" aria-hidden="true"> </section> </persistent-banner> </div> <div id="" class="component" data-order="4" data-type="webscript" data-moveable="false" data-params="region=article;ad-placements=title-300"> <article-content-flex2019 class="article-content-flex2019" page-subtype="standard" isGifted="false"> <div js-target="article-content-flex2019" class=" content-area--left-aligned"> <div class="pre-container"> <div class="headline-wrapper"> <div class="top-components article-width-wrapper"> <div class="site-logo--for-print standard"> <img src="/resources/css/images/HBR_logo_black.svg"> </div> <div class="slug-container"> <a class="slug-content" href="/topic/subject/operations-and-supply-chain-management"> Operations and supply chain management </a> </div> <div class="headline-container"> <h1 class="article-hed"> How GE Applies Lean Startup Practices </h1> </div> <div class="article-dek-group"> <div class="article-dek">They’re reinventing their appliance business with rapid prototyping. <div class="article-byline "> <span class="by-prefix">by </span> <ul class="article-byline-list"> <li class="article-author"><a href="/search?term=brad%20power">Brad Power</a></li> </ul> </div> </div> </div> <div class="article-byline detached"> <span class="by-prefix">by </span> <ul class="article-byline-list"> <li class="article-author"><a href="/search?term=brad%20power">Brad Power</a></li> </ul> </div> <div class="pub-date"> April 23, 2014 </div> </div> </div> </div> <div class="standard--container"> <div class="article-width-wrapper flexed"> <hero-image > <div class="hero-image-content "> </div> </hero-image> <page-utils class="article-utils--horizontal-topbar hide-small hide-for-print" data-js-target="page-utils" data-id="tag:blogs.harvardbusiness.org,2007-03-31:999.36198" data-title="How GE Applies Lean Startup Practices" data-url="/2014/04/how-ge-applies-lean-startup-practices" data-topic="Operations and supply chain management" data-authors="Brad Power" data-content-type="Digital Article" data-content-image="" data-summary="<p>They’re reinventing their appliance business with rapid prototyping.</p> "> <ul> <li class="twitter-icon"> <a href="http://twitter.com/HarvardBiz" target="_blank" rel="noopener noreferrer" js-target="twitter-share"> <i class="updated-twitter-x-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-twitter-x-icon"></use></svg> </i> <div class="utility--icon-label">Post</div> </a> </li> <li class="facebook-icon"> <a href="http://www.facebook.com/HBR" target="_blank" rel="noopener noreferrer" js-target="facebook-share"> <i class="updated-facebook-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-facebook-icon"></use></svg> </i> <div class="utility--icon-label">Post</div> </a> </li> <li class="linkedin-icon"> <a href="https://www.linkedin.com/company/harvard-business-review?trk=biz-companies-cym" target="_blank" rel="noopener noreferrer" js-target="linkedin-share"> <i class="updated-linkedin-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-linkedin-icon"></use></svg> </i> <div class="utility--icon-label">Share</div> </a> </li> <li class="annotate-icon hide do-not-show" js-target="annotate-icon"> <a js-target="handle-mindstone-click"> <i class="mindstone-icon-black" js-target="mindstone-icon-black"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#mindstone-icon-black"></use></svg> </i> <div class="utility--icon-label">Annotate</div> </a> <li> <a href="#" target="_blank" rel="noopener noreferrer" js-target="save-flyout"> <i class="updated-save-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-save-icon"></use></svg> </i> <div class="utility--icon-label">Save</div> </a> </li> <li class="pdf-download hide-for-non-subscriber"> <a rel="noopener noreferrer" href="#" js-target="pdf-download-link" data-reprint-product-id="H00RXI-PDF-ENG"> <i class="updated-download-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-download-icon"></use></svg> </i> <div class="utility--icon-label">Get PDF</div> </a> </li> <li class="buy-copies"> <a target="_blank" rel="noopener noreferrer" href="/product/how-ge-applies-lean-startup-practices/H00RXI-PDF-ENG" js-target="buy-reprint-link" data-reprint-product-id="H00RXI-PDF-ENG"> <i class="updated-buy-copies-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-buy-copies-icon"></use></svg> </i> <div class="utility--icon-label">Buy Copies</div> </a> </li> <li class="print-page"> <a href="javascript:window.print();" js-target="print-article"> <i class="updated-print-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-print-icon"></use></svg> </i> <div class="utility--icon-label">Print</div> </a> </li> </ul> </page-utils> <div class="article-body standard-content"> <div class="left-rail--container "> <page-utils class="article-utils--vertical hide-for-print" data-js-target="page-utils" data-id="tag:blogs.harvardbusiness.org,2007-03-31:999.36198" data-title="How GE Applies Lean Startup Practices" data-url="/2014/04/how-ge-applies-lean-startup-practices" data-topic="Operations and supply chain management" data-authors="Brad Power" data-content-type="Digital Article" data-content-image="" data-summary="<p>They’re reinventing their appliance business with rapid prototyping.</p> "> <ul> <li class="twitter-icon"> <a href="http://twitter.com/HarvardBiz" target="_blank" rel="noopener noreferrer" js-target="twitter-share"> <i class="updated-twitter-x-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-twitter-x-icon"></use></svg> </i> <div class="utility--icon-label">Post</div> </a> </li> <li class="facebook-icon"> <a href="http://www.facebook.com/HBR" target="_blank" rel="noopener noreferrer" js-target="facebook-share"> <i class="updated-facebook-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-facebook-icon"></use></svg> </i> <div class="utility--icon-label">Post</div> </a> </li> <li class="linkedin-icon"> <a href="https://www.linkedin.com/company/harvard-business-review?trk=biz-companies-cym" target="_blank" rel="noopener noreferrer" js-target="linkedin-share"> <i class="updated-linkedin-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-linkedin-icon"></use></svg> </i> <div class="utility--icon-label">Share</div> </a> </li> <li class="annotate-icon hide do-not-show" js-target="annotate-icon"> <a js-target="handle-mindstone-click"> <i class="mindstone-icon-black" js-target="mindstone-icon-black"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#mindstone-icon-black"></use></svg> </i> <div class="utility--icon-label">Annotate</div> </a> <li> <a href="#" target="_blank" rel="noopener noreferrer" js-target="save-flyout"> <i class="updated-save-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-save-icon"></use></svg> </i> <div class="utility--icon-label">Save</div> </a> </li> <li class="pdf-download hide-for-non-subscriber"> <a rel="noopener noreferrer" href="#" js-target="pdf-download-link" data-reprint-product-id="H00RXI-PDF-ENG"> <i class="updated-download-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-download-icon"></use></svg> </i> <div class="utility--icon-label">Get PDF</div> </a> </li> <li class="buy-copies"> <a target="_blank" rel="noopener noreferrer" href="/product/how-ge-applies-lean-startup-practices/H00RXI-PDF-ENG" js-target="buy-reprint-link" data-reprint-product-id="H00RXI-PDF-ENG"> <i class="updated-buy-copies-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-buy-copies-icon"></use></svg> </i> <div class="utility--icon-label">Buy Copies</div> </a> </li> <li class="print-page"> <a href="javascript:window.print();" js-target="print-article"> <i class="updated-print-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-print-icon"></use></svg> </i> <div class="utility--icon-label">Print</div> </a> </li> </ul> </page-utils> </div> <content js-target="article-content" data-key="0FW2OdczGazxEin+0ZpSS517nNvMfmc+p3CffLmSEvCniGlBzUWvDUmYUniL2LEm" data-index="BM5l29iJY6Ee+8B2yfNlrdgbvN4VLOJhHh/T44P8lW63kSqFbbABFP5qz3keUVTgEw0SVu+5leyazx+JQboCKg==" data-waiver="false" data-page-year="2014" data-page-month="04" data-page-seo-title="how-ge-applies-lean-startup-practices" data-page-adUnit-locations="" data-page-slug="article" data-piano-verified="false" > <p>We are all lean now — or soon will be. As the world becomes more digitized, generating more information surrounding products and services and speeding up processes, large and small companies in every industry, even manufacturing, are starting to compete more like the software industry, with short product lifecycles and rapid decision-making.</p> </content> <!-- citation --> </div> </div> <div class="right-rail--container"> <div class="right-rail--inner"> <div class="hide-for-article-small hide-for-print right-rail-ads"> <div id="DFP_TITLE_pos2"> <script type="text/javascript"> if (isAdobeSync()) googletag.cmd.push(function() { googletag.display("DFP_TITLE_pos2"); }); </script> </div> </div> <personalization-placement class="personalization-placement" data-placement-id="right1"></personalization-placement> <div class="right-rail-piano-container advertising"></div> <div class="ecommerce-module hide-for-article-small hide-for-print"> <personalization-placement class="personalization-placement" data-placement-id="right_rail3"></personalization-placement> </div> <div class="related-topics--common related-topics--textnotmobile hide-for-print"> <span class="related-topics--links">Read more on <a href="/topic/subject/operations-and-supply-chain-management?ab=articlepage-topic"><strong>Operations and supply chain management</strong></a> or related topics <a href="/topic/subject/strategy?ab=articlepage-topic"><strong>Strategy</strong></a> and <a href="/topic/subject/lean-business-model?ab=articlepage-topic"><strong>Lean business model</strong></a> </span> </div> </div> </div> </div> <div class="post-container"> <div class="article-width-wrapper"> <ul class="author-bio author-bio--mobile-only"> <li> <div> <author-avatar data-url="/resources/images/article_assets/2013/12/110-Brad_Power.jpg" data-author-name="Brad Power" data-js-target="author-avatar" style="background-image: url(/resources/images/article_assets/2013/12/110-Brad_Power.jpg);"> </author-avatar> </div> <div> <span> <a href="/search?term=brad%20power&search_type=search-all">Brad Power</a> is a consultant who helps organizations that must make faster changes to their products, services, and systems in order to compete with start-ups and leading software companies. </span> </div> </li> </ul> <page-utils class="article-utils--horizontal hide-for-print" data-js-target="page-utils" data-id="tag:blogs.harvardbusiness.org,2007-03-31:999.36198" data-title="How GE Applies Lean Startup Practices" data-url="/2014/04/how-ge-applies-lean-startup-practices" data-topic="Operations and supply chain management" data-authors="Brad Power" data-content-type="Digital Article" data-content-image="" data-summary="<p>They’re reinventing their appliance business with rapid prototyping.</p> "> <ul> <li class="twitter-icon"> <a href="http://twitter.com/HarvardBiz" target="_blank" rel="noopener noreferrer" js-target="twitter-share"> <i class="updated-twitter-x-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-twitter-x-icon"></use></svg> </i> <div class="utility--icon-label">Post</div> </a> </li> <li class="facebook-icon"> <a href="http://www.facebook.com/HBR" target="_blank" rel="noopener noreferrer" js-target="facebook-share"> <i class="updated-facebook-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-facebook-icon"></use></svg> </i> <div class="utility--icon-label">Post</div> </a> </li> <li class="linkedin-icon"> <a href="https://www.linkedin.com/company/harvard-business-review?trk=biz-companies-cym" target="_blank" rel="noopener noreferrer" js-target="linkedin-share"> <i class="updated-linkedin-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-linkedin-icon"></use></svg> </i> <div class="utility--icon-label">Share</div> </a> </li> <li class="annotate-icon hide do-not-show" js-target="annotate-icon"> <a js-target="handle-mindstone-click"> <i class="mindstone-icon-black" js-target="mindstone-icon-black"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#mindstone-icon-black"></use></svg> </i> <div class="utility--icon-label">Annotate</div> </a> <li> <a href="#" target="_blank" rel="noopener noreferrer" js-target="save-flyout"> <i class="updated-save-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-save-icon"></use></svg> </i> <div class="utility--icon-label">Save</div> </a> </li> <li class="pdf-download hide-for-non-subscriber"> <a rel="noopener noreferrer" href="#" js-target="pdf-download-link" data-reprint-product-id="H00RXI-PDF-ENG"> <i class="updated-download-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-download-icon"></use></svg> </i> <div class="utility--icon-label">Get PDF</div> </a> </li> <li class="buy-copies"> <a target="_blank" rel="noopener noreferrer" href="/product/how-ge-applies-lean-startup-practices/H00RXI-PDF-ENG" js-target="buy-reprint-link" data-reprint-product-id="H00RXI-PDF-ENG"> <i class="updated-buy-copies-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-buy-copies-icon"></use></svg> </i> <div class="utility--icon-label">Buy Copies</div> </a> </li> <li class="print-page"> <a href="javascript:window.print();" js-target="print-article"> <i class="updated-print-icon"> <svg class="" alt="" aria-labelledby="title"> <title></title> <use xlink:href="/resources/css/images/hbr-icons.svg#updated-print-icon"></use></svg> </i> <div class="utility--icon-label">Print</div> </a> </li> </ul> </page-utils> </div> <div class="article-width-wrapper"> <div class="related-topics--common related-topics--textmobile hide-for-print"> <span class="related-topics--links">Read more on <a href="/topic/subject/operations-and-supply-chain-management?ab=articlepage-topic"><strong>Operations and supply chain management</strong></a> or related topics <a href="/topic/subject/strategy?ab=articlepage-topic"><strong>Strategy</strong></a> and <a href="/topic/subject/lean-business-model?ab=articlepage-topic"><strong>Lean business model</strong></a> </span> </div> <div class="next-in-placement hide-for-print"> <personalization-placement class="personalization-placement" data-placement-id="bottom1"></personalization-placement> </div> </div> </div> <div class="content-rec-wrapper"> <personalization-placement class="personalization-placement" data-placement-id="bottom-multiple1"></personalization-placement> <personalization-placement class="personalization-placement" data-placement-id="bottom-multiple2"></personalization-placement> </div> </div> </article-content-flex2019> <div class="annotate-container hide" js-target="annotate-container" data-token="" data-embed-url="https://embed.mindstone.com" data-client-id="client_ANKCRH0ufteHCa7D8L"></div> </div> <div id="" class="component" data-order="5" data-type="webscript" data-moveable="false" data-params="region=piano-paywall"> <script type="text/javascript"> var tp = window["tp"] || []; tp.push(["setCustomVariable", "contentTierPermission", "PERM_ARTICLE"]) tp.push(["setCustomVariable", "ascend", "false"]) tp.push(["setCustomVariable", "ascendQuota", "0"]) tp.push(["setCustomVariable", "contentTierOnlyContent", "false"]) tp.push(["setCustomVariable", "contentPaywallWaiver", "false"]) tp.push(["setCustomVariable", "isReadingList", "false"]) tp.push(["setCustomVariable", "customerQuota", "0"]) tp.push(["setCustomVariable", "customerQuotaRemaining", "1"]) tp.push(["setCustomVariable", "PERM_VISUAL_LIBRARY", "false"]) tp.push(["setCustomVariable", "PERM_INSIDER_NEWSLETTER", "false"]) tp.push(["setCustomVariable", "PERM_TOP_50_ARTICLES", "false"]) tp.push(["setCustomVariable", "PERM_EBOOK", "false"]) tp.push(["setCustomVariable", "PERM_CASES", "false"]) tp.push(["setCustomVariable", "PERM_READING_LIST", "false"]) tp.push(["setCustomVariable", "PERM_VIDEO", "false"]) tp.push(["setCustomVariable", "PERM_ARTICLE", "false"]) </script> <div id="paywall"></div> <div id="paywall-creative-container" class="relative"></div> </div> <div id="" class="component" data-order="97" data-type="webscript" data-moveable="false" data-params="region=openx;location=partner-center"> <section class="partner-center row clearfix" js-target="openx-container"> <div class="column cushion partner-center__container"> <div class="row"> <div class="small-12 column"> <h4 class="section-label">Partner Center</h4> </div> </div> <div class="partner-center__ads-container"> <div class="ad-container ad-230 partner-center__ad"> <div class="ad" id="DFP_PC_pos11"> <script type="text/javascript"> if (isAdobeSync()) googletag.cmd.push(function() { googletag.display("DFP_PC_pos11"); }); </script> </div> </div> <div class="ad-container ad-230 partner-center__ad"> <div class="ad" id="DFP_PC_pos12"> <script type="text/javascript"> if (isAdobeSync()) googletag.cmd.push(function() { googletag.display("DFP_PC_pos12"); }); </script> </div> </div> <div class="ad-container ad-230 partner-center__ad"> <div class="ad" id="DFP_PC_pos13"> <script type="text/javascript"> if (isAdobeSync()) googletag.cmd.push(function() { googletag.display("DFP_PC_pos13"); }); </script> </div> </div> <div class="ad-container ad-230 partner-center__ad"> <div class="ad" id="DFP_PC_pos14"> <script type="text/javascript"> if (isAdobeSync()) googletag.cmd.push(function() { googletag.display("DFP_PC_pos14"); }); </script> </div> </div> </div> </div> </section> </div> <div id="" class="component" data-order="98" data-type="webscript" data-moveable="false" data-params="region=global-nav"> <!-- Global Navigation --> <global-nav class="global-nav flex-col hide-for-print hide-medium-down" data-state="" data-page="article" role="navigation"> <div class="phl top-header--horizontal-list "> <a href="/the-latest" class="link--black " track-target="global-nav-link--the-latest" > Latest </a> <a href="/magazine" class="link--black " track-target="global-nav-link--magazine" > Magazine </a> <a href="/topics" class="link--black " track-target="global-nav-link--topics" > Topics </a> <a href="/podcasts" class="link--black " track-target="global-nav-link--podcasts" > Podcasts </a> <a href="/store" class="link--black " track-target="global-nav-link--store" > Store </a> <a href="/big-ideas" class="link--black " track-target="global-nav-link--big-idea" > The Big Idea </a> <a href="/data-visuals" class="link--black " track-target="global-nav-link--visual-library" > Data & Visuals </a> <a href="/case-selections" class="link--black " track-target="global-nav-link--case-selection" > Case Selections </a> <a href="/learning" class="link--black do-not-show hbr-learning" js-target="hbr-learning" track-target="global-nav-link--hmm" > HBR Learning </a> <a href="/ai-beta" class="link--black do-not-show ai-beta" track-target="global-nav-link--ai-beta" > <svg class="ai-beta-svg size-16x16 svg-fill-current"><use xlink:href="/resources/css/images/header/sparkles-sharp-solid.svg#Layer_1"></use></svg> <span>Ask AI</span> </a> </div> </global-nav> </div> <div id="" class="component" data-order="99" data-type="static-content" data-moveable="false" data-params="document=footer"> <!-- Begin Footer --> <footer class="footer hide-for-print flex-row justify-center"> <div class="has-border-top footer-container"> <div class="backdrop-white hide-for-print mbs"> <div class="footer-container--top mt-large2 mb-large2"> <span class="footer-logo"><a href="/"><img src="/resources/css/images/hbr_logo.svg" alt="Harvard Business Review Home" class="logo"></a> </span> <div class="panel-container"> <div class="panel-inner-container"> <span class="panel nowrap flex-col text-center justify-center"> <personalization-placement class="personalization-placement is-inline-block no" data-placement-id="subscribe_now_footer_engage"> <a href="/subscriptions?ab=footer-subtout&tpcc=houseads.site.footer-subtout" class="link--black justify-center align-items-center flex-row nowrap font-size-large font-heavy"><b class="top-header--subscribe">Subscribe</b></a> </personalization-placement> </span> <span class="placeholder"> </span> </div> </div> </div> <footer-menu> <div class="footer-content--container flex-row-wrap justify-between flex-direction--row"> <div js-target="footer-item" class="footer-content--list flex-col"> <div class="flex-row justify-between"> <h6>Explore HBR</h6> <span class="footer-item--arrow icon icon-caret-right font-size-medium mbm mtm"></span> </div> <ul class="no-bullet tidy-list--small hide-for-small--list mbn"> <li><a href="/the-latest">The Latest</a></li> <li><a href="/topics">All Topics</a></li> <li><a href="/magazine">Magazine Archive</a></li> <li><a href="/big-ideas">The Big Idea</a></li> <li><a href="/case-selections">Case Selections</a></li> <!-- The video footer item has been commented out due to several malfunctions and should be uncommented once these issues have been addressed. --> <!-- <li><a href="/video">Video</a></li> --> <li><a href="/podcasts">Podcasts</a></li> <li><a href="/webinars">Webinars</a></li> <li><a href="/data-visuals">Data & Visuals</a></li> <li><a href="/my-library">My Library</a></li> <li><a href="/email-newsletters">Newsletters</a></li> <li><a href="/hbrpress">HBR Press</a></li> </ul> </div> <div js-target="footer-item" class="footer-content--list flex-col"> <div class="flex-row justify-between"> <h6>HBR Store</h6> <span class="footer-item--arrow icon icon-caret-right font-size-medium mbm mtm"></span> </div> <ul class="no-bullet tidy-list--small hide-for-small--list mbn"> <li><a href="/store/articles">Article Reprints</a></li> <li><a href="/store/books">Books</a></li> <li><a href="/store/case-studies">Cases</a></li> <li><a href="/store/collections">Collections</a></li> <li><a href="/store/magazine-issues">Magazine Issues</a></li> <li><a href="/store/landing/guides">HBR Guide Series</a></li> <li><a href="/store/landing/20-minute-managers">HBR 20-Minute Managers</a></li> <li><a href="/store/landing/emotional-intelligence-series">HBR Emotional Intelligence Series</a></li> <li><a href="/store/landing/mustreads">HBR Must Reads</a></li> <li><a href="/store/tools">Tools</a></li> </ul> </div> <div js-target="footer-item" class="footer-content--list flex-col"> <div class="flex-row justify-between"> <h6>About HBR</h6> <span class="footer-item--arrow icon icon-caret-right font-size-medium mbm mtm"></span> </div> <ul class="no-bullet tidy-list--small hide-for-small--list mbn"> <li><a href="/contact-us">Contact Us</a></li> <li><a href="/hbr-advertising-sales">Advertise with Us</a></li> <li><a href="/booksellers-retailers">Information for Booksellers/Retailers</a></li> <li><a href="/about-hbr">Masthead</a></li> <li><a href="/global-editions">Global Editions</a></li> <li><a href="/media-inquiries">Media Inquiries</a></li> <li><a href="/guidelines-for-authors-web">Guidelines for Authors</a></li> <li><a href="/hbr-analytic-services">HBR Analytic Services</a></li> <li><a href="/permissions">Copyright Permissions</a></li> </ul> </div> <div js-target="footer-item" class="footer-content--list flex-col"> <div class="flex-row justify-between"> <h6>Manage My Account</h6> <span class="footer-item--arrow icon icon-caret-right font-size-medium mbm mtm"></span> </div> <ul class="no-bullet tidy-list--small hide-for-small--list mbn"> <li><a href="/my-library" js-target="validate-user-signed">My Library</a></li> <li><a href="/my-library/topics" js-target="validate-user-signed">Topic Feeds</a></li> <li><a href="/my-library/orders" js-target="validate-user-signed">Orders</a></li> <li><a href="/my-library/settings" js-target="validate-user-signed">Account Settings</a></li> <li><a href="/my-library/preferences" js-target="validate-user-signed">Email Preferences</a></li> <li><a href="/subscriber-help">Account FAQ</a></li> <li><a href="https://hbphelp.zendesk.com/hc/en-us">Help Center</a></li> <li><a href="/subscriber-help#contact-customer-service">Contact Customer Service</a></li> </ul> </div> <div class="footer-content--list footer-content--last-list flex-col"> <div class="flex-row justify-between"> <h6>Follow HBR</h6> </div> <ul class="icon-ul tidy-list--small mbn"> <li><i class="icon-li icon icon-facebook"></i> <a href="http://www.facebook.com/HBR">Facebook</a></li> <li> <i class="icon-li icon twitter-x-icon"> <svg width="14" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <g> <rect width="12" height="12" fill="none"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M7.82741 2L12.8799 9.3532L19.2057 2H20.9321L13.6468 10.4686L21.57 22H15.7425L10.4068 14.2348L3.72649 22H2L9.6403 13.1193L2 2H7.82741ZM16.5548 20.7594H19.2066L7.00037 3.29968H4.34857L16.5548 20.7594Z" fill="#282828" stroke="white" stroke-width="0.3"/> </g> </svg> </i> <a href="http://twitter.com/HarvardBiz">X Corp.</a> </li> <li><i class="icon-li icon icon-linkedin"></i> <a href="https://www.linkedin.com/company/harvard-business-review?trk=biz-companies-cym">LinkedIn</a></li> <li><i class="icon-li icon icon-instagram"></i> <a href="https://www.instagram.com/harvard_business_review/?hl=en">Instagram</a></li> <li><i class="icon-li icon line-height-very-very-tight icon-newsreader"></i> <a href="http://feeds.hbr.org/harvardbusiness/">Your Newsreader</a></li> </ul> </div> </div> </footer-menu> <div class="flex-row mbl mt-large2"> <div class="footer-logo hide-for-small"> <figure class="mts"> <img src="/resources/images/2018/new_logo_May11.png" alt="Harvard Business Publishing" class="medium-6" /> </figure> </div> <div class="flex-direction--row mbl hide-for-small--list copyright-block"> <ul class="piped-inline-list is-inline mbn pbn hide-for-small flex-row flex-direction--row copyright"> <li><a href="/corporate/about" class="copyright">About Us</a></li> <li><a href="/corporate/careers" class="copyright">Careers</a></li> <li><a href="/privacy-policy" class="copyright">Privacy Policy</a></li> <li><a href="/corporate/cookie-policy" class="copyright">Cookie Policy</a></li> <li><a href="/corporate/copyright" class="copyright">Copyright Information</a></li> <li><a href="http://trademark.harvard.edu/pages/trademark-notice" class="copyright">Trademark Policy</a></li> <li><a href="/terms-of-use" class="copyright">Terms of Use</a></li> </ul><br /> <div class="copyright is-inline mrs hide-for-small">Harvard Business Publishing:</div> <ul class="piped-inline-list is-inline copyright hide-for-small flex-row flex-direction--row"> <li><a href="http://hbsp.harvard.edu/" class="copyright">Higher Education</a></li> <li><a href="http://www.harvardbusiness.org" class="copyright">Corporate Learning</a></li> <li><a href="http://hbr.org/" class="copyright">Harvard Business Review</a></li> <li><a href="http://www.hbs.edu" class="copyright">Harvard Business School</a></li> </ul> <div class="copyright flex-row flex-direction--row">Copyright © <span id="copyright-year"></span> <script>document.getElementById("copyright-year").innerHTML=new Date().getFullYear();</script> Harvard Business School Publishing. All rights reserved. Harvard Business Publishing is an affiliate of Harvard Business School.</div> </div> </div> </div> </div> <div class="piano-content-recs-wrapper"> <div class="piano-content-recs-inline"></div> </div> </footer> <!-- End Footer --> </div> </div><script> window.captchaScoreKey = "6Ld9uNYZAAAAADPb9mj-jQFgYnWu1h6XAdKRLUhH"; window.msUserDomain = "https://platform.hbr.org/hbr/api/user" </script> <script src="https://www.recaptcha.net/recaptcha/enterprise.js?render=6Ld9uNYZAAAAADPb9mj-jQFgYnWu1h6XAdKRLUhH"></script> <!-- javascript --> <script src="/resources/js/common_c760d245d771bd1a.js"></script> <script src="https://embed-player.newsoveraudio.com/scripts/embed-audio-player.js"></script> <script src="/resources/js/pages/article_e2eaaf292b8d0bcb.js"></script> <script src="/resources/js/pages/ascend_8c280aa8f27b4d9b.js"></script> <!-- Begin comScore Tag --> <script> var _comscore = _comscore || []; _comscore.push({ c1: "2", c2: "14457509" }); (function() { var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true; s.src = (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js"; el.parentNode.insertBefore(s, el); })(); </script> <noscript> <img src="http://b.scorecardresearch.com/p?c1=2&c2=14457509&cv=2.0&cj=1" /> </noscript> <!-- End comScore Tag --> <script type="text/javascript"> if (isAdobeSync()) _satellite.pageBottom(); </script> <script type="text/javascript"> var tp = window["tp"] || []; tp.push(["init", function () { tp.experience.init(); }]); </script> </body> </html>