[{"data":1,"prerenderedAt":999},["ShallowReactive",2],{"/blog/inside-our-new-development-team-lead-persona":3,"navigation-en-us":213,"banner-en-us":640,"footer-en-us":650,"blog-post-authors-en-us-Katherine Okpara":895,"blog-related-posts-en-us-inside-our-new-development-team-lead-persona":909,"blog-promotions-en-us":935,"next-steps-en-us":989},{"id":4,"title":5,"authors":6,"body":8,"category":191,"date":192,"description":193,"extension":194,"externalUrl":195,"faq":195,"featured":196,"heroImage":197,"meta":198,"navigation":199,"path":200,"seo":201,"slug":205,"stem":206,"tags":207,"template":211,"updatedDate":195,"__hash__":212},"blogPosts/en-us/blog/inside-our-new-development-team-lead-persona.md","What are the best and worst parts about being a development team lead?",[7],"Katherine Okpara",{"type":9,"value":10,"toc":178},"minimark",[11,39,44,53,56,61,64,69,72,83,87,90,100,104,107,112,116,119,124,128,131,135,138,142,152,156,164],[12,13,14,15,21,22,26,27,32,33,38],"p",{},"Welcome back to our series on the ",[16,17,20],"a",{"href":18,"rel":19},"https://handbook.gitlab.com/handbook/product/personas/",[],"new GitLab personas","! I recently ",[16,23,25],{"href":24},"/blog/inside-our-new-product-manager-persona/","wrote about what we learned from product managers during interviews"," for our ",[16,28,31],{"href":29,"rel":30},"https://gitlab.com/gitlab-org/ux-research/issues/77",[],"UX research project to develop personas"," for all product areas. In this post, I'll share some of the insights from our efforts to better understand development team leads, and introduce the resulting persona, ",[16,34,37],{"href":35,"rel":36},"https://handbook.gitlab.com/handbook/product/personas/#delaney-development-team-lead",[],"Delaney",".",[40,41,43],"h2",{"id":42},"the-research","The research",[12,45,46,47,52],{},"Here are some of the findings from my ",[16,48,51],{"href":49,"rel":50},"https://gitlab.com/gitlab-org/ux-research/issues/95",[],"six interviews"," conducted for the persona.",[12,54,55],{},"Development team leads are often responsible for meeting with product managers and stakeholders to discuss scheduled feature requests, convert concepts into practical solutions, ensure that capacity is properly estimated, and assign work to developers. They are also involved in other duties such as creating design and functional specifications, writing code, documenting and automating processes, and mentoring other developers.",[57,58,60],"h3",{"id":59},"so-whats-the-hardest-part-about-being-a-development-team-lead","So, what’s the hardest part about being a development team lead?",[12,62,63],{},"Due to the nature of their work, the challenges development team leads face often cross into several domains.",[65,66,68],"h4",{"id":67},"vague-requirements-and-poor-communication","Vague requirements and poor communication",[12,70,71],{},"It can be difficult to know the status of certain requirements when other team members don't update the various tools that are being used. Important information can get lost along the way, which often leads to repetitive discussions or fixing incorrect work. Many of the people we spoke with are looking for ways to have this information readily accessible and consistently communicated throughout their teams.",[73,74,75],"blockquote",{},[12,76,77,78,82],{},"\"Sometimes the back and forth can be annoying, when the requirements aren’t clear and I have to go back a step to understand what is going on or a component is not what I wanted. At a previous company, the back and forth was especially drawn out since the team did not work closely together. At ",[79,80,81],"span",{},"my current"," company, this problem isn’t as severe since I work closely with the team and can quickly ask for clarification if I need to. Working more efficiently saves a lot of time.\"",[65,84,86],{"id":85},"difficulty-making-accurate-estimations-of-timeline-and-capacity","Difficulty making accurate estimations of timeline and capacity",[12,88,89],{},"A team lead must have a good understanding of the skillsets available on their team and use this insight to balance business objectives. In order to get a better sense of the experience levels of different team members, they often hold one-on-one meetings or conduct reviews during and after a development cycle.",[73,91,92],{},[12,93,94,95,99],{},"\" ... This goes back to the burndown chart – if it's being used correctly, it can help you see where you’ll end up. In order for that to happen, you need your estimations to be accurate. And in order for ",[96,97,98],"em",{},"that"," to happen you need to figure out the accuracy of the baseline and experience of the developer. For example, someone who is more junior has less of a reference point. I have to assign extra points to stories, if there are unknown variables.\"",[65,101,103],{"id":102},"delivering-on-time","Delivering on time",[12,105,106],{},"When demand surpasses current capacity, it can be stressful to resolve existing problems without creating new issues that result from hasty work. It can also be difficult to explain technical limitations to stakeholders who are not involved in the development process.",[73,108,109],{},[12,110,111],{},"\"Someone might see a code review request but feel conflicted since they only have two days left to finish their own tasks. So sometimes testers and customers are waiting on these code reviews to move forward ... The biggest thing would be having all those tickets, all of those changes, closely correlated with the actual changes in Git. 'For this particular feature, here are all the changes in Git.' You don’t have to read the codebase or fire up the whole application. You have the information all in one place and don’t need to hunt down information.\"",[65,113,115],{"id":114},"changing-mindsets-in-organizations-to-adopt-faster-iterative-approaches","Changing mindsets in organizations to adopt faster, iterative approaches",[12,117,118],{},"Some development teams are slowed down by inefficient toolchains or outdated workflows because their organizations are resistant to change and adopting new practices. Introducing new ideas and methodologies can be an especially complex process in organizations that create products for industries with more restrictions and regulations than others.",[73,120,121],{},[12,122,123],{},"\"Most blockers that arise are put in their own way. I would prefer to iterate while they rather plan everything out for long periods of time. Their own processes get in their way because they don’t think they can move faster. Many of their processes are filled with errors and take days or weeks. They’ve always done things a certain way and are not really willing to make a change.\"",[57,125,127],{"id":126},"what-motivates-a-development-team-lead","What motivates a development team lead?",[12,129,130],{},"One of the biggest goals for many development team leads is the drive to continually optimize processes and deliver value to the product. They must also build a level of communication that enables them to assign tasks to the appropriate people, explain why certain feature requests are or are not feasible, and continue to implement strategic solutions.",[57,132,134],{"id":133},"whats-the-best-part-about-being-a-development-team-lead","What’s the best part about being a development team lead?",[12,136,137],{},"The best part of being a Development Team Lead is problem solving on a variety of levels – from tools to methodologies to team relations and more. When teams are well supported by their leaders and organizations, they are better equipped to meet the expectations that will move both the product and business forward!",[40,139,141],{"id":140},"the-persona","The persona",[12,143,144],{},[16,145,147],{"href":35,"rel":146},[],[148,149],"img",{"alt":150,"src":151},"Delaney, Development Team Lead persona","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398143/blog/Content%20Images/delaney-dev-team-lead-persona.png",[57,153,155],{"id":154},"want-to-share-your-experiences-of-gitlab-with-me","Want to share your experiences of GitLab with me?",[12,157,158,159,163],{},"Join ",[16,160,162],{"href":161},"/community/","GitLab First Look"," and help us build an even better picture of who GitLab’s users really are!",[12,165,166,171,172,177],{},[16,167,170],{"href":168,"rel":169},"https://unsplash.com/photos/atSaEOeE8Nk",[],"Photo"," by ",[16,173,176],{"href":174,"rel":175},"https://unsplash.com/@slelham",[],"Steven Lelham"," on Unsplash",{"title":179,"searchDepth":180,"depth":180,"links":181},"",2,[182,188],{"id":42,"depth":180,"text":43,"children":183},[184,186,187],{"id":59,"depth":185,"text":60},3,{"id":126,"depth":185,"text":127},{"id":133,"depth":185,"text":134},{"id":140,"depth":180,"text":141,"children":189},[190],{"id":154,"depth":185,"text":155},"engineering","2019-01-18","Dev leads, we feel you. Here's a deep dive into our interviews with development team leads, and the new persona they informed.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668224/Blog/Hero%20Images/inside-our-new-development-team-lead-persona.jpg",{},true,"/en-us/blog/inside-our-new-development-team-lead-persona",{"title":5,"description":193,"ogTitle":5,"ogDescription":193,"noIndex":196,"ogImage":197,"ogUrl":202,"ogSiteName":203,"ogType":204,"canonicalUrls":202},"https://about.gitlab.com/blog/inside-our-new-development-team-lead-persona","https://about.gitlab.com","article","inside-our-new-development-team-lead-persona","en-us/blog/inside-our-new-development-team-lead-persona",[208,209,210],"testing","workflow","UX","BlogPost","jPiGKoBJomn1XpkMjvpFh-2UTKSHHQ7SF9yVst3rPYc",{"logo":214,"freeTrial":219,"sales":224,"login":229,"items":234,"search":560,"minimal":591,"duo":610,"switchNav":619,"pricingDeployment":630},{"config":215},{"href":216,"dataGaName":217,"dataGaLocation":218},"/","gitlab logo","header",{"text":220,"config":221},"Get free trial",{"href":222,"dataGaName":223,"dataGaLocation":218},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":225,"config":226},"Request a demo",{"href":227,"dataGaName":228,"dataGaLocation":218},"/sales/?contact-topic=request-demo","sales",{"text":230,"config":231},"Sign in",{"href":232,"dataGaName":233,"dataGaLocation":218},"https://gitlab.com/users/sign_in/","sign in",[235,264,364,369,482,538],{"text":236,"config":237,"menu":239},"Platform",{"dataNavLevelOne":238},"platform",{"type":240,"columns":241},"cards",[242,248,256],{"title":236,"description":243,"link":244},"The intelligent orchestration platform for DevSecOps",{"text":245,"config":246},"Explore our Platform",{"href":247,"dataGaName":238,"dataGaLocation":218},"/platform/",{"title":249,"description":250,"link":251},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":252,"config":253},"Meet GitLab Duo",{"href":254,"dataGaName":255,"dataGaLocation":218},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":257,"description":258,"link":259},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":260,"config":261},"Learn more",{"href":262,"dataGaName":263,"dataGaLocation":218},"/why-gitlab/","why gitlab",{"text":265,"left":199,"config":266,"menu":268},"Product",{"dataNavLevelOne":267},"solutions",{"type":269,"link":270,"columns":274,"feature":343},"lists",{"text":271,"config":272},"View all Solutions",{"href":273,"dataGaName":267,"dataGaLocation":218},"/solutions/",[275,299,322],{"title":276,"description":277,"link":278,"items":283},"Automation","CI/CD and automation to accelerate deployment",{"config":279},{"icon":280,"href":281,"dataGaName":282,"dataGaLocation":218},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[284,288,291,295],{"text":285,"config":286},"CI/CD",{"href":287,"dataGaLocation":218,"dataGaName":285},"/solutions/continuous-integration/",{"text":249,"config":289},{"href":254,"dataGaLocation":218,"dataGaName":290},"gitlab duo agent platform - product menu",{"text":292,"config":293},"Source Code Management",{"href":294,"dataGaLocation":218,"dataGaName":292},"/solutions/source-code-management/",{"text":296,"config":297},"Automated Software Delivery",{"href":281,"dataGaLocation":218,"dataGaName":298},"Automated software delivery",{"title":300,"description":301,"link":302,"items":307},"Security","Deliver code faster without compromising security",{"config":303},{"href":304,"dataGaName":305,"dataGaLocation":218,"icon":306},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[308,312,317],{"text":309,"config":310},"Application Security Testing",{"href":304,"dataGaName":311,"dataGaLocation":218},"Application security testing",{"text":313,"config":314},"Software Supply Chain Security",{"href":315,"dataGaLocation":218,"dataGaName":316},"/solutions/supply-chain/","Software supply chain security",{"text":318,"config":319},"Software Compliance",{"href":320,"dataGaName":321,"dataGaLocation":218},"/solutions/software-compliance/","software compliance",{"title":323,"link":324,"items":329},"Measurement",{"config":325},{"icon":326,"href":327,"dataGaName":328,"dataGaLocation":218},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[330,334,338],{"text":331,"config":332},"Visibility & Measurement",{"href":327,"dataGaLocation":218,"dataGaName":333},"Visibility and Measurement",{"text":335,"config":336},"Value Stream Management",{"href":337,"dataGaLocation":218,"dataGaName":335},"/solutions/value-stream-management/",{"text":339,"config":340},"Analytics & Insights",{"href":341,"dataGaLocation":218,"dataGaName":342},"/solutions/analytics-and-insights/","Analytics and insights",{"title":344,"type":269,"items":345},"GitLab for",[346,352,358],{"text":347,"config":348},"Enterprise",{"icon":349,"href":350,"dataGaLocation":218,"dataGaName":351},"Building","/enterprise/","enterprise",{"text":353,"config":354},"Small Business",{"icon":355,"href":356,"dataGaLocation":218,"dataGaName":357},"Work","/small-business/","small business",{"text":359,"config":360},"Public Sector",{"icon":361,"href":362,"dataGaLocation":218,"dataGaName":363},"Organization","/solutions/public-sector/","public sector",{"text":365,"config":366},"Pricing",{"href":367,"dataGaName":368,"dataGaLocation":218,"dataNavLevelOne":368},"/pricing/","pricing",{"text":370,"config":371,"menu":373},"Resources",{"dataNavLevelOne":372},"resources",{"type":269,"link":374,"columns":378,"feature":471},{"text":375,"config":376},"View all resources",{"href":377,"dataGaName":372,"dataGaLocation":218},"/resources/",[379,412,439],{"title":380,"items":381},"Getting started",[382,387,392,397,402,407],{"text":383,"config":384},"Install",{"href":385,"dataGaName":386,"dataGaLocation":218},"/install/","install",{"text":388,"config":389},"Quick start guides",{"href":390,"dataGaName":391,"dataGaLocation":218},"/get-started/","quick setup checklists",{"text":393,"config":394},"Learn",{"href":395,"dataGaLocation":218,"dataGaName":396},"https://university.gitlab.com/","learn",{"text":398,"config":399},"Product documentation",{"href":400,"dataGaName":401,"dataGaLocation":218},"https://docs.gitlab.com/","product documentation",{"text":403,"config":404},"Best practice videos",{"href":405,"dataGaName":406,"dataGaLocation":218},"/getting-started-videos/","best practice videos",{"text":408,"config":409},"Integrations",{"href":410,"dataGaName":411,"dataGaLocation":218},"/integrations/","integrations",{"title":413,"items":414},"Discover",[415,420,425,430,434],{"text":416,"config":417},"Customer success stories",{"href":418,"dataGaName":419,"dataGaLocation":218},"/customers/","customer success stories",{"text":421,"config":422},"Blog",{"href":423,"dataGaName":424,"dataGaLocation":218},"/blog/","blog",{"text":426,"config":427},"Demo Hub",{"href":428,"dataGaName":429,"dataGaLocation":218},"/demo-hub/","demo hub",{"text":431,"config":432},"The Source",{"href":433,"dataGaName":424,"dataGaLocation":218},"/the-source/",{"text":435,"config":436},"Remote",{"href":437,"dataGaName":438,"dataGaLocation":218},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":440,"items":441},"Connect",[442,447,452,456,461,466],{"text":443,"config":444},"GitLab Services",{"href":445,"dataGaName":446,"dataGaLocation":218},"/services/","services",{"text":448,"config":449},"Contribute",{"href":450,"dataGaName":451,"dataGaLocation":218},"https://contributors.gitlab.com","contribute",{"text":453,"config":454},"Community",{"href":161,"dataGaName":455,"dataGaLocation":218},"community",{"text":457,"config":458},"Forum",{"href":459,"dataGaName":460,"dataGaLocation":218},"https://forum.gitlab.com/","forum",{"text":462,"config":463},"Events",{"href":464,"dataGaName":465,"dataGaLocation":218},"/events/","events",{"text":467,"config":468},"Partners",{"href":469,"dataGaName":470,"dataGaLocation":218},"/partners/","partners",{"config":472,"title":475,"text":476,"link":477},{"background":473,"textColor":474},"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":478,"config":479},"Read the latest",{"href":480,"dataGaName":481,"dataGaLocation":218},"/whats-new/","whats new",{"text":483,"config":484,"menu":486},"Company",{"dataNavLevelOne":485},"company",{"type":269,"columns":487},[488],{"items":489},[490,495,501,503,508,513,518,523,528,533],{"text":491,"config":492},"About",{"href":493,"dataGaName":494,"dataGaLocation":218},"/company/","about",{"text":496,"config":497,"footerGa":500},"Jobs",{"href":498,"dataGaName":499,"dataGaLocation":218},"/jobs/","jobs",{"dataGaName":499},{"text":462,"config":502},{"href":464,"dataGaName":465,"dataGaLocation":218},{"text":504,"config":505},"Leadership",{"href":506,"dataGaName":507,"dataGaLocation":218},"/company/team/e-group/","leadership",{"text":509,"config":510},"Handbook",{"href":511,"dataGaName":512,"dataGaLocation":218},"https://handbook.gitlab.com/","handbook",{"text":514,"config":515},"Investor relations",{"href":516,"dataGaName":517,"dataGaLocation":218},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":519,"config":520},"Trust Center",{"href":521,"dataGaName":522,"dataGaLocation":218},"/security/","trust center",{"text":524,"config":525},"AI Transparency Center",{"href":526,"dataGaName":527,"dataGaLocation":218},"/ai-transparency-center/","ai transparency center",{"text":529,"config":530},"Newsletter",{"href":531,"dataGaName":532,"dataGaLocation":218},"/company/contact/#contact-forms","newsletter",{"text":534,"config":535},"Press",{"href":536,"dataGaName":537,"dataGaLocation":218},"/press/","press",{"text":539,"config":540,"menu":541},"Contact us",{"dataNavLevelOne":485},{"type":269,"columns":542},[543],{"items":544},[545,550,555],{"text":546,"config":547},"Talk to sales",{"href":548,"dataGaName":549,"dataGaLocation":218},"/sales/","talk to sales",{"text":551,"config":552},"Support portal",{"href":553,"dataGaName":554,"dataGaLocation":218},"https://support.gitlab.com/hc/en-us","support portal",{"text":556,"config":557},"Customer portal",{"href":558,"dataGaName":559,"dataGaLocation":218},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":561,"login":562,"suggestions":569},"Close",{"text":563,"link":564},"To search repositories and projects, login to",{"text":565,"config":566},"gitlab.com",{"href":232,"dataGaName":567,"dataGaLocation":568},"search login","search",{"text":570,"default":571},"Suggestions",[572,574,578,580,584,588],{"text":249,"config":573},{"href":254,"dataGaName":249,"dataGaLocation":568},{"text":575,"config":576},"Code Suggestions (AI)",{"href":577,"dataGaName":575,"dataGaLocation":568},"/solutions/code-suggestions/",{"text":285,"config":579},{"href":287,"dataGaName":285,"dataGaLocation":568},{"text":581,"config":582},"GitLab on AWS",{"href":583,"dataGaName":581,"dataGaLocation":568},"/partners/technology-partners/aws/",{"text":585,"config":586},"GitLab on Google Cloud",{"href":587,"dataGaName":585,"dataGaLocation":568},"/partners/technology-partners/google-cloud-platform/",{"text":589,"config":590},"Why GitLab?",{"href":262,"dataGaName":589,"dataGaLocation":568},{"freeTrial":592,"mobileIcon":597,"desktopIcon":602,"secondaryButton":605},{"text":593,"config":594},"Start free trial",{"href":595,"dataGaName":223,"dataGaLocation":596},"https://gitlab.com/-/trials/new/","nav",{"altText":598,"config":599},"Gitlab Icon",{"src":600,"dataGaName":601,"dataGaLocation":596},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":598,"config":603},{"src":604,"dataGaName":601,"dataGaLocation":596},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":606,"config":607},"Get Started",{"href":608,"dataGaName":609,"dataGaLocation":596},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":611,"mobileIcon":615,"desktopIcon":617},{"text":612,"config":613},"Learn more about GitLab Duo",{"href":254,"dataGaName":614,"dataGaLocation":596},"gitlab duo",{"altText":598,"config":616},{"src":600,"dataGaName":601,"dataGaLocation":596},{"altText":598,"config":618},{"src":604,"dataGaName":601,"dataGaLocation":596},{"button":620,"mobileIcon":625,"desktopIcon":627},{"text":621,"config":622},"/switch",{"href":623,"dataGaName":624,"dataGaLocation":596},"#contact","switch",{"altText":598,"config":626},{"src":600,"dataGaName":601,"dataGaLocation":596},{"altText":598,"config":628},{"src":629,"dataGaName":601,"dataGaLocation":596},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":631,"mobileIcon":636,"desktopIcon":638},{"text":632,"config":633},"Back to pricing",{"href":367,"dataGaName":634,"dataGaLocation":596,"icon":635},"back to pricing","GoBack",{"altText":598,"config":637},{"src":600,"dataGaName":601,"dataGaLocation":596},{"altText":598,"config":639},{"src":604,"dataGaName":601,"dataGaLocation":596},{"title":641,"titleMobile":642,"button":643,"config":648},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":260,"config":644},{"href":645,"dataGaName":646,"dataGaLocation":647},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":649,"disabled":196},"release",{"data":651},{"text":652,"source":653,"edit":659,"contribute":664,"config":669,"items":674,"minimal":884},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":654,"config":655},"View page source",{"href":656,"dataGaName":657,"dataGaLocation":658},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":660,"config":661},"Edit this page",{"href":662,"dataGaName":663,"dataGaLocation":658},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":665,"config":666},"Please contribute",{"href":667,"dataGaName":668,"dataGaLocation":658},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":670,"facebook":671,"youtube":672,"linkedin":673},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[675,722,776,820,852],{"title":365,"links":676,"subMenu":691},[677,681,686],{"text":678,"config":679},"View plans",{"href":367,"dataGaName":680,"dataGaLocation":658},"view plans",{"text":682,"config":683},"Why Premium?",{"href":684,"dataGaName":685,"dataGaLocation":658},"/pricing/premium/","why premium",{"text":687,"config":688},"Why Ultimate?",{"href":689,"dataGaName":690,"dataGaLocation":658},"/pricing/ultimate/","why ultimate",[692],{"title":693,"links":694},"Contact Us",[695,698,700,702,707,712,717],{"text":696,"config":697},"Contact sales",{"href":548,"dataGaName":228,"dataGaLocation":658},{"text":551,"config":699},{"href":553,"dataGaName":554,"dataGaLocation":658},{"text":556,"config":701},{"href":558,"dataGaName":559,"dataGaLocation":658},{"text":703,"config":704},"Status",{"href":705,"dataGaName":706,"dataGaLocation":658},"https://status.gitlab.com/","status",{"text":708,"config":709},"Terms of use",{"href":710,"dataGaName":711,"dataGaLocation":658},"/terms/","terms of use",{"text":713,"config":714},"Privacy statement",{"href":715,"dataGaName":716,"dataGaLocation":658},"/privacy/","privacy statement",{"text":718,"config":719},"Cookie preferences",{"dataGaName":720,"dataGaLocation":658,"id":721,"isOneTrustButton":199},"cookie preferences","ot-sdk-btn",{"title":265,"links":723,"subMenu":732},[724,728],{"text":725,"config":726},"DevSecOps platform",{"href":247,"dataGaName":727,"dataGaLocation":658},"devsecops platform",{"text":729,"config":730},"AI-Assisted Development",{"href":254,"dataGaName":731,"dataGaLocation":658},"ai-assisted development",[733],{"title":734,"links":735},"Topics",[736,741,746,751,756,761,766,771],{"text":737,"config":738},"CICD",{"href":739,"dataGaName":740,"dataGaLocation":658},"/topics/ci-cd/","cicd",{"text":742,"config":743},"GitOps",{"href":744,"dataGaName":745,"dataGaLocation":658},"/topics/gitops/","gitops",{"text":747,"config":748},"DevOps",{"href":749,"dataGaName":750,"dataGaLocation":658},"/topics/devops/","devops",{"text":752,"config":753},"Version Control",{"href":754,"dataGaName":755,"dataGaLocation":658},"/topics/version-control/","version control",{"text":757,"config":758},"DevSecOps",{"href":759,"dataGaName":760,"dataGaLocation":658},"/topics/devsecops/","devsecops",{"text":762,"config":763},"Cloud Native",{"href":764,"dataGaName":765,"dataGaLocation":658},"/topics/cloud-native/","cloud native",{"text":767,"config":768},"AI for Coding",{"href":769,"dataGaName":770,"dataGaLocation":658},"/topics/devops/ai-for-coding/","ai for coding",{"text":772,"config":773},"Agentic AI",{"href":774,"dataGaName":775,"dataGaLocation":658},"/topics/agentic-ai/","agentic ai",{"title":777,"links":778},"Solutions",[779,781,783,788,792,795,799,802,804,807,810,815],{"text":309,"config":780},{"href":304,"dataGaName":309,"dataGaLocation":658},{"text":298,"config":782},{"href":281,"dataGaName":282,"dataGaLocation":658},{"text":784,"config":785},"Agile development",{"href":786,"dataGaName":787,"dataGaLocation":658},"/solutions/agile-delivery/","agile delivery",{"text":789,"config":790},"SCM",{"href":294,"dataGaName":791,"dataGaLocation":658},"source code management",{"text":737,"config":793},{"href":287,"dataGaName":794,"dataGaLocation":658},"continuous integration & delivery",{"text":796,"config":797},"Value stream management",{"href":337,"dataGaName":798,"dataGaLocation":658},"value stream management",{"text":742,"config":800},{"href":801,"dataGaName":745,"dataGaLocation":658},"/solutions/gitops/",{"text":347,"config":803},{"href":350,"dataGaName":351,"dataGaLocation":658},{"text":805,"config":806},"Small business",{"href":356,"dataGaName":357,"dataGaLocation":658},{"text":808,"config":809},"Public sector",{"href":362,"dataGaName":363,"dataGaLocation":658},{"text":811,"config":812},"Education",{"href":813,"dataGaName":814,"dataGaLocation":658},"/solutions/education/","education",{"text":816,"config":817},"Financial services",{"href":818,"dataGaName":819,"dataGaLocation":658},"/solutions/finance/","financial services",{"title":370,"links":821},[822,824,826,828,831,833,836,838,840,842,844,846,848,850],{"text":383,"config":823},{"href":385,"dataGaName":386,"dataGaLocation":658},{"text":388,"config":825},{"href":390,"dataGaName":391,"dataGaLocation":658},{"text":393,"config":827},{"href":395,"dataGaName":396,"dataGaLocation":658},{"text":398,"config":829},{"href":400,"dataGaName":830,"dataGaLocation":658},"docs",{"text":421,"config":832},{"href":423,"dataGaName":424,"dataGaLocation":658},{"text":834,"config":835},"What's new",{"href":480,"dataGaName":481,"dataGaLocation":658},{"text":416,"config":837},{"href":418,"dataGaName":419,"dataGaLocation":658},{"text":435,"config":839},{"href":437,"dataGaName":438,"dataGaLocation":658},{"text":443,"config":841},{"href":445,"dataGaName":446,"dataGaLocation":658},{"text":448,"config":843},{"href":450,"dataGaName":451,"dataGaLocation":658},{"text":453,"config":845},{"href":161,"dataGaName":455,"dataGaLocation":658},{"text":457,"config":847},{"href":459,"dataGaName":460,"dataGaLocation":658},{"text":462,"config":849},{"href":464,"dataGaName":465,"dataGaLocation":658},{"text":467,"config":851},{"href":469,"dataGaName":470,"dataGaLocation":658},{"title":483,"links":853},[854,856,858,860,862,864,868,873,875,877,879],{"text":491,"config":855},{"href":493,"dataGaName":485,"dataGaLocation":658},{"text":496,"config":857},{"href":498,"dataGaName":499,"dataGaLocation":658},{"text":504,"config":859},{"href":506,"dataGaName":507,"dataGaLocation":658},{"text":509,"config":861},{"href":511,"dataGaName":512,"dataGaLocation":658},{"text":514,"config":863},{"href":516,"dataGaName":517,"dataGaLocation":658},{"text":865,"config":866},"Sustainability",{"href":867,"dataGaName":865,"dataGaLocation":658},"/sustainability/",{"text":869,"config":870},"Diversity, inclusion and belonging (DIB)",{"href":871,"dataGaName":872,"dataGaLocation":658},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":519,"config":874},{"href":521,"dataGaName":522,"dataGaLocation":658},{"text":529,"config":876},{"href":531,"dataGaName":532,"dataGaLocation":658},{"text":534,"config":878},{"href":536,"dataGaName":537,"dataGaLocation":658},{"text":880,"config":881},"Modern Slavery Transparency Statement",{"href":882,"dataGaName":883,"dataGaLocation":658},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":885},[886,889,892],{"text":887,"config":888},"Terms",{"href":710,"dataGaName":711,"dataGaLocation":658},{"text":890,"config":891},"Cookies",{"dataGaName":720,"dataGaLocation":658,"id":721,"isOneTrustButton":199},{"text":893,"config":894},"Privacy",{"href":715,"dataGaName":716,"dataGaLocation":658},[896],{"id":897,"title":7,"body":195,"config":898,"content":900,"description":195,"extension":903,"meta":904,"navigation":199,"path":905,"seo":906,"stem":907,"__hash__":908},"blogAuthors/en-us/blog/authors/katherine-okpara.yml",{"template":899},"BlogAuthor",{"name":7,"config":901},{"headshot":179,"ctfId":902},"katokpara","yml",{},"/en-us/blog/authors/katherine-okpara",{},"en-us/blog/authors/katherine-okpara","THBtkkmNt81jRycJiKlaSn374_zKlla90NhbDYHbmdg",[910,919,927],{"title":911,"description":912,"heroImage":913,"category":191,"date":914,"authors":915,"slug":918,"externalUrl":195},"Confidential AI for GitLab Self-Hosted","Give developers AI coding agents in GitLab Duo without source code leaving a hardware-encrypted boundary — no GPUs needed.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1773866173/vte9qh8rriznvyclhkes.png","2026-08-06",[916,917],"Mathias Ewald","Martin Paloncy, Edgeless Systems","confidential-ai-for-gitlab-self-hosted",{"title":920,"description":921,"heroImage":922,"category":191,"date":923,"authors":924,"slug":926,"externalUrl":195},"Green DevOps: Why carbon measurement belongs in your CI/CD pipeline","CI/CD pipelines have a hidden carbon cost. Here's why measuring it matters, and how you can get started with Eco CI and Carmen in GitLab.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1765809212/noh0mdfn9o94ry9ykura.png","2026-07-09",[925],"Lysanne Pinto","green-devops-carbon-measurement-cicd-pipeline",{"title":928,"description":929,"heroImage":930,"category":191,"date":931,"authors":932,"slug":934,"externalUrl":195},"How to build CI/CD observability at scale","This practical guide to GitLab pipeline analytics helps self-managed users gain operational insights using Prometheus and Grafana.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-04-28",[933],"Paul Meresanu","how-to-build-ci-cd-observability-at-scale",{"promotions":936},[937,951,963,975],{"id":938,"categories":939,"header":941,"text":942,"button":943,"image":948},"ai-modernization",[940],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":944,"config":945},"Get your AI maturity score",{"href":946,"dataGaName":947,"dataGaLocation":424},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":949},{"src":950},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":952,"categories":953,"header":955,"text":942,"button":956,"image":960},"devops-modernization",[954,760],"product","Are you just managing tools or shipping innovation?",{"text":957,"config":958},"Get your DevOps maturity score",{"href":959,"dataGaName":947,"dataGaLocation":424},"/assessments/devops-modernization-assessment/",{"config":961},{"src":962},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":964,"categories":965,"header":967,"text":942,"button":968,"image":972},"security-modernization",[966],"security","Are you trading speed for security?",{"text":969,"config":970},"Get your security maturity score",{"href":971,"dataGaName":947,"dataGaLocation":424},"/assessments/security-modernization-assessment/",{"config":973},{"src":974},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":976,"paths":977,"header":980,"text":981,"button":982,"image":987},"github-azure-migration",[978,979],"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":983,"config":984},"See how GitLab compares to GitHub",{"href":985,"dataGaName":986,"dataGaLocation":424},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":988},{"src":962},{"header":990,"blurb":991,"button":992,"secondaryButton":997},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":993,"config":994},"Get your free trial",{"href":995,"dataGaName":223,"dataGaLocation":996},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":696,"config":998},{"href":548,"dataGaName":228,"dataGaLocation":996},1786803762940]