[{"data":1,"prerenderedAt":1147},["ShallowReactive",2],{"/blog/cycle-analytics-feature-highlight":3,"navigation-en-us":363,"banner-en-us":789,"footer-en-us":799,"blog-post-authors-en-us-Amara Nwaigwe":1044,"blog-related-posts-en-us-cycle-analytics-feature-highlight":1059,"blog-promotions-en-us":1083,"next-steps-en-us":1137},{"id":4,"title":5,"authors":6,"body":8,"category":325,"date":326,"description":327,"extension":328,"externalUrl":329,"faq":329,"featured":330,"heroImage":331,"meta":332,"navigation":353,"path":354,"seo":355,"slug":359,"stem":360,"tags":329,"template":361,"updatedDate":329,"__hash__":362},"blogPosts/en-us/blog/cycle-analytics-feature-highlight.md","Feature Highlight: Cycle Analytics",[7],"Amara Nwaigwe",{"type":9,"value":10,"toc":316},"minimark",[11,32,35,44,47,52,65,69,76,85,180,191,195,198,268,276,280,293,296,300,312],[12,13,14,15,21,22,26,27,31],"p",{},"On September 22nd, we will release ",[16,17,20],"a",{"href":18,"rel":19},"https://docs.gitlab.com/releases/",[],"GitLab 8.12"," with ",[16,23,25],{"href":24},"/solutions/value-stream-management/","Cycle Analytics",". Cycle Analytics tells you how long it takes your team to go ",[16,28,30],{"href":29},"/blog/continuous-integration-delivery-and-deployment-with-gitlab/#from-idea-to-production-with-gitlab","from idea to production"," on each of their projects.",[12,33,34],{},"Few teams can answer how long their software projects take and fewer can answer how long each stage in the process takes. Without this information,\nyou do your best to estimate the time or level of effort that it will take to get from an idea to customer-ready code.",[12,36,37,38,43],{},"Unfortunately, most teams are flying blind on their estimates using past experiences and best guesses to offer a semblance of how long it’ll take to complete a project. It’s no wonder ",[16,39,42],{"href":40,"rel":41},"http://www.innoarchitech.com/why-software-development-time-estimation-does-not-work-alternative-approaches/",[],"why estimates are often incorrect",".",[12,45,46],{},"We built Cycle Analytics to stop blind estimation and instead show you\nreal data on your team’s velocity. You'll see how long the total process takes as well as how much time you spend in each stage.",[48,49,51],"h2",{"id":50},"why-cycle-analytics-recap","Why Cycle Analytics Recap",[12,53,54,55,59,60,64],{},"Last week, we wrote a \"feature preview\" on ",[16,56,58],{"href":57},"/blog/feature-preview-introducing-cycle-analytics/","what Cycle Analytics is and how it can help your team",". The TL;DR takeaway from that post was: ",[61,62,63],"strong",{},"reducing cycle time is a competitive advantage",". Cycle Analytics helps you uncover how long it actually takes to complete your development process.\nA shared view of the team's velocity is the first stage to improving it.",[48,66,68],{"id":67},"measuring-the-modern-development-lifecycle","Measuring the Modern Development Lifecycle",[12,70,71],{},[72,73],"img",{"alt":74,"src":75},"FROM IDEA TO PRODUCTION IN 10 STEPS","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398557/blog/Content%20Images/idea-to-production-10-steps.png",[12,77,78,79,84],{},"Cycle Analytics tracks the ",[16,80,83],{"href":81,"rel":82},"https://www.mathsisfun.com/definitions/median.html",[],"median"," time it takes your team to complete every stage in the modern development process.",[86,87,91,96],"div",{"className":88},[89,90],"panel","panel-gitlab-purple",[12,92,93],{},[61,94,95],{},"Cycle Analytics Stages",[86,97,100,107,114,120,125,131,136,142,147,153,158,164,169,175],{"className":98},[99],"panel-body",[12,101,102,103,106],{},"- ",[61,104,105],{},"Issue"," (Tracker)",[108,109,110],"ul",{},[111,112,113],"li",{},"Median time from creating an issue to assigning the issue to a milestone or adding the issue to a list on your Issue Board",[12,115,102,116,119],{},[61,117,118],{},"Plan"," (Board)",[108,121,122],{},[111,123,124],{},"Median time from giving an issue a milestone or adding it to an Issue Board list to the pushing first commit",[12,126,102,127,130],{},[61,128,129],{},"Code"," (IDE)",[108,132,133],{},[111,134,135],{},"Median time from the first commit to creating the merge request",[12,137,102,138,141],{},[61,139,140],{},"Test"," (CI)",[108,143,144],{},[111,145,146],{},"Median of the time CI takes to run every build for the related merge request",[12,148,102,149,152],{},[61,150,151],{},"Review"," (Merge Request)",[108,154,155],{},[111,156,157],{},"Median time from creating the merge request to merging it",[12,159,102,160,163],{},[61,161,162],{},"Staging"," (Continuous Deployment)",[108,165,166],{},[111,167,168],{},"Median time from MR merge until deploy to production",[12,170,102,171,174],{},[61,172,173],{},"Production"," (Total)",[108,176,177],{},[111,178,179],{},"The time it takes between creating an issue and deploying the code to production",[12,181,182,185,186,43],{},[61,183,184],{},"Note:"," This the first iteration of Cycle Analytics. As you know, we ship the smallest thing to provide initial value and then we learn from your feedback and continue to improve the feature over time. We have ideas about what we will build next for Cycle Analytics but we'd love to hear your thoughts. You can follow and contribute to the discussion on ",[16,187,190],{"href":188,"rel":189},"https://gitlab.com/gitlab-org/gitlab-ce/issues/20975",[],"this issue",[48,192,194],{"id":193},"cycle-analytics-follows-gitlab-flow","Cycle Analytics Follows GitLab Flow",[12,196,197],{},"In recent months, we've talked a lot about our vision of being an integrated set of tools for the full software development lifecycle. Cycle Analytics is another testament to the benefits of having an integrated toolset.\nThe reason we are able to measure cycle time is because GitLab stores all of the data around your development efforts, and the associated metrics, in one central data store. Now, we're able to surface that data through Cycle Analytics.\nHowever, it's important to note that Cycle Analytics tracks cycle time based on the GitLab Flow. Therefore, there are some noteworthy dependencies.",[86,199,202,207],{"className":200},[89,201],"panel-gitlab",[12,203,204],{},[61,205,206],{},"Cycle Analytics & GitLab Flow",[86,208,210],{"className":209},[99],[108,211,212,218,239,258],{},[111,213,214,215],{},"Cycle Analytics is a measure of how long it takes the team to complete the cycle. Therefore, we only track cycle time on issues that have been ",[61,216,217],{},"deployed to production.",[111,219,220,221,233,234,43],{},"Cycle Analytics uses your GitLab CI configuration file to understand which ",[16,222,225,229,230],{"href":223,"rel":224},"https://docs.gitlab.com/ci/environments/#sts=Introduction",[],[226,227,228],"code",{},"environment"," is set to ",[226,231,232],{},"production",". For Cycle Analytics to track your cycle time, you'll need to ",[16,235,238],{"href":236,"rel":237},"https://docs.gitlab.com/ci/quick_start/",[],"configure GitLab CI",[111,240,241,242,244,245,249,250,253,254,257],{},"The ",[61,243,118],{}," stage measures the time from assigning an issue to a milestone or moving it to a list on the Issue Board to pushing the first commit. For Cycle Analytics to track this time, your commit message must include the ",[246,247,248],"span",{},"issue closing pattern"," like ",[226,251,252],{},"Closes #xxx",", where ",[226,255,256],{},"xxx"," is the issue number related to this commit.",[111,259,241,260,262,263,249,265,267],{},[61,261,129],{}," stage measures the time between pushing the first commit and creating a merge request (MR) related to that commit. For Cycle Analytics to track this, you’ll need to add an ",[246,264,248],{},[226,266,252],{}," to the description of the MR.",[12,269,270,271,275],{},"We recognize that every team does not follow the same flow. And while GitLab is a flexible product, we are also building an opinionated product that’s aimed at helping you move faster from idea to production. Our CEO, Sid Sijbrandij, shared his thoughts on ",[16,272,274],{"href":273},"/topics/version-control/what-are-gitlab-flow-best-practices/","GitLab Workflow best practices",". We hope that they help simplify your workflow within GitLab.",[48,277,279],{"id":278},"getting-started","Getting Started",[12,281,282,283,285,286,289,290,292],{},"On September 22nd, ",[16,284,25],{"href":24}," will be available in GitLab.com, GitLab Community Edition, and GitLab Enterprise Edition. Getting started is the same in all three products. All you have to do is navigate to your Project’s ",[61,287,288],{},"Pipelines"," tab and then select ",[61,291,25],{}," to see your project's dashboard.",[12,294,295],{},"Keep in mind that if you're working in a new project and you haven't deployed anything to production then you won't see any data on your Cycle Analytics dashboard.",[48,297,299],{"id":298},"join-our-release-webcast","Join Our Release Webcast",[12,301,302,303,306,307,43],{},"Join us on September 29th for our Cycle Analytics and ",[16,304,20],{"href":18,"rel":305},[]," Release Webcast. We'll demo some exciting new features and hold a Q&A. ",[16,308,311],{"href":309,"rel":310},"https://Page.gitlab.com/20160922_CycleAnalyticsWebcast.html",[],"Register here",[313,314,315],"style",{},"\n.panel-gitlab {\n  border-color: rgba(252,163,38,.3);\n}\n.panel-gitlab > .panel-heading {\n  color: rgb(226,67,41);\n  background-color: rgba(252,163,38,.3);\n  border-color: rgba(252,163,38,.3);\n}\n.panel-gitlab-purple {\n  border-color: rgba(107,79,187,.3);\n}\n.panel-gitlab-purple > .panel-heading {\n  color: rgb(107,79,187);\n  background-color: rgba(107,79,187,.3);\n  border-color: rgba(107,79,187,.3);\n}\n",{"title":317,"searchDepth":318,"depth":318,"links":319},"",2,[320,321,322,323,324],{"id":50,"depth":318,"text":51},{"id":67,"depth":318,"text":68},{"id":193,"depth":318,"text":194},{"id":278,"depth":318,"text":279},{"id":298,"depth":318,"text":299},"company","2016-09-21","See how GitLab's Cycle Analytics can help measure your team's velocity.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749683605/Blog/Hero%20Images/cycle-analytics-feature-highlight-cover.png",{"excerpt":333},{"type":9,"value":334},[335,344,346,351],[12,336,14,337,21,340,26,342,31],{},[16,338,20],{"href":18,"rel":339},[],[16,341,25],{"href":24},[16,343,30],{"href":29},[12,345,34],{},[12,347,37,348,43],{},[16,349,42],{"href":40,"rel":350},[],[12,352,46],{},true,"/en-us/blog/cycle-analytics-feature-highlight",{"title":5,"description":327,"ogTitle":5,"ogDescription":327,"noIndex":330,"ogImage":331,"ogUrl":356,"ogSiteName":357,"ogType":358,"canonicalUrls":356},"https://about.gitlab.com/blog/cycle-analytics-feature-highlight","https://about.gitlab.com","article","cycle-analytics-feature-highlight","en-us/blog/cycle-analytics-feature-highlight","BlogPost","OB7DtmJaGfY47sVh-xmimv1ZcDgxduwPSK1odVpC7FU",{"logo":364,"freeTrial":369,"sales":374,"login":379,"items":384,"search":709,"minimal":740,"duo":759,"switchNav":768,"pricingDeployment":779},{"config":365},{"href":366,"dataGaName":367,"dataGaLocation":368},"/","gitlab logo","header",{"text":370,"config":371},"Get free trial",{"href":372,"dataGaName":373,"dataGaLocation":368},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":375,"config":376},"Request a demo",{"href":377,"dataGaName":378,"dataGaLocation":368},"/sales/?contact-topic=request-demo","sales",{"text":380,"config":381},"Sign in",{"href":382,"dataGaName":383,"dataGaLocation":368},"https://gitlab.com/users/sign_in/","sign in",[385,414,513,518,632,687],{"text":386,"config":387,"menu":389},"Platform",{"dataNavLevelOne":388},"platform",{"type":390,"columns":391},"cards",[392,398,406],{"title":386,"description":393,"link":394},"The intelligent orchestration platform for DevSecOps",{"text":395,"config":396},"Explore our Platform",{"href":397,"dataGaName":388,"dataGaLocation":368},"/platform/",{"title":399,"description":400,"link":401},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":402,"config":403},"Meet GitLab Duo",{"href":404,"dataGaName":405,"dataGaLocation":368},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":407,"description":408,"link":409},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":410,"config":411},"Learn more",{"href":412,"dataGaName":413,"dataGaLocation":368},"/why-gitlab/","why gitlab",{"text":415,"left":353,"config":416,"menu":418},"Product",{"dataNavLevelOne":417},"solutions",{"type":419,"link":420,"columns":424,"feature":492},"lists",{"text":421,"config":422},"View all Solutions",{"href":423,"dataGaName":417,"dataGaLocation":368},"/solutions/",[425,449,472],{"title":426,"description":427,"link":428,"items":433},"Automation","CI/CD and automation to accelerate deployment",{"config":429},{"icon":430,"href":431,"dataGaName":432,"dataGaLocation":368},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[434,438,441,445],{"text":435,"config":436},"CI/CD",{"href":437,"dataGaLocation":368,"dataGaName":435},"/solutions/continuous-integration/",{"text":399,"config":439},{"href":404,"dataGaLocation":368,"dataGaName":440},"gitlab duo agent platform - product menu",{"text":442,"config":443},"Source Code Management",{"href":444,"dataGaLocation":368,"dataGaName":442},"/solutions/source-code-management/",{"text":446,"config":447},"Automated Software Delivery",{"href":431,"dataGaLocation":368,"dataGaName":448},"Automated software delivery",{"title":450,"description":451,"link":452,"items":457},"Security","Deliver code faster without compromising security",{"config":453},{"href":454,"dataGaName":455,"dataGaLocation":368,"icon":456},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[458,462,467],{"text":459,"config":460},"Application Security Testing",{"href":454,"dataGaName":461,"dataGaLocation":368},"Application security testing",{"text":463,"config":464},"Software Supply Chain Security",{"href":465,"dataGaLocation":368,"dataGaName":466},"/solutions/supply-chain/","Software supply chain security",{"text":468,"config":469},"Software Compliance",{"href":470,"dataGaName":471,"dataGaLocation":368},"/solutions/software-compliance/","software compliance",{"title":473,"link":474,"items":479},"Measurement",{"config":475},{"icon":476,"href":477,"dataGaName":478,"dataGaLocation":368},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[480,484,487],{"text":481,"config":482},"Visibility & Measurement",{"href":477,"dataGaLocation":368,"dataGaName":483},"Visibility and Measurement",{"text":485,"config":486},"Value Stream Management",{"href":24,"dataGaLocation":368,"dataGaName":485},{"text":488,"config":489},"Analytics & Insights",{"href":490,"dataGaLocation":368,"dataGaName":491},"/solutions/analytics-and-insights/","Analytics and insights",{"title":493,"type":419,"items":494},"GitLab for",[495,501,507],{"text":496,"config":497},"Enterprise",{"icon":498,"href":499,"dataGaLocation":368,"dataGaName":500},"Building","/enterprise/","enterprise",{"text":502,"config":503},"Small Business",{"icon":504,"href":505,"dataGaLocation":368,"dataGaName":506},"Work","/small-business/","small business",{"text":508,"config":509},"Public Sector",{"icon":510,"href":511,"dataGaLocation":368,"dataGaName":512},"Organization","/solutions/public-sector/","public sector",{"text":514,"config":515},"Pricing",{"href":516,"dataGaName":517,"dataGaLocation":368,"dataNavLevelOne":517},"/pricing/","pricing",{"text":519,"config":520,"menu":522},"Resources",{"dataNavLevelOne":521},"resources",{"type":419,"link":523,"columns":527,"feature":621},{"text":524,"config":525},"View all resources",{"href":526,"dataGaName":521,"dataGaLocation":368},"/resources/",[528,561,588],{"title":529,"items":530},"Getting started",[531,536,541,546,551,556],{"text":532,"config":533},"Install",{"href":534,"dataGaName":535,"dataGaLocation":368},"/install/","install",{"text":537,"config":538},"Quick start guides",{"href":539,"dataGaName":540,"dataGaLocation":368},"/get-started/","quick setup checklists",{"text":542,"config":543},"Learn",{"href":544,"dataGaLocation":368,"dataGaName":545},"https://university.gitlab.com/","learn",{"text":547,"config":548},"Product documentation",{"href":549,"dataGaName":550,"dataGaLocation":368},"https://docs.gitlab.com/","product documentation",{"text":552,"config":553},"Best practice videos",{"href":554,"dataGaName":555,"dataGaLocation":368},"/getting-started-videos/","best practice videos",{"text":557,"config":558},"Integrations",{"href":559,"dataGaName":560,"dataGaLocation":368},"/integrations/","integrations",{"title":562,"items":563},"Discover",[564,569,574,579,583],{"text":565,"config":566},"Customer success stories",{"href":567,"dataGaName":568,"dataGaLocation":368},"/customers/","customer success stories",{"text":570,"config":571},"Blog",{"href":572,"dataGaName":573,"dataGaLocation":368},"/blog/","blog",{"text":575,"config":576},"Demo Hub",{"href":577,"dataGaName":578,"dataGaLocation":368},"/demo-hub/","demo hub",{"text":580,"config":581},"The Source",{"href":582,"dataGaName":573,"dataGaLocation":368},"/the-source/",{"text":584,"config":585},"Remote",{"href":586,"dataGaName":587,"dataGaLocation":368},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":589,"items":590},"Connect",[591,596,601,606,611,616],{"text":592,"config":593},"GitLab Services",{"href":594,"dataGaName":595,"dataGaLocation":368},"/services/","services",{"text":597,"config":598},"Contribute",{"href":599,"dataGaName":600,"dataGaLocation":368},"https://contributors.gitlab.com","contribute",{"text":602,"config":603},"Community",{"href":604,"dataGaName":605,"dataGaLocation":368},"/community/","community",{"text":607,"config":608},"Forum",{"href":609,"dataGaName":610,"dataGaLocation":368},"https://forum.gitlab.com/","forum",{"text":612,"config":613},"Events",{"href":614,"dataGaName":615,"dataGaLocation":368},"/events/","events",{"text":617,"config":618},"Partners",{"href":619,"dataGaName":620,"dataGaLocation":368},"/partners/","partners",{"config":622,"title":625,"text":626,"link":627},{"background":623,"textColor":624},"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":628,"config":629},"Read the latest",{"href":630,"dataGaName":631,"dataGaLocation":368},"/whats-new/","whats new",{"text":633,"config":634,"menu":635},"Company",{"dataNavLevelOne":325},{"type":419,"columns":636},[637],{"items":638},[639,644,650,652,657,662,667,672,677,682],{"text":640,"config":641},"About",{"href":642,"dataGaName":643,"dataGaLocation":368},"/company/","about",{"text":645,"config":646,"footerGa":649},"Jobs",{"href":647,"dataGaName":648,"dataGaLocation":368},"/jobs/","jobs",{"dataGaName":648},{"text":612,"config":651},{"href":614,"dataGaName":615,"dataGaLocation":368},{"text":653,"config":654},"Leadership",{"href":655,"dataGaName":656,"dataGaLocation":368},"/company/team/e-group/","leadership",{"text":658,"config":659},"Handbook",{"href":660,"dataGaName":661,"dataGaLocation":368},"https://handbook.gitlab.com/","handbook",{"text":663,"config":664},"Investor relations",{"href":665,"dataGaName":666,"dataGaLocation":368},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":668,"config":669},"Trust Center",{"href":670,"dataGaName":671,"dataGaLocation":368},"/security/","trust center",{"text":673,"config":674},"AI Transparency Center",{"href":675,"dataGaName":676,"dataGaLocation":368},"/ai-transparency-center/","ai transparency center",{"text":678,"config":679},"Newsletter",{"href":680,"dataGaName":681,"dataGaLocation":368},"/company/contact/#contact-forms","newsletter",{"text":683,"config":684},"Press",{"href":685,"dataGaName":686,"dataGaLocation":368},"/press/","press",{"text":688,"config":689,"menu":690},"Contact us",{"dataNavLevelOne":325},{"type":419,"columns":691},[692],{"items":693},[694,699,704],{"text":695,"config":696},"Talk to sales",{"href":697,"dataGaName":698,"dataGaLocation":368},"/sales/","talk to sales",{"text":700,"config":701},"Support portal",{"href":702,"dataGaName":703,"dataGaLocation":368},"https://support.gitlab.com/hc/en-us","support portal",{"text":705,"config":706},"Customer portal",{"href":707,"dataGaName":708,"dataGaLocation":368},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":710,"login":711,"suggestions":718},"Close",{"text":712,"link":713},"To search repositories and projects, login to",{"text":714,"config":715},"gitlab.com",{"href":382,"dataGaName":716,"dataGaLocation":717},"search login","search",{"text":719,"default":720},"Suggestions",[721,723,727,729,733,737],{"text":399,"config":722},{"href":404,"dataGaName":399,"dataGaLocation":717},{"text":724,"config":725},"Code Suggestions (AI)",{"href":726,"dataGaName":724,"dataGaLocation":717},"/solutions/code-suggestions/",{"text":435,"config":728},{"href":437,"dataGaName":435,"dataGaLocation":717},{"text":730,"config":731},"GitLab on AWS",{"href":732,"dataGaName":730,"dataGaLocation":717},"/partners/technology-partners/aws/",{"text":734,"config":735},"GitLab on Google Cloud",{"href":736,"dataGaName":734,"dataGaLocation":717},"/partners/technology-partners/google-cloud-platform/",{"text":738,"config":739},"Why GitLab?",{"href":412,"dataGaName":738,"dataGaLocation":717},{"freeTrial":741,"mobileIcon":746,"desktopIcon":751,"secondaryButton":754},{"text":742,"config":743},"Start free trial",{"href":744,"dataGaName":373,"dataGaLocation":745},"https://gitlab.com/-/trials/new/","nav",{"altText":747,"config":748},"Gitlab Icon",{"src":749,"dataGaName":750,"dataGaLocation":745},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":747,"config":752},{"src":753,"dataGaName":750,"dataGaLocation":745},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":755,"config":756},"Get Started",{"href":757,"dataGaName":758,"dataGaLocation":745},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":760,"mobileIcon":764,"desktopIcon":766},{"text":761,"config":762},"Learn more about GitLab Duo",{"href":404,"dataGaName":763,"dataGaLocation":745},"gitlab duo",{"altText":747,"config":765},{"src":749,"dataGaName":750,"dataGaLocation":745},{"altText":747,"config":767},{"src":753,"dataGaName":750,"dataGaLocation":745},{"button":769,"mobileIcon":774,"desktopIcon":776},{"text":770,"config":771},"/switch",{"href":772,"dataGaName":773,"dataGaLocation":745},"#contact","switch",{"altText":747,"config":775},{"src":749,"dataGaName":750,"dataGaLocation":745},{"altText":747,"config":777},{"src":778,"dataGaName":750,"dataGaLocation":745},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":780,"mobileIcon":785,"desktopIcon":787},{"text":781,"config":782},"Back to pricing",{"href":516,"dataGaName":783,"dataGaLocation":745,"icon":784},"back to pricing","GoBack",{"altText":747,"config":786},{"src":749,"dataGaName":750,"dataGaLocation":745},{"altText":747,"config":788},{"src":753,"dataGaName":750,"dataGaLocation":745},{"title":790,"titleMobile":791,"button":792,"config":797},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":410,"config":793},{"href":794,"dataGaName":795,"dataGaLocation":796},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":798,"disabled":330},"release",{"data":800},{"text":801,"source":802,"edit":808,"contribute":813,"config":818,"items":823,"minimal":1033},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":803,"config":804},"View page source",{"href":805,"dataGaName":806,"dataGaLocation":807},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":809,"config":810},"Edit this page",{"href":811,"dataGaName":812,"dataGaLocation":807},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":814,"config":815},"Please contribute",{"href":816,"dataGaName":817,"dataGaLocation":807},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":819,"facebook":820,"youtube":821,"linkedin":822},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[824,871,925,969,1001],{"title":514,"links":825,"subMenu":840},[826,830,835],{"text":827,"config":828},"View plans",{"href":516,"dataGaName":829,"dataGaLocation":807},"view plans",{"text":831,"config":832},"Why Premium?",{"href":833,"dataGaName":834,"dataGaLocation":807},"/pricing/premium/","why premium",{"text":836,"config":837},"Why Ultimate?",{"href":838,"dataGaName":839,"dataGaLocation":807},"/pricing/ultimate/","why ultimate",[841],{"title":842,"links":843},"Contact Us",[844,847,849,851,856,861,866],{"text":845,"config":846},"Contact sales",{"href":697,"dataGaName":378,"dataGaLocation":807},{"text":700,"config":848},{"href":702,"dataGaName":703,"dataGaLocation":807},{"text":705,"config":850},{"href":707,"dataGaName":708,"dataGaLocation":807},{"text":852,"config":853},"Status",{"href":854,"dataGaName":855,"dataGaLocation":807},"https://status.gitlab.com/","status",{"text":857,"config":858},"Terms of use",{"href":859,"dataGaName":860,"dataGaLocation":807},"/terms/","terms of use",{"text":862,"config":863},"Privacy statement",{"href":864,"dataGaName":865,"dataGaLocation":807},"/privacy/","privacy statement",{"text":867,"config":868},"Cookie preferences",{"dataGaName":869,"dataGaLocation":807,"id":870,"isOneTrustButton":353},"cookie preferences","ot-sdk-btn",{"title":415,"links":872,"subMenu":881},[873,877],{"text":874,"config":875},"DevSecOps platform",{"href":397,"dataGaName":876,"dataGaLocation":807},"devsecops platform",{"text":878,"config":879},"AI-Assisted Development",{"href":404,"dataGaName":880,"dataGaLocation":807},"ai-assisted development",[882],{"title":883,"links":884},"Topics",[885,890,895,900,905,910,915,920],{"text":886,"config":887},"CICD",{"href":888,"dataGaName":889,"dataGaLocation":807},"/topics/ci-cd/","cicd",{"text":891,"config":892},"GitOps",{"href":893,"dataGaName":894,"dataGaLocation":807},"/topics/gitops/","gitops",{"text":896,"config":897},"DevOps",{"href":898,"dataGaName":899,"dataGaLocation":807},"/topics/devops/","devops",{"text":901,"config":902},"Version Control",{"href":903,"dataGaName":904,"dataGaLocation":807},"/topics/version-control/","version control",{"text":906,"config":907},"DevSecOps",{"href":908,"dataGaName":909,"dataGaLocation":807},"/topics/devsecops/","devsecops",{"text":911,"config":912},"Cloud Native",{"href":913,"dataGaName":914,"dataGaLocation":807},"/topics/cloud-native/","cloud native",{"text":916,"config":917},"AI for Coding",{"href":918,"dataGaName":919,"dataGaLocation":807},"/topics/devops/ai-for-coding/","ai for coding",{"text":921,"config":922},"Agentic AI",{"href":923,"dataGaName":924,"dataGaLocation":807},"/topics/agentic-ai/","agentic ai",{"title":926,"links":927},"Solutions",[928,930,932,937,941,944,948,951,953,956,959,964],{"text":459,"config":929},{"href":454,"dataGaName":459,"dataGaLocation":807},{"text":448,"config":931},{"href":431,"dataGaName":432,"dataGaLocation":807},{"text":933,"config":934},"Agile development",{"href":935,"dataGaName":936,"dataGaLocation":807},"/solutions/agile-delivery/","agile delivery",{"text":938,"config":939},"SCM",{"href":444,"dataGaName":940,"dataGaLocation":807},"source code management",{"text":886,"config":942},{"href":437,"dataGaName":943,"dataGaLocation":807},"continuous integration & delivery",{"text":945,"config":946},"Value stream management",{"href":24,"dataGaName":947,"dataGaLocation":807},"value stream management",{"text":891,"config":949},{"href":950,"dataGaName":894,"dataGaLocation":807},"/solutions/gitops/",{"text":496,"config":952},{"href":499,"dataGaName":500,"dataGaLocation":807},{"text":954,"config":955},"Small business",{"href":505,"dataGaName":506,"dataGaLocation":807},{"text":957,"config":958},"Public sector",{"href":511,"dataGaName":512,"dataGaLocation":807},{"text":960,"config":961},"Education",{"href":962,"dataGaName":963,"dataGaLocation":807},"/solutions/education/","education",{"text":965,"config":966},"Financial services",{"href":967,"dataGaName":968,"dataGaLocation":807},"/solutions/finance/","financial services",{"title":519,"links":970},[971,973,975,977,980,982,985,987,989,991,993,995,997,999],{"text":532,"config":972},{"href":534,"dataGaName":535,"dataGaLocation":807},{"text":537,"config":974},{"href":539,"dataGaName":540,"dataGaLocation":807},{"text":542,"config":976},{"href":544,"dataGaName":545,"dataGaLocation":807},{"text":547,"config":978},{"href":549,"dataGaName":979,"dataGaLocation":807},"docs",{"text":570,"config":981},{"href":572,"dataGaName":573,"dataGaLocation":807},{"text":983,"config":984},"What's new",{"href":630,"dataGaName":631,"dataGaLocation":807},{"text":565,"config":986},{"href":567,"dataGaName":568,"dataGaLocation":807},{"text":584,"config":988},{"href":586,"dataGaName":587,"dataGaLocation":807},{"text":592,"config":990},{"href":594,"dataGaName":595,"dataGaLocation":807},{"text":597,"config":992},{"href":599,"dataGaName":600,"dataGaLocation":807},{"text":602,"config":994},{"href":604,"dataGaName":605,"dataGaLocation":807},{"text":607,"config":996},{"href":609,"dataGaName":610,"dataGaLocation":807},{"text":612,"config":998},{"href":614,"dataGaName":615,"dataGaLocation":807},{"text":617,"config":1000},{"href":619,"dataGaName":620,"dataGaLocation":807},{"title":633,"links":1002},[1003,1005,1007,1009,1011,1013,1017,1022,1024,1026,1028],{"text":640,"config":1004},{"href":642,"dataGaName":325,"dataGaLocation":807},{"text":645,"config":1006},{"href":647,"dataGaName":648,"dataGaLocation":807},{"text":653,"config":1008},{"href":655,"dataGaName":656,"dataGaLocation":807},{"text":658,"config":1010},{"href":660,"dataGaName":661,"dataGaLocation":807},{"text":663,"config":1012},{"href":665,"dataGaName":666,"dataGaLocation":807},{"text":1014,"config":1015},"Sustainability",{"href":1016,"dataGaName":1014,"dataGaLocation":807},"/sustainability/",{"text":1018,"config":1019},"Diversity, inclusion and belonging (DIB)",{"href":1020,"dataGaName":1021,"dataGaLocation":807},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":668,"config":1023},{"href":670,"dataGaName":671,"dataGaLocation":807},{"text":678,"config":1025},{"href":680,"dataGaName":681,"dataGaLocation":807},{"text":683,"config":1027},{"href":685,"dataGaName":686,"dataGaLocation":807},{"text":1029,"config":1030},"Modern Slavery Transparency Statement",{"href":1031,"dataGaName":1032,"dataGaLocation":807},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1034},[1035,1038,1041],{"text":1036,"config":1037},"Terms",{"href":859,"dataGaName":860,"dataGaLocation":807},{"text":1039,"config":1040},"Cookies",{"dataGaName":869,"dataGaLocation":807,"id":870,"isOneTrustButton":353},{"text":1042,"config":1043},"Privacy",{"href":864,"dataGaName":865,"dataGaLocation":807},[1045],{"id":1046,"title":7,"body":329,"config":1047,"content":1049,"description":329,"extension":1053,"meta":1054,"navigation":353,"path":1055,"seo":1056,"stem":1057,"__hash__":1058},"blogAuthors/en-us/blog/authors/amara-nwaigwe.yml",{"template":1048},"BlogAuthor",{"name":7,"config":1050},{"headshot":1051,"ctfId":1052},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","Amara-Nwaigwe","yml",{},"/en-us/blog/authors/amara-nwaigwe",{},"en-us/blog/authors/amara-nwaigwe","cLEakoyT_oUW-RcvSjPO-nlQn2X2f1nXKRP_eTkeO9k",[1060,1068,1075],{"title":1061,"description":1062,"heroImage":1063,"category":325,"date":1064,"authors":1065,"slug":1067,"externalUrl":329},"Why GitLab signed the Open Weights and American AI Leadership letter","GitLab supports customer choice, data privacy, and AI model neutrality, empowering teams to run secure, cost-effective, local solutions.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1785333264/ww4mlighwlvvzgnmbe6w.png","2026-07-29",[1066],"Bill Staples","open-weight-model-letter",{"title":1069,"description":1070,"heroImage":1071,"category":325,"date":1072,"authors":1073,"slug":1074,"externalUrl":329},"GitLab Act 2","A letter to our customers and our investors.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776362275/ozbwn9tk0dditpnfddlz.png","2026-05-11",[1066],"gitlab-act-2",{"title":1076,"description":1077,"heroImage":1078,"category":325,"date":1079,"authors":1080,"slug":1082,"externalUrl":329},"GitLab named a 2026 Omdia Universe Leader","Omdia's 2026 report on AI-assisted software development ranked 19 vendors. Here is what GitLab's top scores mean for engineering teams.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-04-13",[1081],"Rebecca Carter","gitlab-named-a-2026-omdia-universe-leader",{"promotions":1084},[1085,1099,1111,1123],{"id":1086,"categories":1087,"header":1089,"text":1090,"button":1091,"image":1096},"ai-modernization",[1088],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":1092,"config":1093},"Get your AI maturity score",{"href":1094,"dataGaName":1095,"dataGaLocation":573},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":1097},{"src":1098},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1100,"categories":1101,"header":1103,"text":1090,"button":1104,"image":1108},"devops-modernization",[1102,909],"product","Are you just managing tools or shipping innovation?",{"text":1105,"config":1106},"Get your DevOps maturity score",{"href":1107,"dataGaName":1095,"dataGaLocation":573},"/assessments/devops-modernization-assessment/",{"config":1109},{"src":1110},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1112,"categories":1113,"header":1115,"text":1090,"button":1116,"image":1120},"security-modernization",[1114],"security","Are you trading speed for security?",{"text":1117,"config":1118},"Get your security maturity score",{"href":1119,"dataGaName":1095,"dataGaLocation":573},"/assessments/security-modernization-assessment/",{"config":1121},{"src":1122},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1124,"paths":1125,"header":1128,"text":1129,"button":1130,"image":1135},"github-azure-migration",[1126,1127],"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":1131,"config":1132},"See how GitLab compares to GitHub",{"href":1133,"dataGaName":1134,"dataGaLocation":573},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1136},{"src":1110},{"header":1138,"blurb":1139,"button":1140,"secondaryButton":1145},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1141,"config":1142},"Get your free trial",{"href":1143,"dataGaName":373,"dataGaLocation":1144},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":845,"config":1146},{"href":697,"dataGaName":378,"dataGaLocation":1144},1786803758559]