1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5745],{65932:function(e,t,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/internal-product",function(){return i(73351)}])},69574:function(e,t,i){"use strict";var n=i(52322);i(2784),t.Z=function(e){let{children:t}=e;return(0,n.jsx)("blockquote",{children:t})}},18697:function(e,t,i){"use strict";i.d(t,{Z:function(){return n.bpZ}});var n=i(65481)},43137:function(e,t,i){"use strict";i.d(t,{Z:function(){return n.dxo}});var n=i(65481)},25314:function(e,t,i){"use strict";i.d(t,{n:function(){return b}});var n=i(52322),a=i(5632),s=i(50238),o=i(35422),r=i(30243),l=i(99067),d=i(44179),c=i(40156),u=i(13201),h=i(23456),p=i(65007),m=i(18691),g=i(58402),f=i(65525);let b=e=>{let{background:t,children:i,experiments:b,initialAnonID:w,featureGates:x,dynamicText:y,stickyElement:v}=e,j=(0,a.useRouter)(),k=m.i.all.getLocaleOrDefaultByI18nName(j.locale).language.localeCode,Z="es"===j.locale,P=Z?r.Qs:o.Qs,D=Z?d.Qs:l.Qs,W=Z?(0,r.gz)():(0,o.gz)(),T=Z?r.c3:o.c3,I=Z?r.A4:o.A4;return(0,n.jsx)(n.Fragment,{children:(0,n.jsxs)(g.Z,{featureGates:x,initialAnonID:w,experiments:b,dynamicText:y,children:[(0,n.jsx)(c.Z,{logoLink:P.href,navigationConfig:[{id:"personal",text:P.text,href:P.href,isMobileVisible:!0,defaultDesktopItemId:P.defaultDesktopItemId,items:W},{id:"business",text:D.text,href:D.href,isMobileVisible:!1,defaultDesktopItemId:D.defaultDesktopItemId,items:[]}],mobileExtras:T,navigationExtras:I,stickyElement:v}),(0,n.jsx)(u.Z,{background:t,children:i}),(0,n.jsx)(s.Y,{fullWidthOnMobile:!0,noBottomPadding:!0,children:(0,n.jsx)(h.P,{...(0,f.sg)(p.yZ.PERSONAL,k)})})]})})}},15943:function(e,t,i){"use strict";i.d(t,{Z:function(){return g}});var n=i(52322),a=i(50238),s=i(6434),o=i(40156),r=i(13201),l=i(23456),d=i(65007),c=i(65481),u=i(65525),h=i(25314),p=i(69552),m=i(58402);function g(e){let{background:t,children:i,onlyLight:g=!1,experiments:f,initialAnonID:b,featureGates:w,dynamicText:x,stickyElement:y}=e,v=(0,c.xBA)(c.i5Z.all).pageLocale,{alpha2:j}=v.region,k=(0,c.iC2)(),Z=(0,c.DKk)({redirect:"https://monzo.com/sign-up",vertical:d.yZ.PERSONAL,store:d.ud.BOTH_STORES,region:c.i5Z.all.alpha2RegionCode.GB});return"IE"===j?(0,n.jsx)(p.d,{background:t,dynamicText:x,experiments:f,featureGates:w,initialAnonID:b,stickyElement:y,children:i}):"ES"===j?(0,n.jsx)(h.n,{background:t,dynamicText:x,experiments:f,featureGates:w,initialAnonID:b,stickyElement:y,children:i}):(0,n.jsx)(n.Fragment,{children:(0,n.jsxs)(m.Z,{featureGates:w,initialAnonID:b,experiments:f,dynamicText:x,onlyLight:g,children:[(0,n.jsx)(o.Z,{logoLink:"/",navigationConfig:[{id:"personal",text:"Personal",href:"/",isMobileVisible:!0,defaultDesktopItemId:"Current accounts and plans",items:(0,s.g)()},{id:"business",text:"Business",href:"/business-banking",isMobileVisible:!1,defaultDesktopItemId:"features",items:[]}],mobileExtras:k?[{href:Z,text:"Apply for a current account"}]:[],navigationExtras:(null==x?void 0:x.nav)&&k?[{href:Z,text:null==x?void 0:x.nav}]:[],stickyElement:y}),(0,n.jsx)(r.Z,{background:t,children:i}),(0,n.jsx)(a.Y,{fullWidthOnMobile:!0,noBottomPadding:!0,children:(0,n.jsx)(l.P,{...(0,u.sg)(d.yZ.PERSONAL,v.language.localeCode)})})]})})}},73351:function(e,t,i){"use strict";i.r(t),i.d(t,{__N_SSP:function(){return g}});var n=i(52322),a=i(59513),s=i(59726),o=i(69574),r=i(18697),l=i(73738),d=i(19344),c=i(75194),u=i(59445),h=i(43137),p=i(15943);let m=e=>{let{anonID:t,experiments:i,featureGates:m,dynamicText:g}=e;return(0,n.jsxs)(p.Z,{featureGates:m,initialAnonID:t,experiments:i,dynamicText:g,children:[(0,n.jsx)(l.Z,{description:"To help our Customer Operations team support one billion customers, we're building tools that help them do their jobs as effectively as they can. These tools are our internal product: software that we build and use ourselves, to help make your experience of Monzo as amazing as it can be.",ogDescription:"To help our Customer Operations team support one billion customers, we're building tools that help them do their jobs as effectively as they can. These tools are our internal product: software that we build and use ourselves, to help make your experience of Monzo as amazing as it can be.",ogTitle:"The
1Vision and Principles for Our Internal Product",pageTitle:"The Vision and Principles for Our Internal Product",ogimage:"/images/internal-product/og_image.png"}),(0,n.jsx)(h.Z,{title:"The Vision and Principles for Our Internal Product",description:"To help our Customer Operations team support one billion customers, weâre building tools that help them do their jobs as effectively as they can. These tools are our internal product: software that we build and use ourselves, to help make your experience of Monzo as amazing as it can be.",image:{width:300,alt:"A rocket ship flying to the top right",src:"https://images.ctfassets.net/ro61k101ee59/3BTuAlKt6wcyJwTl0DtPQE/ef1158d7a48d98d258f3f3c96048d2dd/rocket-spaceship.svg"},align:"center",textAlign:"center",verticalAlign:"middle"}),(0,n.jsxs)(a.Z,{showTableOfContents:!0,children:[(0,n.jsx)(d.Z,{padding:"none",children:(0,n.jsxs)(s.Z,{children:[(0,n.jsx)(u.Z,{semanticHeading:"h2",children:"Product Vision \uD83D\uDD2E"}),(0,n.jsx)(u.Z,{semanticHeading:"h3",children:"What is the future weâre trying to create?"}),(0,n.jsx)(o.Z,{children:(0,n.jsx)(c.ZP,{children:"We let people perform at the speed of thought"})}),(0,n.jsx)(u.Z,{semanticHeading:"h3",children:"How are we achieving this?"}),(0,n.jsx)(o.Z,{children:(0,n.jsx)(c.ZP,{children:"We're creating a scalable and extensible platform that lets a global and elastic team learn and progress to achieve its highest performance."})}),(0,n.jsx)(c.ZP,{children:"This has a specific meaning to us and is very tightly related to our way of working, so weâve outlined below what we mean by each of these things:"}),(0,n.jsx)(u.Z,{semanticHeading:"h4",size:"small",children:"Scalable and extensible platform \uD83D\uDCC8:"}),(0,n.jsxs)(r.Z,{as:"ul",children:[(0,n.jsx)("li",{children:"Weâre building a product thatâs technically reliable and capable of supporting Monzoâs ambitious growth"}),(0,n.jsx)("li",{children:"Weâre building a product that has many contributors and thatâs second nature to engineers of all levels"}),(0,n.jsx)("li",{children:"Weâre building a product thatâs easy to change and lets us react quickly to external needs and opportunities"}),(0,n.jsx)("li",{children:"Weâre building a product that lets us experiment and prototype fast"}),(0,n.jsx)("li",{children:"Weâre building a product that supports an omnichannel approach to customer support, so Monzo customers can access it in the way thatâs most useful for them"})]}),(0,n.jsx)(u.Z,{semanticHeading:"h4",size:"small",children:"Global and elastic team \uD83C\uDF0D:"}),(0,n.jsxs)(r.Z,{as:"ul",children:[(0,n.jsx)("li",{children:"Weâre building a product that lets a globally distributed team operate seamlessly across different geographies and time zones"}),(0,n.jsx)("li",{children:"Weâre building a product that lets different types of teams and user profiles co-exist"})]}),(0,n.jsx)(u.Z,{semanticHeading:"h4",size:"small",children:"Learn and progress \uD83E\uDD13:"}),(0,n.jsxs)(r.Z,{as:"ul",children:[(0,n.jsx)("li",{children:"Weâre building a product that makes sense to users of all levels: be it to complete beginners or those whoâve used it for years"}),(0,n.jsx)("li",{children:"Weâre building a product where key documentation and training materials are embedded and presented to the right user at the right time"}),(0,n.jsx)("li",{children:"Weâre building a product that encourages and rewards people for becoming experts in using it"})]}),(0,n.jsx)(u.Z,{semanticHeading:"h4",size:"small",children:"Achieve its highest performance \uD83D\uDE80:"}),(0,n.jsxs)(r.Z,{as:"ul",children:[(0,n.jsx)("li",{children:"Weâre building a product thatâs intuitive, friction-free, and optimised for power users"}),(0,n.jsx)("li",{children:"Weâre building a product thatâs safe and makes it nearly impossible to do the wrong thing â users can work quickly and comfortably, safe in the knowledge that the tool has got their back"})]})]})}),(0,n.jsx)(d.Z,{padding:"none",children:(0,n.jsxs)(s.Z,{children:[(0,n.jsx)(u.Z,{semanticHeading:"h2",id:"principle-contributers",children:"Product Principles \uD83D\uDCDC"}),(0,n.jsx)(c.ZP,{children:"To make sure weâre consistent in how
1we approach problems and build our product to achieve our vision, we have a set of principles."}),(0,n.jsx)(c.ZP,{children:"These principles help us to:"}),(0,n.jsxs)(r.Z,{as:"ul",children:[(0,n.jsx)("li",{children:"bring to life our beliefs on how to build our product and how can our vision become a reality"}),(0,n.jsx)("li",{children:"ââfacilitate a shared understanding by distilling the nature of what weâre building into simple and easy to digest statements"}),(0,n.jsx)("li",{children:"ââevaluate new ideas and solutions by clearly putting them in perspective"}),(0,n.jsx)("li",{children:"ââsteer group discussions into the right direction and make them more productive"}),(0,n.jsx)("li",{children:"ââempower everyone to make decisions autonomously"}),(0,n.jsx)("li",{children:"ââassess our outcomes against what we believe in - a good way to keep us accountable of our decisions!"})]}),(0,n.jsx)(u.Z,{semanticHeading:"h3",id:"principle-contributers",children:"Care about our platform contributors"}),(0,n.jsx)(c.ZP,{children:"We believe that great solutions let us stay flexible and better prepared for the future. Building an extensible platform implies we make our product easy to contribute to technically: we aim at having many teams building on top of it, so it has to be inclusive and accessible. We search for the best technical solutions but don't lose our strong focus on other developersâ experience."}),(0,n.jsx)(u.Z,{semanticHeading:"h3",id:"principle-optimise-learning",children:"Optimise for learning with simple solutions"}),(0,n.jsx)(c.ZP,{children:"If we get things right at the first attempt, most likely we're not being as fast or ambitious as we could be. But while we want to be swift, we want to reduce risks as much as we can."}),(0,n.jsx)(c.ZP,{children:"Given this, weâll optimise our development process for learning and for prototyping. We'll focus on building the simplest thing to get the job done, generating enough data and knowledge to take better decisions further ahead. This doesnât mean weâll launch and train users in unfinished or inconsistent products: we boost learnings with MVPs, which to our team stands for Minimum Viable Prototype."}),(0,n.jsx)(u.Z,{semanticHeading:"h4",size:"small",children:"Case Study: Refunding customers during the upgrade"}),(0,n.jsx)(c.ZP,{children:"When we asked customers to upgrade from the prepaid card to the current account, we knew some people would ask us to close their accounts and refund any money they had left."}),(0,n.jsx)(c.ZP,{children:"For customers that added money to their accounts by topping-up with another debit card, we used a script that automatically refunded their money to the original card. If the customer had replaced the original card or closed their bank account, we needed to work out how to get their money back."}),(0,n.jsx)(c.ZP,{children:"First, we thought about engineering a clever way to re-attempt the refund, or automating a process that would send the money back via bank transfer instead."}),(0,n.jsx)(c.ZP,{children:"But, because we donât believe we should invest engineering time in automating a process before weâve learned enough to confirm that we need to, we decided to do it manually first and wait for the results. Every time a refund failed, a new task would be created in BizOps Hub, allowing an engineer to work out how to solve it."}),(0,n.jsx)(c.ZP,{children:"By the end of the upgrade, only a couple of hundred refunds had failed. Thatâs a relatively small number that we could solve without any engineering effort, by asking customers for their bank details so we could send the money back by bank transfer."}),(0,n.jsx)(c.ZP,{children:"Instead of building a fully-fledged feature upfront and automating in every possible case, doing things manually lets us learn whether itâs worth the effort in the first place, and saves us time and energy if itâs not!"}),(0,n.jsx)(u.Z,{semanticHeading:"h3",id:"principle-prove-it",children:"Prove it"}),(0,n.jsx)(c.ZP,{children:"Weâre aware that every feature contains a cost and we balance it against its value. We believe everything in our product should either have a purpose or be removed."}),(0,n.jsx)(c.ZP,{children:"The way we explore purpose and impact is to always test and measure what we're building â whether with quantitative or qualitative data. We don't do this as an afterthought and prefer to have too much data than not have enough: when we build something we build in the ability to gather data so we can prove that we've built the 'right' thing."}),(0,n.jsx)(u.Z,{semanticHeading:"h4",size:"small",children:"Case Study: Reassessing regularly"}),(0,n.jsx)(c.ZP,{children:"When he said, âPerfection is achieved, not when there is nothing more to add, but when there is nothing left to take away,â Antoine de Saint-Exup\xe9ry gave us an insight into building awesome products."}),(0,n.jsx)(c.ZP,{children:"We know our product gets more and more complex each day, as we keep adding features that solve new problems. To make sure every feature is adding value, we meet every Monday to use data and user feedback to see if a feature should be removed from BizOps Hub."}),(0,n.jsx)(c.ZP,{children:"We started exploring giving COps (members of the customer operations team) performance metrics directly embedded in the tools they use so they could check how well they and their team were doing at a glance, and how the overall customer support numbers looked like for a given day. We later on realised the metrics section of the product was barely used, as COps would have access to more complete and tailored metrics in separate dashboards they could easily access as well. Even though we intend to explore embedded metrics and bring a gamification approach to
1some aspects of our product, we decided to remove this entirely for a while as this problem was already solved thus reducing the complexity of the product."}),(0,n.jsx)(u.Z,{semanticHeading:"h3",id:"principle-teach-guide-empower",children:"Teach, guide, and empower"}),(0,n.jsx)(c.ZP,{children:"Our product drives efficiency and performance and works for everyone, regardless of what experience they have. We design our product to reduce the chance of mistakes and increase confidence."}),(0,n.jsx)(c.ZP,{children:"We embed training and whenever we can weâll customise the user experience automatically and let users personalise the product to fit them."}),(0,n.jsx)(c.ZP,{children:"To empower our users to work at speed of thought we must design solutions that match the diversity of our COps: they must have the opportunity and confidence to use the tools in the way that makes them the best COp they can be."}),(0,n.jsx)(u.Z,{semanticHeading:"h3",id:"principle-consistency-patterns",children:"Let consistency and patterns build trust"}),(0,n.jsx)(c.ZP,{children:"We're building a product thatâs predictable and has a high conceptual integrity. This means users can develop a clear and reliable mental model that lets them navigate through the UI intuitively. We know trust increases when actions provide consistent feedback and you can move fast with a safety net that doesnât let you make mistakes, and this matters to us."}),(0,n.jsx)(u.Z,{semanticHeading:"h3",id:"principle-big-picture",children:"Keep the big picture in mind"}),(0,n.jsx)(c.ZP,{children:"Weâre conscious that building a web-based tool which is a poorly-integrated aggregation of features is worse than having these features in separate tools that people understand."}),(0,n.jsx)(c.ZP,{children:"We focus on outcomes and not outputs: our product doesn't offer an aggregation of features but rather a holistic, consistent experience. Adding features that donât support a workflow will decrease how easy it is to use and maintain because the code and UI are more complex. If we focus on workflows and outcomes instead of features we wonât fall into this trap."})]})})]})]})};m.analytics={name:"internal-product"};var g=!0;t.default=m}},function(e){e.O(0,[1395,8402,3456,2305,9409,2888,9774,179],function(){return e(e.s=65932)}),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.