[{"data":1,"prerenderedAt":1008},["ShallowReactive",2],{"/blog/epics-roadmap":3,"navigation-en-us":224,"banner-en-us":650,"footer-en-us":660,"blog-post-authors-en-us-Victor Wu":905,"blog-related-posts-en-us-epics-roadmap":920,"blog-promotions-en-us":944,"next-steps-en-us":998},{"id":4,"title":5,"authors":6,"body":8,"category":200,"date":201,"description":202,"extension":203,"externalUrl":204,"faq":204,"featured":205,"heroImage":206,"meta":207,"navigation":208,"path":209,"seo":210,"slug":215,"stem":216,"tags":217,"template":222,"updatedDate":204,"__hash__":223},"blogPosts/en-us/blog/epics-roadmap.md","Coming in 11.3: Seamless top-down and bottom-up planning with epics and roadmap",[7],"Victor Wu",{"type":9,"value":10,"toc":190},"minimark",[11,36,41,78,87,119,123,126,131,144,148,171,177],[12,13,14,20,21,26,27,20,31,35],"p",{},[15,16,19],"a",{"href":17,"rel":18},"https://docs.gitlab.com/user/group/epics/",[],"Epics"," and ",[15,22,25],{"href":23,"rel":24},"https://docs.gitlab.com/user/group/roadmap/",[],"roadmap","\nare two newer features in ",[15,28,30],{"href":29},"/pricing/","GitLab Ultimate",[15,32,34],{"href":33},"/pricing/#gitlab-com","GitLab.com Gold",". Used together, your team can plan and track larger initiatives. On September 22, we're shipping a new feature which we will help you transition seamlessly between top-down and bottom-up planning.",[37,38,40],"h2",{"id":39},"first-things-first-epics-vs-issues-vs-roadmap","First things first: epics vs. issues vs. roadmap",[12,42,43,44,49,50,55,56,61,62,67,68,73,74,77],{},"An epic is similar to an ",[15,45,48],{"href":46,"rel":47},"https://docs.gitlab.com/user/project/issues/",[],"issue"," in that it records a proposed scope of work to be done, allows for team members to discuss that scope, and then is tracked and updated over time as that work is actually implemented.\nHowever, an epic exists at the ",[15,51,54],{"href":52,"rel":53},"https://docs.gitlab.com/user/group/",[],"group"," level (as opposed to an issue, which exists at the ",[15,57,60],{"href":58,"rel":59},"https://docs.gitlab.com/user/project/",[],"project"," level). So immediately you see that an epic is designed to reflect a larger scope, and higher level of discussion compared to an issue. Additionally, you can ",[15,63,66],{"href":64,"rel":65},"https://docs.gitlab.com/api/epic_issues/#assign-an-issue-to-the-epic",[],"attach any number of issues to an epic",", with the idea that the epic's scope decomposes into those individual issues.\n",[69,70],"img",{"alt":71,"src":72},"epic","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398221/blog/Content%20Images/epic-view.png","\nSince an epic is designed to scope work over a longer period of time (several issues' worth), a timeline-based view in the form of a ",[15,75,25],{"href":23,"rel":76},[],"\nis also useful: it serves as a visualization to anticipate that work, and track it as it's progressively completed. So the roadmap, also scoped at the group level, presents all the epics in time for that group.",[12,79,80,81,86],{},"You can apply ",[15,82,85],{"href":83,"rel":84},"https://docs.gitlab.com/user/project/labels/#project-labels-and-group-labels",[],"group labels","\nto epics, making it easy to quickly narrow down to the epics you care about, whether you are looking at a list view or a roadmap view.",[88,89,90,103],"table",{},[91,92,93],"thead",{},[94,95,96,100],"tr",{},[97,98,99],"th",{},"Epics list",[97,101,102],{},"Roadmap",[104,105,106],"tbody",{},[94,107,108,114],{},[109,110,111],"td",{},[69,112],{"alt":25,"src":113},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398220/blog/Content%20Images/epic-list-view.png",[109,115,116],{},[69,117],{"alt":25,"src":118},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398968/blog/Content%20Images/roadmap-view.png",[37,120,122],{"id":121},"long-term-vs-short-term-planning","Long-term vs short-term planning",[12,124,125],{},"When planning any initiative, uncertainty, by definition, increases further out in the future. You don't know how many resources you will have. You don't know if previous dependent work will be finished. You don't know if the market and your customers will change such that you won't even need that planned out initiative at all.\nConversely, the nearer-term future is much more certain. You have a good handle of the work that should be accomplished and that it can be completed within the next few weeks, up to a month or so.\nAnd of course, the work you are doing now, and have already completed in the past, has zero uncertainty. You can't change the past.\nEpics and roadmap help you plan and track work in all these cases:",[127,128,130],"h3",{"id":129},"long-term-future-top-down-planning","Long-term future: top-down planning",[12,132,133,134,138,139,143],{},"When planning far in the future, we use ",[135,136,137],"em",{},"top-down planning",". We have strategic initiatives that we want to achieve, with approximate scope and timelines. So in this case, you would create an epic, and assign ",[140,141,142],"code",{},"Fixed"," dates (a planned start date and planned finish date) to it.\nThe epic would appear in the roadmap view, and you would be able to see it positioned further in the future.\nThis helps high-level planning, such as starting discussions with various departments in your organizations, or presenting a strategic roadmap to your executive leadership. By creating the epic early on, it provides a collaborative space for all stakeholders to discuss feasibility and further detailed ideas.",[127,145,147],{"id":146},"short-term-future-bottom-up-planning","Short-term future: bottom-up planning",[12,149,150,151,154,155,158,159,164,165,170],{},"When planning for the nearer-term future, we use ",[135,152,153],{},"bottom-up"," planning. So suppose the epic you created previously with fixed dates has gained some traction within your organization.\nPeople are excited about the prospects and want to flesh out detailed designs and implementation steps. You and your team would then start creating issues and attach them to the epic.\nEventually, you have scoped out the detailed work in the issues and even assigned milestones to them, indicating when they are planned to be worked on. Now, instead of having to manually update the epic to reflect the milestone dates, you would simply choose ",[140,156,157],{},"From milestones"," in the epic sidebar. In this case, the epic planned start date becomes a dynamic date reflecting the earliest start date across all the epic's assigned milestones. The same goes for the epic's planned end date too.\nThis functionality is coming in GitLab 11.3 – you can ",[15,160,163],{"href":161,"rel":162},"https://gitlab.com/gitlab-org/gitlab-ee/issues/6470",[],"view the original issue here",".\nAdditionally, the ",[15,166,169],{"href":167,"rel":168},"https://gitlab.com/gitlab-org/gitlab-ee/issues/6471",[],"roadmap bar edges will reflect the fixed or dynamic start and end dates"," accordingly.",[12,172,173],{},[69,174],{"alt":175,"src":176},"inherited-dates","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398578/blog/Content%20Images/inherited-dates.png",[12,178,179,180,185,186],{},"So with this design, you are in control when you want to seamlessly transition an epic from a top-down planning scenario, to a bottom-up one. The roadmap reflects these dates automatically too, so that all your epics are shown together in one view.\nPhoto by ",[15,181,184],{"href":182,"rel":183},"https://unsplash.com/photos/ewZkOqjl2Ys?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText",[],"Christopher Machicoane-Hurtaud"," on ",[15,187,189],{"href":182,"rel":188},[],"Unsplash",{"title":191,"searchDepth":192,"depth":192,"links":193},"",2,[194,195],{"id":39,"depth":192,"text":40},{"id":121,"depth":192,"text":122,"children":196},[197,199],{"id":129,"depth":198,"text":130},3,{"id":146,"depth":198,"text":147},"company","2018-08-23","See how you can plan and track larger initiatives even more easily with milestone dates integrated into epics.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749672146/Blog/Hero%20Images/epics-issues-milestones-planning.jpg",{},true,"/en-us/blog/epics-roadmap",{"title":211,"description":202,"ogTitle":211,"ogDescription":202,"noIndex":205,"ogImage":206,"ogUrl":212,"ogSiteName":213,"ogType":214,"canonicalUrls":212},"Coming in 11.3: Seamless planning with epics & roadmap","https://about.gitlab.com/blog/epics-roadmap","https://about.gitlab.com","article","epics-roadmap","en-us/blog/epics-roadmap",[218,219,220,221],"agile","features","inside GitLab","workflow","BlogPost","996gWotA82dpkkTaGivirdSjukKgJ36qw-UZRKD2A68",{"logo":225,"freeTrial":230,"sales":235,"login":240,"items":245,"search":570,"minimal":601,"duo":620,"switchNav":629,"pricingDeployment":640},{"config":226},{"href":227,"dataGaName":228,"dataGaLocation":229},"/","gitlab logo","header",{"text":231,"config":232},"Get free trial",{"href":233,"dataGaName":234,"dataGaLocation":229},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":236,"config":237},"Request a demo",{"href":238,"dataGaName":239,"dataGaLocation":229},"/sales/?contact-topic=request-demo","sales",{"text":241,"config":242},"Sign in",{"href":243,"dataGaName":244,"dataGaLocation":229},"https://gitlab.com/users/sign_in/","sign in",[246,275,375,379,493,548],{"text":247,"config":248,"menu":250},"Platform",{"dataNavLevelOne":249},"platform",{"type":251,"columns":252},"cards",[253,259,267],{"title":247,"description":254,"link":255},"The intelligent orchestration platform for DevSecOps",{"text":256,"config":257},"Explore our Platform",{"href":258,"dataGaName":249,"dataGaLocation":229},"/platform/",{"title":260,"description":261,"link":262},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":263,"config":264},"Meet GitLab Duo",{"href":265,"dataGaName":266,"dataGaLocation":229},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":268,"description":269,"link":270},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":271,"config":272},"Learn more",{"href":273,"dataGaName":274,"dataGaLocation":229},"/why-gitlab/","why gitlab",{"text":276,"left":208,"config":277,"menu":279},"Product",{"dataNavLevelOne":278},"solutions",{"type":280,"link":281,"columns":285,"feature":354},"lists",{"text":282,"config":283},"View all Solutions",{"href":284,"dataGaName":278,"dataGaLocation":229},"/solutions/",[286,310,333],{"title":287,"description":288,"link":289,"items":294},"Automation","CI/CD and automation to accelerate deployment",{"config":290},{"icon":291,"href":292,"dataGaName":293,"dataGaLocation":229},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[295,299,302,306],{"text":296,"config":297},"CI/CD",{"href":298,"dataGaLocation":229,"dataGaName":296},"/solutions/continuous-integration/",{"text":260,"config":300},{"href":265,"dataGaLocation":229,"dataGaName":301},"gitlab duo agent platform - product menu",{"text":303,"config":304},"Source Code Management",{"href":305,"dataGaLocation":229,"dataGaName":303},"/solutions/source-code-management/",{"text":307,"config":308},"Automated Software Delivery",{"href":292,"dataGaLocation":229,"dataGaName":309},"Automated software delivery",{"title":311,"description":312,"link":313,"items":318},"Security","Deliver code faster without compromising security",{"config":314},{"href":315,"dataGaName":316,"dataGaLocation":229,"icon":317},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[319,323,328],{"text":320,"config":321},"Application Security Testing",{"href":315,"dataGaName":322,"dataGaLocation":229},"Application security testing",{"text":324,"config":325},"Software Supply Chain Security",{"href":326,"dataGaLocation":229,"dataGaName":327},"/solutions/supply-chain/","Software supply chain security",{"text":329,"config":330},"Software Compliance",{"href":331,"dataGaName":332,"dataGaLocation":229},"/solutions/software-compliance/","software compliance",{"title":334,"link":335,"items":340},"Measurement",{"config":336},{"icon":337,"href":338,"dataGaName":339,"dataGaLocation":229},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[341,345,349],{"text":342,"config":343},"Visibility & Measurement",{"href":338,"dataGaLocation":229,"dataGaName":344},"Visibility and Measurement",{"text":346,"config":347},"Value Stream Management",{"href":348,"dataGaLocation":229,"dataGaName":346},"/solutions/value-stream-management/",{"text":350,"config":351},"Analytics & Insights",{"href":352,"dataGaLocation":229,"dataGaName":353},"/solutions/analytics-and-insights/","Analytics and insights",{"title":355,"type":280,"items":356},"GitLab for",[357,363,369],{"text":358,"config":359},"Enterprise",{"icon":360,"href":361,"dataGaLocation":229,"dataGaName":362},"Building","/enterprise/","enterprise",{"text":364,"config":365},"Small Business",{"icon":366,"href":367,"dataGaLocation":229,"dataGaName":368},"Work","/small-business/","small business",{"text":370,"config":371},"Public Sector",{"icon":372,"href":373,"dataGaLocation":229,"dataGaName":374},"Organization","/solutions/public-sector/","public sector",{"text":376,"config":377},"Pricing",{"href":29,"dataGaName":378,"dataGaLocation":229,"dataNavLevelOne":378},"pricing",{"text":380,"config":381,"menu":383},"Resources",{"dataNavLevelOne":382},"resources",{"type":280,"link":384,"columns":388,"feature":482},{"text":385,"config":386},"View all resources",{"href":387,"dataGaName":382,"dataGaLocation":229},"/resources/",[389,422,449],{"title":390,"items":391},"Getting started",[392,397,402,407,412,417],{"text":393,"config":394},"Install",{"href":395,"dataGaName":396,"dataGaLocation":229},"/install/","install",{"text":398,"config":399},"Quick start guides",{"href":400,"dataGaName":401,"dataGaLocation":229},"/get-started/","quick setup checklists",{"text":403,"config":404},"Learn",{"href":405,"dataGaLocation":229,"dataGaName":406},"https://university.gitlab.com/","learn",{"text":408,"config":409},"Product documentation",{"href":410,"dataGaName":411,"dataGaLocation":229},"https://docs.gitlab.com/","product documentation",{"text":413,"config":414},"Best practice videos",{"href":415,"dataGaName":416,"dataGaLocation":229},"/getting-started-videos/","best practice videos",{"text":418,"config":419},"Integrations",{"href":420,"dataGaName":421,"dataGaLocation":229},"/integrations/","integrations",{"title":423,"items":424},"Discover",[425,430,435,440,444],{"text":426,"config":427},"Customer success stories",{"href":428,"dataGaName":429,"dataGaLocation":229},"/customers/","customer success stories",{"text":431,"config":432},"Blog",{"href":433,"dataGaName":434,"dataGaLocation":229},"/blog/","blog",{"text":436,"config":437},"Demo Hub",{"href":438,"dataGaName":439,"dataGaLocation":229},"/demo-hub/","demo hub",{"text":441,"config":442},"The Source",{"href":443,"dataGaName":434,"dataGaLocation":229},"/the-source/",{"text":445,"config":446},"Remote",{"href":447,"dataGaName":448,"dataGaLocation":229},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":450,"items":451},"Connect",[452,457,462,467,472,477],{"text":453,"config":454},"GitLab Services",{"href":455,"dataGaName":456,"dataGaLocation":229},"/services/","services",{"text":458,"config":459},"Contribute",{"href":460,"dataGaName":461,"dataGaLocation":229},"https://contributors.gitlab.com","contribute",{"text":463,"config":464},"Community",{"href":465,"dataGaName":466,"dataGaLocation":229},"/community/","community",{"text":468,"config":469},"Forum",{"href":470,"dataGaName":471,"dataGaLocation":229},"https://forum.gitlab.com/","forum",{"text":473,"config":474},"Events",{"href":475,"dataGaName":476,"dataGaLocation":229},"/events/","events",{"text":478,"config":479},"Partners",{"href":480,"dataGaName":481,"dataGaLocation":229},"/partners/","partners",{"config":483,"title":486,"text":487,"link":488},{"background":484,"textColor":485},"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":489,"config":490},"Read the latest",{"href":491,"dataGaName":492,"dataGaLocation":229},"/whats-new/","whats new",{"text":494,"config":495,"menu":496},"Company",{"dataNavLevelOne":200},{"type":280,"columns":497},[498],{"items":499},[500,505,511,513,518,523,528,533,538,543],{"text":501,"config":502},"About",{"href":503,"dataGaName":504,"dataGaLocation":229},"/company/","about",{"text":506,"config":507,"footerGa":510},"Jobs",{"href":508,"dataGaName":509,"dataGaLocation":229},"/jobs/","jobs",{"dataGaName":509},{"text":473,"config":512},{"href":475,"dataGaName":476,"dataGaLocation":229},{"text":514,"config":515},"Leadership",{"href":516,"dataGaName":517,"dataGaLocation":229},"/company/team/e-group/","leadership",{"text":519,"config":520},"Handbook",{"href":521,"dataGaName":522,"dataGaLocation":229},"https://handbook.gitlab.com/","handbook",{"text":524,"config":525},"Investor relations",{"href":526,"dataGaName":527,"dataGaLocation":229},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":529,"config":530},"Trust Center",{"href":531,"dataGaName":532,"dataGaLocation":229},"/security/","trust center",{"text":534,"config":535},"AI Transparency Center",{"href":536,"dataGaName":537,"dataGaLocation":229},"/ai-transparency-center/","ai transparency center",{"text":539,"config":540},"Newsletter",{"href":541,"dataGaName":542,"dataGaLocation":229},"/company/contact/#contact-forms","newsletter",{"text":544,"config":545},"Press",{"href":546,"dataGaName":547,"dataGaLocation":229},"/press/","press",{"text":549,"config":550,"menu":551},"Contact us",{"dataNavLevelOne":200},{"type":280,"columns":552},[553],{"items":554},[555,560,565],{"text":556,"config":557},"Talk to sales",{"href":558,"dataGaName":559,"dataGaLocation":229},"/sales/","talk to sales",{"text":561,"config":562},"Support portal",{"href":563,"dataGaName":564,"dataGaLocation":229},"https://support.gitlab.com/hc/en-us","support portal",{"text":566,"config":567},"Customer portal",{"href":568,"dataGaName":569,"dataGaLocation":229},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":571,"login":572,"suggestions":579},"Close",{"text":573,"link":574},"To search repositories and projects, login to",{"text":575,"config":576},"gitlab.com",{"href":243,"dataGaName":577,"dataGaLocation":578},"search login","search",{"text":580,"default":581},"Suggestions",[582,584,588,590,594,598],{"text":260,"config":583},{"href":265,"dataGaName":260,"dataGaLocation":578},{"text":585,"config":586},"Code Suggestions (AI)",{"href":587,"dataGaName":585,"dataGaLocation":578},"/solutions/code-suggestions/",{"text":296,"config":589},{"href":298,"dataGaName":296,"dataGaLocation":578},{"text":591,"config":592},"GitLab on AWS",{"href":593,"dataGaName":591,"dataGaLocation":578},"/partners/technology-partners/aws/",{"text":595,"config":596},"GitLab on Google Cloud",{"href":597,"dataGaName":595,"dataGaLocation":578},"/partners/technology-partners/google-cloud-platform/",{"text":599,"config":600},"Why GitLab?",{"href":273,"dataGaName":599,"dataGaLocation":578},{"freeTrial":602,"mobileIcon":607,"desktopIcon":612,"secondaryButton":615},{"text":603,"config":604},"Start free trial",{"href":605,"dataGaName":234,"dataGaLocation":606},"https://gitlab.com/-/trials/new/","nav",{"altText":608,"config":609},"Gitlab Icon",{"src":610,"dataGaName":611,"dataGaLocation":606},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":608,"config":613},{"src":614,"dataGaName":611,"dataGaLocation":606},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":616,"config":617},"Get Started",{"href":618,"dataGaName":619,"dataGaLocation":606},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":621,"mobileIcon":625,"desktopIcon":627},{"text":622,"config":623},"Learn more about GitLab Duo",{"href":265,"dataGaName":624,"dataGaLocation":606},"gitlab duo",{"altText":608,"config":626},{"src":610,"dataGaName":611,"dataGaLocation":606},{"altText":608,"config":628},{"src":614,"dataGaName":611,"dataGaLocation":606},{"button":630,"mobileIcon":635,"desktopIcon":637},{"text":631,"config":632},"/switch",{"href":633,"dataGaName":634,"dataGaLocation":606},"#contact","switch",{"altText":608,"config":636},{"src":610,"dataGaName":611,"dataGaLocation":606},{"altText":608,"config":638},{"src":639,"dataGaName":611,"dataGaLocation":606},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":641,"mobileIcon":646,"desktopIcon":648},{"text":642,"config":643},"Back to pricing",{"href":29,"dataGaName":644,"dataGaLocation":606,"icon":645},"back to pricing","GoBack",{"altText":608,"config":647},{"src":610,"dataGaName":611,"dataGaLocation":606},{"altText":608,"config":649},{"src":614,"dataGaName":611,"dataGaLocation":606},{"title":651,"titleMobile":652,"button":653,"config":658},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":271,"config":654},{"href":655,"dataGaName":656,"dataGaLocation":657},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":659,"disabled":205},"release",{"data":661},{"text":662,"source":663,"edit":669,"contribute":674,"config":679,"items":684,"minimal":894},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":664,"config":665},"View page source",{"href":666,"dataGaName":667,"dataGaLocation":668},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":670,"config":671},"Edit this page",{"href":672,"dataGaName":673,"dataGaLocation":668},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":675,"config":676},"Please contribute",{"href":677,"dataGaName":678,"dataGaLocation":668},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":680,"facebook":681,"youtube":682,"linkedin":683},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[685,732,786,830,862],{"title":376,"links":686,"subMenu":701},[687,691,696],{"text":688,"config":689},"View plans",{"href":29,"dataGaName":690,"dataGaLocation":668},"view plans",{"text":692,"config":693},"Why Premium?",{"href":694,"dataGaName":695,"dataGaLocation":668},"/pricing/premium/","why premium",{"text":697,"config":698},"Why Ultimate?",{"href":699,"dataGaName":700,"dataGaLocation":668},"/pricing/ultimate/","why ultimate",[702],{"title":703,"links":704},"Contact Us",[705,708,710,712,717,722,727],{"text":706,"config":707},"Contact sales",{"href":558,"dataGaName":239,"dataGaLocation":668},{"text":561,"config":709},{"href":563,"dataGaName":564,"dataGaLocation":668},{"text":566,"config":711},{"href":568,"dataGaName":569,"dataGaLocation":668},{"text":713,"config":714},"Status",{"href":715,"dataGaName":716,"dataGaLocation":668},"https://status.gitlab.com/","status",{"text":718,"config":719},"Terms of use",{"href":720,"dataGaName":721,"dataGaLocation":668},"/terms/","terms of use",{"text":723,"config":724},"Privacy statement",{"href":725,"dataGaName":726,"dataGaLocation":668},"/privacy/","privacy statement",{"text":728,"config":729},"Cookie preferences",{"dataGaName":730,"dataGaLocation":668,"id":731,"isOneTrustButton":208},"cookie preferences","ot-sdk-btn",{"title":276,"links":733,"subMenu":742},[734,738],{"text":735,"config":736},"DevSecOps platform",{"href":258,"dataGaName":737,"dataGaLocation":668},"devsecops platform",{"text":739,"config":740},"AI-Assisted Development",{"href":265,"dataGaName":741,"dataGaLocation":668},"ai-assisted development",[743],{"title":744,"links":745},"Topics",[746,751,756,761,766,771,776,781],{"text":747,"config":748},"CICD",{"href":749,"dataGaName":750,"dataGaLocation":668},"/topics/ci-cd/","cicd",{"text":752,"config":753},"GitOps",{"href":754,"dataGaName":755,"dataGaLocation":668},"/topics/gitops/","gitops",{"text":757,"config":758},"DevOps",{"href":759,"dataGaName":760,"dataGaLocation":668},"/topics/devops/","devops",{"text":762,"config":763},"Version Control",{"href":764,"dataGaName":765,"dataGaLocation":668},"/topics/version-control/","version control",{"text":767,"config":768},"DevSecOps",{"href":769,"dataGaName":770,"dataGaLocation":668},"/topics/devsecops/","devsecops",{"text":772,"config":773},"Cloud Native",{"href":774,"dataGaName":775,"dataGaLocation":668},"/topics/cloud-native/","cloud native",{"text":777,"config":778},"AI for Coding",{"href":779,"dataGaName":780,"dataGaLocation":668},"/topics/devops/ai-for-coding/","ai for coding",{"text":782,"config":783},"Agentic AI",{"href":784,"dataGaName":785,"dataGaLocation":668},"/topics/agentic-ai/","agentic ai",{"title":787,"links":788},"Solutions",[789,791,793,798,802,805,809,812,814,817,820,825],{"text":320,"config":790},{"href":315,"dataGaName":320,"dataGaLocation":668},{"text":309,"config":792},{"href":292,"dataGaName":293,"dataGaLocation":668},{"text":794,"config":795},"Agile development",{"href":796,"dataGaName":797,"dataGaLocation":668},"/solutions/agile-delivery/","agile delivery",{"text":799,"config":800},"SCM",{"href":305,"dataGaName":801,"dataGaLocation":668},"source code management",{"text":747,"config":803},{"href":298,"dataGaName":804,"dataGaLocation":668},"continuous integration & delivery",{"text":806,"config":807},"Value stream management",{"href":348,"dataGaName":808,"dataGaLocation":668},"value stream management",{"text":752,"config":810},{"href":811,"dataGaName":755,"dataGaLocation":668},"/solutions/gitops/",{"text":358,"config":813},{"href":361,"dataGaName":362,"dataGaLocation":668},{"text":815,"config":816},"Small business",{"href":367,"dataGaName":368,"dataGaLocation":668},{"text":818,"config":819},"Public sector",{"href":373,"dataGaName":374,"dataGaLocation":668},{"text":821,"config":822},"Education",{"href":823,"dataGaName":824,"dataGaLocation":668},"/solutions/education/","education",{"text":826,"config":827},"Financial services",{"href":828,"dataGaName":829,"dataGaLocation":668},"/solutions/finance/","financial services",{"title":380,"links":831},[832,834,836,838,841,843,846,848,850,852,854,856,858,860],{"text":393,"config":833},{"href":395,"dataGaName":396,"dataGaLocation":668},{"text":398,"config":835},{"href":400,"dataGaName":401,"dataGaLocation":668},{"text":403,"config":837},{"href":405,"dataGaName":406,"dataGaLocation":668},{"text":408,"config":839},{"href":410,"dataGaName":840,"dataGaLocation":668},"docs",{"text":431,"config":842},{"href":433,"dataGaName":434,"dataGaLocation":668},{"text":844,"config":845},"What's new",{"href":491,"dataGaName":492,"dataGaLocation":668},{"text":426,"config":847},{"href":428,"dataGaName":429,"dataGaLocation":668},{"text":445,"config":849},{"href":447,"dataGaName":448,"dataGaLocation":668},{"text":453,"config":851},{"href":455,"dataGaName":456,"dataGaLocation":668},{"text":458,"config":853},{"href":460,"dataGaName":461,"dataGaLocation":668},{"text":463,"config":855},{"href":465,"dataGaName":466,"dataGaLocation":668},{"text":468,"config":857},{"href":470,"dataGaName":471,"dataGaLocation":668},{"text":473,"config":859},{"href":475,"dataGaName":476,"dataGaLocation":668},{"text":478,"config":861},{"href":480,"dataGaName":481,"dataGaLocation":668},{"title":494,"links":863},[864,866,868,870,872,874,878,883,885,887,889],{"text":501,"config":865},{"href":503,"dataGaName":200,"dataGaLocation":668},{"text":506,"config":867},{"href":508,"dataGaName":509,"dataGaLocation":668},{"text":514,"config":869},{"href":516,"dataGaName":517,"dataGaLocation":668},{"text":519,"config":871},{"href":521,"dataGaName":522,"dataGaLocation":668},{"text":524,"config":873},{"href":526,"dataGaName":527,"dataGaLocation":668},{"text":875,"config":876},"Sustainability",{"href":877,"dataGaName":875,"dataGaLocation":668},"/sustainability/",{"text":879,"config":880},"Diversity, inclusion and belonging (DIB)",{"href":881,"dataGaName":882,"dataGaLocation":668},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":529,"config":884},{"href":531,"dataGaName":532,"dataGaLocation":668},{"text":539,"config":886},{"href":541,"dataGaName":542,"dataGaLocation":668},{"text":544,"config":888},{"href":546,"dataGaName":547,"dataGaLocation":668},{"text":890,"config":891},"Modern Slavery Transparency Statement",{"href":892,"dataGaName":893,"dataGaLocation":668},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":895},[896,899,902],{"text":897,"config":898},"Terms",{"href":720,"dataGaName":721,"dataGaLocation":668},{"text":900,"config":901},"Cookies",{"dataGaName":730,"dataGaLocation":668,"id":731,"isOneTrustButton":208},{"text":903,"config":904},"Privacy",{"href":725,"dataGaName":726,"dataGaLocation":668},[906],{"id":907,"title":7,"body":204,"config":908,"content":910,"description":204,"extension":914,"meta":915,"navigation":208,"path":916,"seo":917,"stem":918,"__hash__":919},"blogAuthors/en-us/blog/authors/victor-wu.yml",{"template":909},"BlogAuthor",{"name":7,"config":911},{"headshot":912,"ctfId":913},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","victorwu","yml",{},"/en-us/blog/authors/victor-wu",{},"en-us/blog/authors/victor-wu","_RaxCS0f7IbUMauxXuHjiPl8yHoiX4KN9SL3QR_TLuA",[921,929,936],{"title":922,"description":923,"heroImage":924,"category":200,"date":925,"authors":926,"slug":928,"externalUrl":204},"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",[927],"Bill Staples","open-weight-model-letter",{"title":930,"description":931,"heroImage":932,"category":200,"date":933,"authors":934,"slug":935,"externalUrl":204},"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",[927],"gitlab-act-2",{"title":937,"description":938,"heroImage":939,"category":200,"date":940,"authors":941,"slug":943,"externalUrl":204},"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",[942],"Rebecca Carter","gitlab-named-a-2026-omdia-universe-leader",{"promotions":945},[946,960,972,984],{"id":947,"categories":948,"header":950,"text":951,"button":952,"image":957},"ai-modernization",[949],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":953,"config":954},"Get your AI maturity score",{"href":955,"dataGaName":956,"dataGaLocation":434},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":958},{"src":959},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":961,"categories":962,"header":964,"text":951,"button":965,"image":969},"devops-modernization",[963,770],"product","Are you just managing tools or shipping innovation?",{"text":966,"config":967},"Get your DevOps maturity score",{"href":968,"dataGaName":956,"dataGaLocation":434},"/assessments/devops-modernization-assessment/",{"config":970},{"src":971},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":973,"categories":974,"header":976,"text":951,"button":977,"image":981},"security-modernization",[975],"security","Are you trading speed for security?",{"text":978,"config":979},"Get your security maturity score",{"href":980,"dataGaName":956,"dataGaLocation":434},"/assessments/security-modernization-assessment/",{"config":982},{"src":983},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":985,"paths":986,"header":989,"text":990,"button":991,"image":996},"github-azure-migration",[987,988],"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":992,"config":993},"See how GitLab compares to GitHub",{"href":994,"dataGaName":995,"dataGaLocation":434},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":997},{"src":971},{"header":999,"blurb":1000,"button":1001,"secondaryButton":1006},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1002,"config":1003},"Get your free trial",{"href":1004,"dataGaName":234,"dataGaLocation":1005},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":706,"config":1007},{"href":558,"dataGaName":239,"dataGaLocation":1005},1786803766650]