[{"data":1,"prerenderedAt":1072},["ShallowReactive",2],{"/blog/how-zoopla-uses-dora-metrics-and-your-team-can-too":3,"navigation-en-us":285,"banner-en-us":713,"footer-en-us":723,"blog-post-authors-en-us-Gustaw Fit of Zoopla":967,"blog-related-posts-en-us-how-zoopla-uses-dora-metrics-and-your-team-can-too":983,"blog-promotions-en-us":1008,"next-steps-en-us":1062},{"id":4,"title":5,"authors":6,"body":8,"category":263,"date":264,"description":265,"extension":266,"externalUrl":267,"faq":267,"featured":268,"heroImage":269,"meta":270,"navigation":271,"path":272,"seo":273,"slug":277,"stem":278,"tags":279,"template":283,"updatedDate":267,"__hash__":284},"blogPosts/en-us/blog/how-zoopla-uses-dora-metrics-and-your-team-can-too.md","How Zoopla used DORA metrics to boost deployments, increase automation and more",[7],"Gustaw Fit of Zoopla",{"type":9,"value":10,"toc":253},"minimark",[11,22,31,36,39,54,58,77,81,98,101,118,122,125,133,141,149,152,155,159,162,165,168,185,188,208,211,215,218,221,224,227],[12,13,14,15,21],"p",{},"About two years ago, Zoopla started wondering how we could measure the overall improvements in performance in the engineering department. We were in the early stages of a program of work called ",[16,17,20],"a",{"href":18,"rel":19},"https://zoopla.blog/posts/2021/project-bedrock-replatforming/",[],"Bedrock",". Bedrock was all about making engineering capability more efficient and flexible in responding to the business needs.",[12,23,24,25,30],{},"After researching various options, we decided on the ",[16,26,29],{"href":27,"rel":28},"https://cloud.google.com/blog/products/devops-sre/using-the-four-keys-to-measure-your-devops-performance",[],"DORA metrics",". They provided us with all the necessary insights to track our success, and benchmark ourselves against a definition of good.",[32,33,35],"h2",{"id":34},"what-is-dora","What is DORA?",[12,37,38],{},"DORA is the acronym for the DevOps Research and Assessment group: they’ve surveyed more than 50,000 technical professionals worldwide to better understand how the technical practices, cultural norms, and management approach affect organisational performance.",[12,40,41,42,47,48,53],{},"(Take a dive into the ",[16,43,46],{"href":44,"rel":45},"https://www.ciosummits.com/Online_Assets_Puppet_2016_State_of_DevOps_Report.pdf",[],"latest DORA Report"," and in the book that summarizes the findings:  ",[16,49,52],{"href":50,"rel":51},"https://www.amazon.com/Accelerate-Building-Performing-Technology-Organizations/dp/B07BMBYHXL/ref=sr_1_2?crid=R1O9AH85U6PR&keywords=accelerate+book&qid=1643046474&sprefix=accelerate+book%2Caps%2C70&sr=8-2",[],"Accelerate",").",[32,55,57],{"id":56},"what-are-the-metrics-zoopla-is-using","What are the metrics Zoopla is using?",[59,60,61,65,68,71,74],"ul",{},[62,63,64],"li",{},"Production deploy frequency - Time between the first commit on a merge request to master and production deployment",[62,66,67],{},"Lead time - Number of successful production deployments / day",[62,69,70],{},"Mean Time To Recover - Time required from customer impact first started to removal of the customer impact",[62,72,73],{},"Change fail rate - For the primary application or service you work on, what percentage of changes to production or released to users result in degraded service (e.g., lead to service impairment or service outage) and subsequently require remediation (e.g., require a hotfix, rollback, fix forward, patch)",[62,75,76],{},"Time to onboard - Time required from the engineer who had joined the company, until their first commit is merged to master on a non-personal repository.",[32,78,80],{"id":79},"how-do-we-understand-the-metrics","How do we understand the metrics?",[59,82,83,86,89,92,95],{},[62,84,85],{},"Production deploy frequency - limiting amount of code going to production at once (limited batch size)",[62,87,88],{},"Lead time - reducing amount of blockers for developers",[62,90,91],{},"MTTR - improving speed of incident recovery",[62,93,94],{},"Change fail rate - improving quality focus",[62,96,97],{},"Time to onboard - how efficient is our onboarding process",[12,99,100],{},"Following the rules of lean:",[59,102,103,106,109,112,115],{},[62,104,105],{},"Value is only released to production, once it leaves the factory floor (production deploy frequency)",[62,107,108],{},"Optimize Work In Progress (lead time)",[62,110,111],{},"Invest in SRE/automation (mean time to recover)",[62,113,114],{},"Practice kaizen (change fail rate)",[62,116,117],{},"Have efficient knowledge sharing and work allocation processes (time to onboard)",[32,119,121],{"id":120},"how-are-we-collecting-the-metrics","How are we collecting the metrics?",[12,123,124],{},"We are using the following data sources:",[12,126,127,132],{},[16,128,131],{"href":129,"rel":130},"https://about.gitlab.com",[],"GitLab"," for deploy frequency, lead time, change fail rate and time to onboard",[12,134,135,140],{},[16,136,139],{"href":137,"rel":138},"https://www.blameless.com",[],"Blameless"," for mean time to recover (as recorded in incidents)",[12,142,143,148],{},[16,144,147],{"href":145,"rel":146},"https://www.jenkins.io",[],"Jenkins"," for deploy frequency and change fail rate",[12,150,151],{},"The process is using APIs extensively. We also needed to come up with a standardised data schema to be able to meaningfully use the metrics. The raw data stored in the s3 bucket can be used in any visualization tool. For our own purposes we have decided to display them in a google spreadsheet. All of these required an extensive implementation effort. The whole flow is powered by modern Python.",[12,153,154],{},"Some parts of our process are still not perfect. We are actively working to simplify the flows and standardize data sets.",[32,156,158],{"id":157},"how-are-the-metrics-used-at-zoopla","How are the metrics used at Zoopla?",[12,160,161],{},"The dashboard is regularly reviewed by the senior engineering management. The metrics are on public display, and are discussed and reviewed in our monthly town hall meeting, and our fortnightly Ops Review. Each team is encouraged to reflect on the metrics as they plan their work, and consider improvements they could introduce.",[12,163,164],{},"The metrics also influence the decisions and prioritization. Just as importantly, they help us to transform our company culture.",[12,166,167],{},"In terms of improvements measured:",[59,169,170,173,176,179,182],{},[62,171,172],{},"Production deployment frequency was improved from once in a week to multiple times per day (~40 deployments per day).",[62,174,175],{},"Lead time was improved from an average of 10 days to less than two days (with many projects being close to 2-4h on average).",[62,177,178],{},"Mean time to recover: we have not measured it before, the main benefit for us is understanding what we need to improve. We are currently in the area of 1-3h on average for sev-0 or sev-1 issues and 24h on average, when we include sev-2 issues.",[62,180,181],{},"Change failure rate was about 60% before we started, it is now oscillating between ~1-5%.",[62,183,184],{},"Time to onboard was over 20 days, and we have brought this down to around five days.",[12,186,187],{},"The main cultural changes were:",[59,189,190,193,196,199,202,205],{},[62,191,192],{},"We have automated the majority of our deployment pipelines.",[62,194,195],{},"We have added a lot of automation to incident resolution, primarily by adding auto-scaling.",[62,197,198],{},"We have trained our teams in incident response, and introduced an on-call rota.",[62,200,201],{},"We have moved the bulk of our infrastructure management to a standardised Infrastructure as Code (mainly Terraform).",[62,203,204],{},"We have improved our onboarding process.",[62,206,207],{},"We have improved our alerting, and partnered with New Relic to reduce investigation effort.",[12,209,210],{},"We hold the ambition to join the elite performing group of organisations as defined by the State of DevOps report. Each day brings us closer to that goal.",[32,212,214],{"id":213},"what-are-our-future-plans","What are our future plans?",[12,216,217],{},"On the technical side, we are working to improve automation of the metrics, to go away from our internal and bespoke metric collection model. We hope our partnership with New Relic will soon enable a much better solution.",[12,219,220],{},"On the DevOps/DORA culture side, we are providing regular talks and training to wider audiences (not only engineering), to establish DORA as a reference point in future product development. We are also making it a key point of our new consolidated engineering strategy.",[12,222,223],{},"We’ve found the DORA metrics helped us improve our software development and delivery processes. With these findings, organizations can make informed adjustments in their process workflows, automation, team composition, tools, and more. We recommend you try this in your organisation too.",[12,225,226],{},"Further reading:",[59,228,229,237,245],{},[62,230,231,236],{},[16,232,235],{"href":233,"rel":234},"https://www.amazon.com/The-Phoenix-Project-audiobook/dp/B00VATFAMI/ref=sr_1_1?crid=3U43AWAK4L6YI&keywords=The+Phoenix+project&qid=1643046949&sprefix=the+phoenix+project%2Caps%2C70&sr=8-1",[],"The Phonenix Project"," by Gene Kim, Kevin Behr and George Spafford",[62,238,239,244],{},[16,240,243],{"href":241,"rel":242},"https://www.amazon.com/The-Goal-audiobook/dp/B00IFGGDA2/ref=sr_1_1?crid=2EAKYMNBHT0B5&keywords=the+goal+by+eliyahu+goldratt&qid=1643047036&s=audible&sprefix=The+goal%2Caudible%2C125&sr=1-1",[],"The Goal: A Process of Ongoing Improvement"," by Eliyahu Goldratt and Jeff Cox",[62,246,247,252],{},[16,248,251],{"href":249,"rel":250},"https://www.amazon.com/The-Unicorn-Project-Gene-Kim-audiobook/dp/B0812C82T9/ref=sr_1_1?crid=2B0ENCYRNG2BO&keywords=the+unicorn+project&qid=1643047132&s=audible&sprefix=the+unicorn%2Caudible%2C76&sr=1-1",[],"The Unicorn Project"," by Gene Kim et al",{"title":254,"searchDepth":255,"depth":255,"links":256},"",2,[257,258,259,260,261,262],{"id":34,"depth":255,"text":35},{"id":56,"depth":255,"text":57},{"id":79,"depth":255,"text":80},{"id":120,"depth":255,"text":121},{"id":157,"depth":255,"text":158},{"id":213,"depth":255,"text":214},"insights","2022-01-24","GitLab customer Zoopla used the DORA metrics to boost production deployments from once a week to roughly 40 times a day. And that was only one of the performance improvements...","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665635/Blog/Hero%20Images/blog-performance-metrics.jpg",{},true,"/en-us/blog/how-zoopla-uses-dora-metrics-and-your-team-can-too",{"title":274,"description":265,"ogTitle":274,"ogDescription":265,"noIndex":268,"ogImage":269,"ogUrl":275,"ogSiteName":129,"ogType":276,"canonicalUrls":275},"Zoopla Boosts Deployments & Automation with DORA Metrics","https://about.gitlab.com/blog/how-zoopla-uses-dora-metrics-and-your-team-can-too","article","how-zoopla-uses-dora-metrics-and-your-team-can-too","en-us/blog/how-zoopla-uses-dora-metrics-and-your-team-can-too",[280,281,282],"DevOps","customers","research","BlogPost","xfpBFK3xLOKR5gEgCnC25OQF8nD_NdNzI5Q2tfEsZT4",{"logo":286,"freeTrial":291,"sales":296,"login":301,"items":306,"search":633,"minimal":664,"duo":683,"switchNav":692,"pricingDeployment":703},{"config":287},{"href":288,"dataGaName":289,"dataGaLocation":290},"/","gitlab logo","header",{"text":292,"config":293},"Get free trial",{"href":294,"dataGaName":295,"dataGaLocation":290},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":297,"config":298},"Request a demo",{"href":299,"dataGaName":300,"dataGaLocation":290},"/sales/?contact-topic=request-demo","sales",{"text":302,"config":303},"Sign in",{"href":304,"dataGaName":305,"dataGaLocation":290},"https://gitlab.com/users/sign_in/","sign in",[307,336,436,441,555,611],{"text":308,"config":309,"menu":311},"Platform",{"dataNavLevelOne":310},"platform",{"type":312,"columns":313},"cards",[314,320,328],{"title":308,"description":315,"link":316},"The intelligent orchestration platform for DevSecOps",{"text":317,"config":318},"Explore our Platform",{"href":319,"dataGaName":310,"dataGaLocation":290},"/platform/",{"title":321,"description":322,"link":323},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":324,"config":325},"Meet GitLab Duo",{"href":326,"dataGaName":327,"dataGaLocation":290},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":329,"description":330,"link":331},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":332,"config":333},"Learn more",{"href":334,"dataGaName":335,"dataGaLocation":290},"/why-gitlab/","why gitlab",{"text":337,"left":271,"config":338,"menu":340},"Product",{"dataNavLevelOne":339},"solutions",{"type":341,"link":342,"columns":346,"feature":415},"lists",{"text":343,"config":344},"View all Solutions",{"href":345,"dataGaName":339,"dataGaLocation":290},"/solutions/",[347,371,394],{"title":348,"description":349,"link":350,"items":355},"Automation","CI/CD and automation to accelerate deployment",{"config":351},{"icon":352,"href":353,"dataGaName":354,"dataGaLocation":290},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[356,360,363,367],{"text":357,"config":358},"CI/CD",{"href":359,"dataGaLocation":290,"dataGaName":357},"/solutions/continuous-integration/",{"text":321,"config":361},{"href":326,"dataGaLocation":290,"dataGaName":362},"gitlab duo agent platform - product menu",{"text":364,"config":365},"Source Code Management",{"href":366,"dataGaLocation":290,"dataGaName":364},"/solutions/source-code-management/",{"text":368,"config":369},"Automated Software Delivery",{"href":353,"dataGaLocation":290,"dataGaName":370},"Automated software delivery",{"title":372,"description":373,"link":374,"items":379},"Security","Deliver code faster without compromising security",{"config":375},{"href":376,"dataGaName":377,"dataGaLocation":290,"icon":378},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[380,384,389],{"text":381,"config":382},"Application Security Testing",{"href":376,"dataGaName":383,"dataGaLocation":290},"Application security testing",{"text":385,"config":386},"Software Supply Chain Security",{"href":387,"dataGaLocation":290,"dataGaName":388},"/solutions/supply-chain/","Software supply chain security",{"text":390,"config":391},"Software Compliance",{"href":392,"dataGaName":393,"dataGaLocation":290},"/solutions/software-compliance/","software compliance",{"title":395,"link":396,"items":401},"Measurement",{"config":397},{"icon":398,"href":399,"dataGaName":400,"dataGaLocation":290},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[402,406,410],{"text":403,"config":404},"Visibility & Measurement",{"href":399,"dataGaLocation":290,"dataGaName":405},"Visibility and Measurement",{"text":407,"config":408},"Value Stream Management",{"href":409,"dataGaLocation":290,"dataGaName":407},"/solutions/value-stream-management/",{"text":411,"config":412},"Analytics & Insights",{"href":413,"dataGaLocation":290,"dataGaName":414},"/solutions/analytics-and-insights/","Analytics and insights",{"title":416,"type":341,"items":417},"GitLab for",[418,424,430],{"text":419,"config":420},"Enterprise",{"icon":421,"href":422,"dataGaLocation":290,"dataGaName":423},"Building","/enterprise/","enterprise",{"text":425,"config":426},"Small Business",{"icon":427,"href":428,"dataGaLocation":290,"dataGaName":429},"Work","/small-business/","small business",{"text":431,"config":432},"Public Sector",{"icon":433,"href":434,"dataGaLocation":290,"dataGaName":435},"Organization","/solutions/public-sector/","public sector",{"text":437,"config":438},"Pricing",{"href":439,"dataGaName":440,"dataGaLocation":290,"dataNavLevelOne":440},"/pricing/","pricing",{"text":442,"config":443,"menu":445},"Resources",{"dataNavLevelOne":444},"resources",{"type":341,"link":446,"columns":450,"feature":544},{"text":447,"config":448},"View all resources",{"href":449,"dataGaName":444,"dataGaLocation":290},"/resources/",[451,484,511],{"title":452,"items":453},"Getting started",[454,459,464,469,474,479],{"text":455,"config":456},"Install",{"href":457,"dataGaName":458,"dataGaLocation":290},"/install/","install",{"text":460,"config":461},"Quick start guides",{"href":462,"dataGaName":463,"dataGaLocation":290},"/get-started/","quick setup checklists",{"text":465,"config":466},"Learn",{"href":467,"dataGaLocation":290,"dataGaName":468},"https://university.gitlab.com/","learn",{"text":470,"config":471},"Product documentation",{"href":472,"dataGaName":473,"dataGaLocation":290},"https://docs.gitlab.com/","product documentation",{"text":475,"config":476},"Best practice videos",{"href":477,"dataGaName":478,"dataGaLocation":290},"/getting-started-videos/","best practice videos",{"text":480,"config":481},"Integrations",{"href":482,"dataGaName":483,"dataGaLocation":290},"/integrations/","integrations",{"title":485,"items":486},"Discover",[487,492,497,502,506],{"text":488,"config":489},"Customer success stories",{"href":490,"dataGaName":491,"dataGaLocation":290},"/customers/","customer success stories",{"text":493,"config":494},"Blog",{"href":495,"dataGaName":496,"dataGaLocation":290},"/blog/","blog",{"text":498,"config":499},"Demo Hub",{"href":500,"dataGaName":501,"dataGaLocation":290},"/demo-hub/","demo hub",{"text":503,"config":504},"The Source",{"href":505,"dataGaName":496,"dataGaLocation":290},"/the-source/",{"text":507,"config":508},"Remote",{"href":509,"dataGaName":510,"dataGaLocation":290},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":512,"items":513},"Connect",[514,519,524,529,534,539],{"text":515,"config":516},"GitLab Services",{"href":517,"dataGaName":518,"dataGaLocation":290},"/services/","services",{"text":520,"config":521},"Contribute",{"href":522,"dataGaName":523,"dataGaLocation":290},"https://contributors.gitlab.com","contribute",{"text":525,"config":526},"Community",{"href":527,"dataGaName":528,"dataGaLocation":290},"/community/","community",{"text":530,"config":531},"Forum",{"href":532,"dataGaName":533,"dataGaLocation":290},"https://forum.gitlab.com/","forum",{"text":535,"config":536},"Events",{"href":537,"dataGaName":538,"dataGaLocation":290},"/events/","events",{"text":540,"config":541},"Partners",{"href":542,"dataGaName":543,"dataGaLocation":290},"/partners/","partners",{"config":545,"title":548,"text":549,"link":550},{"background":546,"textColor":547},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":551,"config":552},"Read the latest",{"href":553,"dataGaName":554,"dataGaLocation":290},"/whats-new/","whats new",{"text":556,"config":557,"menu":559},"Company",{"dataNavLevelOne":558},"company",{"type":341,"columns":560},[561],{"items":562},[563,568,574,576,581,586,591,596,601,606],{"text":564,"config":565},"About",{"href":566,"dataGaName":567,"dataGaLocation":290},"/company/","about",{"text":569,"config":570,"footerGa":573},"Jobs",{"href":571,"dataGaName":572,"dataGaLocation":290},"/jobs/","jobs",{"dataGaName":572},{"text":535,"config":575},{"href":537,"dataGaName":538,"dataGaLocation":290},{"text":577,"config":578},"Leadership",{"href":579,"dataGaName":580,"dataGaLocation":290},"/company/team/e-group/","leadership",{"text":582,"config":583},"Handbook",{"href":584,"dataGaName":585,"dataGaLocation":290},"https://handbook.gitlab.com/","handbook",{"text":587,"config":588},"Investor relations",{"href":589,"dataGaName":590,"dataGaLocation":290},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":592,"config":593},"Trust Center",{"href":594,"dataGaName":595,"dataGaLocation":290},"/security/","trust center",{"text":597,"config":598},"AI Transparency Center",{"href":599,"dataGaName":600,"dataGaLocation":290},"/ai-transparency-center/","ai transparency center",{"text":602,"config":603},"Newsletter",{"href":604,"dataGaName":605,"dataGaLocation":290},"/company/contact/#contact-forms","newsletter",{"text":607,"config":608},"Press",{"href":609,"dataGaName":610,"dataGaLocation":290},"/press/","press",{"text":612,"config":613,"menu":614},"Contact us",{"dataNavLevelOne":558},{"type":341,"columns":615},[616],{"items":617},[618,623,628],{"text":619,"config":620},"Talk to sales",{"href":621,"dataGaName":622,"dataGaLocation":290},"/sales/","talk to sales",{"text":624,"config":625},"Support portal",{"href":626,"dataGaName":627,"dataGaLocation":290},"https://support.gitlab.com/hc/en-us","support portal",{"text":629,"config":630},"Customer portal",{"href":631,"dataGaName":632,"dataGaLocation":290},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":634,"login":635,"suggestions":642},"Close",{"text":636,"link":637},"To search repositories and projects, login to",{"text":638,"config":639},"gitlab.com",{"href":304,"dataGaName":640,"dataGaLocation":641},"search login","search",{"text":643,"default":644},"Suggestions",[645,647,651,653,657,661],{"text":321,"config":646},{"href":326,"dataGaName":321,"dataGaLocation":641},{"text":648,"config":649},"Code Suggestions (AI)",{"href":650,"dataGaName":648,"dataGaLocation":641},"/solutions/code-suggestions/",{"text":357,"config":652},{"href":359,"dataGaName":357,"dataGaLocation":641},{"text":654,"config":655},"GitLab on AWS",{"href":656,"dataGaName":654,"dataGaLocation":641},"/partners/technology-partners/aws/",{"text":658,"config":659},"GitLab on Google Cloud",{"href":660,"dataGaName":658,"dataGaLocation":641},"/partners/technology-partners/google-cloud-platform/",{"text":662,"config":663},"Why GitLab?",{"href":334,"dataGaName":662,"dataGaLocation":641},{"freeTrial":665,"mobileIcon":670,"desktopIcon":675,"secondaryButton":678},{"text":666,"config":667},"Start free trial",{"href":668,"dataGaName":295,"dataGaLocation":669},"https://gitlab.com/-/trials/new/","nav",{"altText":671,"config":672},"Gitlab Icon",{"src":673,"dataGaName":674,"dataGaLocation":669},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":671,"config":676},{"src":677,"dataGaName":674,"dataGaLocation":669},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":679,"config":680},"Get Started",{"href":681,"dataGaName":682,"dataGaLocation":669},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":684,"mobileIcon":688,"desktopIcon":690},{"text":685,"config":686},"Learn more about GitLab Duo",{"href":326,"dataGaName":687,"dataGaLocation":669},"gitlab duo",{"altText":671,"config":689},{"src":673,"dataGaName":674,"dataGaLocation":669},{"altText":671,"config":691},{"src":677,"dataGaName":674,"dataGaLocation":669},{"button":693,"mobileIcon":698,"desktopIcon":700},{"text":694,"config":695},"/switch",{"href":696,"dataGaName":697,"dataGaLocation":669},"#contact","switch",{"altText":671,"config":699},{"src":673,"dataGaName":674,"dataGaLocation":669},{"altText":671,"config":701},{"src":702,"dataGaName":674,"dataGaLocation":669},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":704,"mobileIcon":709,"desktopIcon":711},{"text":705,"config":706},"Back to pricing",{"href":439,"dataGaName":707,"dataGaLocation":669,"icon":708},"back to pricing","GoBack",{"altText":671,"config":710},{"src":673,"dataGaName":674,"dataGaLocation":669},{"altText":671,"config":712},{"src":677,"dataGaName":674,"dataGaLocation":669},{"title":714,"titleMobile":715,"button":716,"config":721},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":332,"config":717},{"href":718,"dataGaName":719,"dataGaLocation":720},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":722,"disabled":268},"release",{"data":724},{"text":725,"source":726,"edit":732,"contribute":737,"config":742,"items":747,"minimal":956},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":727,"config":728},"View page source",{"href":729,"dataGaName":730,"dataGaLocation":731},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":733,"config":734},"Edit this page",{"href":735,"dataGaName":736,"dataGaLocation":731},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":738,"config":739},"Please contribute",{"href":740,"dataGaName":741,"dataGaLocation":731},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":743,"facebook":744,"youtube":745,"linkedin":746},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[748,795,848,892,924],{"title":437,"links":749,"subMenu":764},[750,754,759],{"text":751,"config":752},"View plans",{"href":439,"dataGaName":753,"dataGaLocation":731},"view plans",{"text":755,"config":756},"Why Premium?",{"href":757,"dataGaName":758,"dataGaLocation":731},"/pricing/premium/","why premium",{"text":760,"config":761},"Why Ultimate?",{"href":762,"dataGaName":763,"dataGaLocation":731},"/pricing/ultimate/","why ultimate",[765],{"title":766,"links":767},"Contact Us",[768,771,773,775,780,785,790],{"text":769,"config":770},"Contact sales",{"href":621,"dataGaName":300,"dataGaLocation":731},{"text":624,"config":772},{"href":626,"dataGaName":627,"dataGaLocation":731},{"text":629,"config":774},{"href":631,"dataGaName":632,"dataGaLocation":731},{"text":776,"config":777},"Status",{"href":778,"dataGaName":779,"dataGaLocation":731},"https://status.gitlab.com/","status",{"text":781,"config":782},"Terms of use",{"href":783,"dataGaName":784,"dataGaLocation":731},"/terms/","terms of use",{"text":786,"config":787},"Privacy statement",{"href":788,"dataGaName":789,"dataGaLocation":731},"/privacy/","privacy statement",{"text":791,"config":792},"Cookie preferences",{"dataGaName":793,"dataGaLocation":731,"id":794,"isOneTrustButton":271},"cookie preferences","ot-sdk-btn",{"title":337,"links":796,"subMenu":805},[797,801],{"text":798,"config":799},"DevSecOps platform",{"href":319,"dataGaName":800,"dataGaLocation":731},"devsecops platform",{"text":802,"config":803},"AI-Assisted Development",{"href":326,"dataGaName":804,"dataGaLocation":731},"ai-assisted development",[806],{"title":807,"links":808},"Topics",[809,814,819,823,828,833,838,843],{"text":810,"config":811},"CICD",{"href":812,"dataGaName":813,"dataGaLocation":731},"/topics/ci-cd/","cicd",{"text":815,"config":816},"GitOps",{"href":817,"dataGaName":818,"dataGaLocation":731},"/topics/gitops/","gitops",{"text":280,"config":820},{"href":821,"dataGaName":822,"dataGaLocation":731},"/topics/devops/","devops",{"text":824,"config":825},"Version Control",{"href":826,"dataGaName":827,"dataGaLocation":731},"/topics/version-control/","version control",{"text":829,"config":830},"DevSecOps",{"href":831,"dataGaName":832,"dataGaLocation":731},"/topics/devsecops/","devsecops",{"text":834,"config":835},"Cloud Native",{"href":836,"dataGaName":837,"dataGaLocation":731},"/topics/cloud-native/","cloud native",{"text":839,"config":840},"AI for Coding",{"href":841,"dataGaName":842,"dataGaLocation":731},"/topics/devops/ai-for-coding/","ai for coding",{"text":844,"config":845},"Agentic AI",{"href":846,"dataGaName":847,"dataGaLocation":731},"/topics/agentic-ai/","agentic ai",{"title":849,"links":850},"Solutions",[851,853,855,860,864,867,871,874,876,879,882,887],{"text":381,"config":852},{"href":376,"dataGaName":381,"dataGaLocation":731},{"text":370,"config":854},{"href":353,"dataGaName":354,"dataGaLocation":731},{"text":856,"config":857},"Agile development",{"href":858,"dataGaName":859,"dataGaLocation":731},"/solutions/agile-delivery/","agile delivery",{"text":861,"config":862},"SCM",{"href":366,"dataGaName":863,"dataGaLocation":731},"source code management",{"text":810,"config":865},{"href":359,"dataGaName":866,"dataGaLocation":731},"continuous integration & delivery",{"text":868,"config":869},"Value stream management",{"href":409,"dataGaName":870,"dataGaLocation":731},"value stream management",{"text":815,"config":872},{"href":873,"dataGaName":818,"dataGaLocation":731},"/solutions/gitops/",{"text":419,"config":875},{"href":422,"dataGaName":423,"dataGaLocation":731},{"text":877,"config":878},"Small business",{"href":428,"dataGaName":429,"dataGaLocation":731},{"text":880,"config":881},"Public sector",{"href":434,"dataGaName":435,"dataGaLocation":731},{"text":883,"config":884},"Education",{"href":885,"dataGaName":886,"dataGaLocation":731},"/solutions/education/","education",{"text":888,"config":889},"Financial services",{"href":890,"dataGaName":891,"dataGaLocation":731},"/solutions/finance/","financial services",{"title":442,"links":893},[894,896,898,900,903,905,908,910,912,914,916,918,920,922],{"text":455,"config":895},{"href":457,"dataGaName":458,"dataGaLocation":731},{"text":460,"config":897},{"href":462,"dataGaName":463,"dataGaLocation":731},{"text":465,"config":899},{"href":467,"dataGaName":468,"dataGaLocation":731},{"text":470,"config":901},{"href":472,"dataGaName":902,"dataGaLocation":731},"docs",{"text":493,"config":904},{"href":495,"dataGaName":496,"dataGaLocation":731},{"text":906,"config":907},"What's new",{"href":553,"dataGaName":554,"dataGaLocation":731},{"text":488,"config":909},{"href":490,"dataGaName":491,"dataGaLocation":731},{"text":507,"config":911},{"href":509,"dataGaName":510,"dataGaLocation":731},{"text":515,"config":913},{"href":517,"dataGaName":518,"dataGaLocation":731},{"text":520,"config":915},{"href":522,"dataGaName":523,"dataGaLocation":731},{"text":525,"config":917},{"href":527,"dataGaName":528,"dataGaLocation":731},{"text":530,"config":919},{"href":532,"dataGaName":533,"dataGaLocation":731},{"text":535,"config":921},{"href":537,"dataGaName":538,"dataGaLocation":731},{"text":540,"config":923},{"href":542,"dataGaName":543,"dataGaLocation":731},{"title":556,"links":925},[926,928,930,932,934,936,940,945,947,949,951],{"text":564,"config":927},{"href":566,"dataGaName":558,"dataGaLocation":731},{"text":569,"config":929},{"href":571,"dataGaName":572,"dataGaLocation":731},{"text":577,"config":931},{"href":579,"dataGaName":580,"dataGaLocation":731},{"text":582,"config":933},{"href":584,"dataGaName":585,"dataGaLocation":731},{"text":587,"config":935},{"href":589,"dataGaName":590,"dataGaLocation":731},{"text":937,"config":938},"Sustainability",{"href":939,"dataGaName":937,"dataGaLocation":731},"/sustainability/",{"text":941,"config":942},"Diversity, inclusion and belonging (DIB)",{"href":943,"dataGaName":944,"dataGaLocation":731},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":592,"config":946},{"href":594,"dataGaName":595,"dataGaLocation":731},{"text":602,"config":948},{"href":604,"dataGaName":605,"dataGaLocation":731},{"text":607,"config":950},{"href":609,"dataGaName":610,"dataGaLocation":731},{"text":952,"config":953},"Modern Slavery Transparency Statement",{"href":954,"dataGaName":955,"dataGaLocation":731},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":957},[958,961,964],{"text":959,"config":960},"Terms",{"href":783,"dataGaName":784,"dataGaLocation":731},{"text":962,"config":963},"Cookies",{"dataGaName":793,"dataGaLocation":731,"id":794,"isOneTrustButton":271},{"text":965,"config":966},"Privacy",{"href":788,"dataGaName":789,"dataGaLocation":731},[968],{"id":969,"title":970,"body":267,"config":971,"content":973,"description":267,"extension":977,"meta":978,"navigation":271,"path":979,"seo":980,"stem":981,"__hash__":982},"blogAuthors/en-us/blog/authors/gustaw-fit-of-zoopla.yml","Gustaw Fit Of Zoopla",{"template":972},"BlogAuthor",{"name":7,"config":974},{"headshot":975,"ctfId":976},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","Gustaw-Fit-of-Zoopla","yml",{},"/en-us/blog/authors/gustaw-fit-of-zoopla",{},"en-us/blog/authors/gustaw-fit-of-zoopla","f6ARBc_MouVik7se91pDCEM5FGjivtdIX3K6OWrcfQc",[984,992,1000],{"title":985,"description":986,"heroImage":987,"category":263,"date":988,"authors":989,"slug":991,"externalUrl":267},"How we overhauled GitLab navigation","Users weren't getting what they needed from our navigation. Here are the steps we took to turn that experience around.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682884/Blog/Hero%20Images/navigation.jpg","2023-08-15",[990],"Ashley Knobloch","navigation-research-blog-post",{"title":993,"description":994,"heroImage":995,"category":263,"date":996,"authors":997,"slug":999,"externalUrl":267},"Beautifying our UI: Giving GitLab build features a fresh look","Get an inside look at how we are improving the usability of GitLab build features with multiple visual design improvements.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682807/Blog/Hero%20Images/beautify.jpg","2023-07-05",[998],"Veethika Mishra","beautifying-of-our-ui",{"title":1001,"description":1002,"heroImage":1003,"category":263,"date":1004,"authors":1005,"slug":1007,"externalUrl":267},"4 best practices leading orgs to release software faster","GitLab's 2023 Global DevSecOps Survey illuminates the strategies that organizations deploying more frequently have in common.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663908/Blog/Hero%20Images/2023-devsecops-report-blog-banner2.png","2023-06-08",[1006],"Kristina Weis","best-practices-leading-orgs-to-release-software-faster",{"promotions":1009},[1010,1024,1036,1048],{"id":1011,"categories":1012,"header":1014,"text":1015,"button":1016,"image":1021},"ai-modernization",[1013],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":1017,"config":1018},"Get your AI maturity score",{"href":1019,"dataGaName":1020,"dataGaLocation":496},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":1022},{"src":1023},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1025,"categories":1026,"header":1028,"text":1015,"button":1029,"image":1033},"devops-modernization",[1027,832],"product","Are you just managing tools or shipping innovation?",{"text":1030,"config":1031},"Get your DevOps maturity score",{"href":1032,"dataGaName":1020,"dataGaLocation":496},"/assessments/devops-modernization-assessment/",{"config":1034},{"src":1035},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1037,"categories":1038,"header":1040,"text":1015,"button":1041,"image":1045},"security-modernization",[1039],"security","Are you trading speed for security?",{"text":1042,"config":1043},"Get your security maturity score",{"href":1044,"dataGaName":1020,"dataGaLocation":496},"/assessments/security-modernization-assessment/",{"config":1046},{"src":1047},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1049,"paths":1050,"header":1053,"text":1054,"button":1055,"image":1060},"github-azure-migration",[1051,1052],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Is your team ready for GitHub's Azure move?","GitHub is already rebuilding around Azure. Find out what it means for you.",{"text":1056,"config":1057},"See how GitLab compares to GitHub",{"href":1058,"dataGaName":1059,"dataGaLocation":496},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1061},{"src":1035},{"header":1063,"blurb":1064,"button":1065,"secondaryButton":1070},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1066,"config":1067},"Get your free trial",{"href":1068,"dataGaName":295,"dataGaLocation":1069},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":769,"config":1071},{"href":621,"dataGaName":300,"dataGaLocation":1069},1786803735355]