[{"data":1,"prerenderedAt":1029},["ShallowReactive",2],{"/blog/conducting-remote-ux-research":3,"navigation-en-us":243,"banner-en-us":669,"footer-en-us":679,"blog-post-authors-en-us-Sarah O’Donnell":924,"blog-related-posts-en-us-conducting-remote-ux-research":939,"blog-promotions-en-us":965,"next-steps-en-us":1019},{"id":4,"title":5,"authors":6,"body":8,"category":212,"date":213,"description":214,"extension":215,"externalUrl":216,"faq":216,"featured":217,"heroImage":218,"meta":219,"navigation":229,"path":230,"seo":231,"slug":235,"stem":236,"tags":237,"template":241,"updatedDate":216,"__hash__":242},"blogPosts/en-us/blog/conducting-remote-ux-research.md","Conducting remote UX research at GitLab",[7],"Sarah O’Donnell",{"type":9,"value":10,"toc":202},"minimark",[11,27,30,35,38,41,54,57,66,70,73,82,85,89,92,101,105,108,111,114,117,128,132,135,141,150,153,156,161,164,173,176,184,187,190,194],[12,13,14,15,21,22,26],"p",{},"GitLab is a ",[16,17,20],"a",{"href":18,"rel":19},"http://www.remoteonly.org/",[],"remote-only"," organization and just like our ",[16,23,25],{"href":24},"/company/","team",", our users are spread across the globe. Conducting remote UX research allows us to quickly connect with GitLab users anywhere in the world. It provides us with the opportunity to gather insight into users’ behaviors, motivations and goals when using GitLab. This helps us to determine what features should be built and how they should behave. But how do we do all this remotely?",[12,28,29],{},"These are some of the remote UX research methods we use at GitLab.",[31,32,34],"h2",{"id":33},"card-sorting","Card sorting",[12,36,37],{},"Card sorting is a research method for discovering how people understand and categorize information. Each card represents an item or a topic and we ask users to group the cards in a way that makes sense to them. We may also ask them to help us label these groups.",[12,39,40],{},"Card sorting can be used to:",[42,43,44,48,51],"ul",{},[45,46,47],"li",{},"Help design the information architecture of your application",[45,49,50],{},"Establish what information should be on a page and in what order that information should appear",[45,52,53],{},"Provide a ranking for items or topics based on a set criteria",[12,55,56],{},"When analyzing a card sort, we look for common patterns such as which cards appear together the most and which cards are labeled in a similar way.",[12,58,59,60,65],{},"At GitLab, we’re currently using card sorting to restructure the sidebar navigation at a project and group level. We want to understand how you, our users, would expect our features to be grouped and classified. Our aim is to improve the ease and the speed at which you navigate around GitLab. We conduct remote card sorting via ",[16,61,64],{"href":62,"rel":63},"https://www.optimalworkshop.com/",[],"Optimal Workshop",".",[31,67,69],{"id":68},"first-click-testing","First-click testing",[12,71,72],{},"First-click testing explores what users click on first when completing a task within an interface. It tells us whether users are able to find what they’re looking for quickly and easily. This research method is based on the principle that users are two to three times more likely to find what they are looking for if their initial click is correct, rather than a click in the wrong direction.",[12,74,75,76,81],{},"We’ve used first-click testing at GitLab to quickly evaluate multiple design ideas against one another. We share our designs with users via ",[16,77,80],{"href":78,"rel":79},"https://usabilityhub.com/",[],"UsabilityHub",". We measure whether users take the correct path and how long it takes them to decide where to click. A slower click time would suggest a user has hesitated about where to click.",[12,83,84],{},"First-click testing is great for providing an indication of whether a design is intuitive to users and helps us to quickly narrow down multiple design concepts.",[31,86,88],{"id":87},"surveys","Surveys",[12,90,91],{},"Surveys are used to investigate the opinions or experiences of users by asking them questions through an online form. A survey invites people to share open and honest feedback. Some people find them less intimidating than other forms of research as there is the option to remain anonymous when providing answers. They also allow us to track how the attitudes and behaviors of our users change over time.",[12,93,94,95,100],{},"We’ve used surveys to understand our users and form ",[16,96,99],{"href":97,"rel":98},"https://design.gitlab.com/",[],"personas",", to generate new ideas for future GitLab improvements and to help measure users’ satisfaction with our existing features.",[31,102,104],{"id":103},"user-interviews","User interviews",[12,106,107],{},"If you take part in a user interview at GitLab, you’ll usually be speaking one on one with a UX researcher. In order to do this, you’ll need a desktop or laptop computer and a headset with a microphone.",[12,109,110],{},"We find that most of our users like to talk with us on their lunch break at their work station, whether situated at home or in an office. We love this, as it provides some insight into the environment in which you use GitLab.",[12,112,113],{},"Often our interviews are focused on you! We’ll ask you to chat about things such as your background, occupation and experience with GitLab. Sometimes we might have a particular topic we’d like to discuss, such as how you’ve incorporated GitLab into your workflow. We’ll always tell you our intentions ahead of the call so you have time to think about what you’d like to contribute to the discussion. We also welcome you to share your screen with us during the call. We understand that it is sometimes easier to show and demonstrate something than it is to just talk about it!",[12,115,116],{},"We’ve used feedback from user interviews to:",[42,118,119,122,125],{},[45,120,121],{},"Inform our personas",[45,123,124],{},"Follow up on survey answers",[45,126,127],{},"Understand and develop objectives and goals for features",[31,129,131],{"id":130},"usability-testing","Usability testing",[12,133,134],{},"Usability testing is a technique used to evaluate a product by testing it with representative users. Usability testing can be divided into two categories: moderated and unmoderated research.",[12,136,137],{},[138,139,140],"strong",{},"Moderated",[12,142,143,144,149],{},"If you participate in moderated usability testing at GitLab, you’ll complete a series of tasks whilst being observed by one of our UX researchers. In order to see what you're doing, we'll ask you to share your screen with us. We use ",[16,145,148],{"href":146,"rel":147},"https://zoom.us/",[],"Zoom"," to run our moderated usability testing sessions.",[12,151,152],{},"As you use GitLab, we’ll ask you to try and think out loud: tell us what you’re looking at, what you’re trying to do and what you’re thinking. We’re interested in hearing your honest feedback. Sound scary? It really isn’t! It’s important to remember that we’re testing GitLab, not you. You can’t say or do anything wrong during a study.",[12,154,155],{},"Moderated research allows for conversation between a user and the UX researcher, because both are online simultaneously. It gives the researcher the opportunity to ask a user follow-up questions regarding something they’ve said or done. Subsequently, moderated research provides us with a lot of in-depth qualitative research about our users’ needs. It can help us to uncover usability problems that we weren’t aware of and to generate solutions to solve these problems.",[12,157,158],{},[138,159,160],{},"Unmoderated",[12,162,163],{},"Unlike moderated research, unmoderated research doesn't involve any conversation between a user and a UX researcher. Instead, unmoderated usability testing sessions are completed alone by a user. As users can complete sessions at their own convenience and studies can be run simultaneously, they're good for collecting data quickly.",[12,165,166,167,172],{},"We use ",[16,168,171],{"href":169,"rel":170},"https://validately.com/",[],"Validately"," to serve the tasks to you and to record your actions. We then analyze the data collected asynchronously. It is, however, still very helpful to us if you try and think out loud while you’re completing tasks.",[12,174,175],{},"Unmoderated research can provide some qualitative data. However, as there’s no opportunity to ask users follow-up questions related to their actions, the study should focus on a few specific elements or relatively minor changes. Unmoderated research is usually better at addressing specific quantitative questions, such as:",[42,177,178,181],{},[45,179,180],{},"What percentage of users successfully completed the task?",[45,182,183],{},"How long did it take users to complete the task?",[12,185,186],{},"As a researcher cannot view an unmoderated usability testing session until it's completed, there's a risk of a study being unusable if the user didn't complete the tasks as specified or if they ran into technical difficulties.",[12,188,189],{},"We conduct both moderated and unmoderated usability testing sessions at GitLab to test new features and changes to existing features.",[31,191,193],{"id":192},"how-can-i-get-involved","How can I get involved?",[12,195,196,197,201],{},"We’re always looking for people to participate in our research, whether you're a GitLab user or not. You can get involved by signing up for ",[16,198,200],{"href":199},"/community/","GitLab First Look",", a comprehensive research program that will help us ship the features and fixes you need to do your best work.  Besides being instrumental in shaping the future of GitLab, you’ll have the opportunity to earn gift cards and win awesome tech prizes by sharing your feedback with us.",{"title":203,"searchDepth":204,"depth":204,"links":205},"",2,[206,207,208,209,210,211],{"id":33,"depth":204,"text":34},{"id":68,"depth":204,"text":69},{"id":87,"depth":204,"text":88},{"id":103,"depth":204,"text":104},{"id":130,"depth":204,"text":131},{"id":192,"depth":204,"text":193},"engineering","2017-12-20","Learn about the different kinds of UX research we conduct at GitLab.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666775/Blog/Hero%20Images/cover.jpg",{"excerpt":220},{"type":9,"value":221},[222],[12,223,14,224,21,227,26],{},[16,225,20],{"href":18,"rel":226},[],[16,228,25],{"href":24},true,"/en-us/blog/conducting-remote-ux-research",{"title":5,"description":214,"ogTitle":5,"ogDescription":214,"noIndex":217,"ogImage":218,"ogUrl":232,"ogSiteName":233,"ogType":234,"canonicalUrls":232},"https://about.gitlab.com/blog/conducting-remote-ux-research","https://about.gitlab.com","article","conducting-remote-ux-research","en-us/blog/conducting-remote-ux-research",[238,239,240],"remote work","inside GitLab","UX","BlogPost","HaIlnblmlDxtu6BC0IKH9Jed1Rk4uESfOeQGbr7LByI",{"logo":244,"freeTrial":249,"sales":254,"login":259,"items":264,"search":589,"minimal":620,"duo":639,"switchNav":648,"pricingDeployment":659},{"config":245},{"href":246,"dataGaName":247,"dataGaLocation":248},"/","gitlab logo","header",{"text":250,"config":251},"Get free trial",{"href":252,"dataGaName":253,"dataGaLocation":248},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":255,"config":256},"Request a demo",{"href":257,"dataGaName":258,"dataGaLocation":248},"/sales/?contact-topic=request-demo","sales",{"text":260,"config":261},"Sign in",{"href":262,"dataGaName":263,"dataGaLocation":248},"https://gitlab.com/users/sign_in/","sign in",[265,294,394,399,512,567],{"text":266,"config":267,"menu":269},"Platform",{"dataNavLevelOne":268},"platform",{"type":270,"columns":271},"cards",[272,278,286],{"title":266,"description":273,"link":274},"The intelligent orchestration platform for DevSecOps",{"text":275,"config":276},"Explore our Platform",{"href":277,"dataGaName":268,"dataGaLocation":248},"/platform/",{"title":279,"description":280,"link":281},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":282,"config":283},"Meet GitLab Duo",{"href":284,"dataGaName":285,"dataGaLocation":248},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":287,"description":288,"link":289},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":290,"config":291},"Learn more",{"href":292,"dataGaName":293,"dataGaLocation":248},"/why-gitlab/","why gitlab",{"text":295,"left":229,"config":296,"menu":298},"Product",{"dataNavLevelOne":297},"solutions",{"type":299,"link":300,"columns":304,"feature":373},"lists",{"text":301,"config":302},"View all Solutions",{"href":303,"dataGaName":297,"dataGaLocation":248},"/solutions/",[305,329,352],{"title":306,"description":307,"link":308,"items":313},"Automation","CI/CD and automation to accelerate deployment",{"config":309},{"icon":310,"href":311,"dataGaName":312,"dataGaLocation":248},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[314,318,321,325],{"text":315,"config":316},"CI/CD",{"href":317,"dataGaLocation":248,"dataGaName":315},"/solutions/continuous-integration/",{"text":279,"config":319},{"href":284,"dataGaLocation":248,"dataGaName":320},"gitlab duo agent platform - product menu",{"text":322,"config":323},"Source Code Management",{"href":324,"dataGaLocation":248,"dataGaName":322},"/solutions/source-code-management/",{"text":326,"config":327},"Automated Software Delivery",{"href":311,"dataGaLocation":248,"dataGaName":328},"Automated software delivery",{"title":330,"description":331,"link":332,"items":337},"Security","Deliver code faster without compromising security",{"config":333},{"href":334,"dataGaName":335,"dataGaLocation":248,"icon":336},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[338,342,347],{"text":339,"config":340},"Application Security Testing",{"href":334,"dataGaName":341,"dataGaLocation":248},"Application security testing",{"text":343,"config":344},"Software Supply Chain Security",{"href":345,"dataGaLocation":248,"dataGaName":346},"/solutions/supply-chain/","Software supply chain security",{"text":348,"config":349},"Software Compliance",{"href":350,"dataGaName":351,"dataGaLocation":248},"/solutions/software-compliance/","software compliance",{"title":353,"link":354,"items":359},"Measurement",{"config":355},{"icon":356,"href":357,"dataGaName":358,"dataGaLocation":248},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[360,364,368],{"text":361,"config":362},"Visibility & Measurement",{"href":357,"dataGaLocation":248,"dataGaName":363},"Visibility and Measurement",{"text":365,"config":366},"Value Stream Management",{"href":367,"dataGaLocation":248,"dataGaName":365},"/solutions/value-stream-management/",{"text":369,"config":370},"Analytics & Insights",{"href":371,"dataGaLocation":248,"dataGaName":372},"/solutions/analytics-and-insights/","Analytics and insights",{"title":374,"type":299,"items":375},"GitLab for",[376,382,388],{"text":377,"config":378},"Enterprise",{"icon":379,"href":380,"dataGaLocation":248,"dataGaName":381},"Building","/enterprise/","enterprise",{"text":383,"config":384},"Small Business",{"icon":385,"href":386,"dataGaLocation":248,"dataGaName":387},"Work","/small-business/","small business",{"text":389,"config":390},"Public Sector",{"icon":391,"href":392,"dataGaLocation":248,"dataGaName":393},"Organization","/solutions/public-sector/","public sector",{"text":395,"config":396},"Pricing",{"href":397,"dataGaName":398,"dataGaLocation":248,"dataNavLevelOne":398},"/pricing/","pricing",{"text":400,"config":401,"menu":403},"Resources",{"dataNavLevelOne":402},"resources",{"type":299,"link":404,"columns":408,"feature":501},{"text":405,"config":406},"View all resources",{"href":407,"dataGaName":402,"dataGaLocation":248},"/resources/",[409,442,469],{"title":410,"items":411},"Getting started",[412,417,422,427,432,437],{"text":413,"config":414},"Install",{"href":415,"dataGaName":416,"dataGaLocation":248},"/install/","install",{"text":418,"config":419},"Quick start guides",{"href":420,"dataGaName":421,"dataGaLocation":248},"/get-started/","quick setup checklists",{"text":423,"config":424},"Learn",{"href":425,"dataGaLocation":248,"dataGaName":426},"https://university.gitlab.com/","learn",{"text":428,"config":429},"Product documentation",{"href":430,"dataGaName":431,"dataGaLocation":248},"https://docs.gitlab.com/","product documentation",{"text":433,"config":434},"Best practice videos",{"href":435,"dataGaName":436,"dataGaLocation":248},"/getting-started-videos/","best practice videos",{"text":438,"config":439},"Integrations",{"href":440,"dataGaName":441,"dataGaLocation":248},"/integrations/","integrations",{"title":443,"items":444},"Discover",[445,450,455,460,464],{"text":446,"config":447},"Customer success stories",{"href":448,"dataGaName":449,"dataGaLocation":248},"/customers/","customer success stories",{"text":451,"config":452},"Blog",{"href":453,"dataGaName":454,"dataGaLocation":248},"/blog/","blog",{"text":456,"config":457},"Demo Hub",{"href":458,"dataGaName":459,"dataGaLocation":248},"/demo-hub/","demo hub",{"text":461,"config":462},"The Source",{"href":463,"dataGaName":454,"dataGaLocation":248},"/the-source/",{"text":465,"config":466},"Remote",{"href":467,"dataGaName":468,"dataGaLocation":248},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":470,"items":471},"Connect",[472,477,482,486,491,496],{"text":473,"config":474},"GitLab Services",{"href":475,"dataGaName":476,"dataGaLocation":248},"/services/","services",{"text":478,"config":479},"Contribute",{"href":480,"dataGaName":481,"dataGaLocation":248},"https://contributors.gitlab.com","contribute",{"text":483,"config":484},"Community",{"href":199,"dataGaName":485,"dataGaLocation":248},"community",{"text":487,"config":488},"Forum",{"href":489,"dataGaName":490,"dataGaLocation":248},"https://forum.gitlab.com/","forum",{"text":492,"config":493},"Events",{"href":494,"dataGaName":495,"dataGaLocation":248},"/events/","events",{"text":497,"config":498},"Partners",{"href":499,"dataGaName":500,"dataGaLocation":248},"/partners/","partners",{"config":502,"title":505,"text":506,"link":507},{"background":503,"textColor":504},"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":508,"config":509},"Read the latest",{"href":510,"dataGaName":511,"dataGaLocation":248},"/whats-new/","whats new",{"text":513,"config":514,"menu":516},"Company",{"dataNavLevelOne":515},"company",{"type":299,"columns":517},[518],{"items":519},[520,524,530,532,537,542,547,552,557,562],{"text":521,"config":522},"About",{"href":24,"dataGaName":523,"dataGaLocation":248},"about",{"text":525,"config":526,"footerGa":529},"Jobs",{"href":527,"dataGaName":528,"dataGaLocation":248},"/jobs/","jobs",{"dataGaName":528},{"text":492,"config":531},{"href":494,"dataGaName":495,"dataGaLocation":248},{"text":533,"config":534},"Leadership",{"href":535,"dataGaName":536,"dataGaLocation":248},"/company/team/e-group/","leadership",{"text":538,"config":539},"Handbook",{"href":540,"dataGaName":541,"dataGaLocation":248},"https://handbook.gitlab.com/","handbook",{"text":543,"config":544},"Investor relations",{"href":545,"dataGaName":546,"dataGaLocation":248},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":548,"config":549},"Trust Center",{"href":550,"dataGaName":551,"dataGaLocation":248},"/security/","trust center",{"text":553,"config":554},"AI Transparency Center",{"href":555,"dataGaName":556,"dataGaLocation":248},"/ai-transparency-center/","ai transparency center",{"text":558,"config":559},"Newsletter",{"href":560,"dataGaName":561,"dataGaLocation":248},"/company/contact/#contact-forms","newsletter",{"text":563,"config":564},"Press",{"href":565,"dataGaName":566,"dataGaLocation":248},"/press/","press",{"text":568,"config":569,"menu":570},"Contact us",{"dataNavLevelOne":515},{"type":299,"columns":571},[572],{"items":573},[574,579,584],{"text":575,"config":576},"Talk to sales",{"href":577,"dataGaName":578,"dataGaLocation":248},"/sales/","talk to sales",{"text":580,"config":581},"Support portal",{"href":582,"dataGaName":583,"dataGaLocation":248},"https://support.gitlab.com/hc/en-us","support portal",{"text":585,"config":586},"Customer portal",{"href":587,"dataGaName":588,"dataGaLocation":248},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":590,"login":591,"suggestions":598},"Close",{"text":592,"link":593},"To search repositories and projects, login to",{"text":594,"config":595},"gitlab.com",{"href":262,"dataGaName":596,"dataGaLocation":597},"search login","search",{"text":599,"default":600},"Suggestions",[601,603,607,609,613,617],{"text":279,"config":602},{"href":284,"dataGaName":279,"dataGaLocation":597},{"text":604,"config":605},"Code Suggestions (AI)",{"href":606,"dataGaName":604,"dataGaLocation":597},"/solutions/code-suggestions/",{"text":315,"config":608},{"href":317,"dataGaName":315,"dataGaLocation":597},{"text":610,"config":611},"GitLab on AWS",{"href":612,"dataGaName":610,"dataGaLocation":597},"/partners/technology-partners/aws/",{"text":614,"config":615},"GitLab on Google Cloud",{"href":616,"dataGaName":614,"dataGaLocation":597},"/partners/technology-partners/google-cloud-platform/",{"text":618,"config":619},"Why GitLab?",{"href":292,"dataGaName":618,"dataGaLocation":597},{"freeTrial":621,"mobileIcon":626,"desktopIcon":631,"secondaryButton":634},{"text":622,"config":623},"Start free trial",{"href":624,"dataGaName":253,"dataGaLocation":625},"https://gitlab.com/-/trials/new/","nav",{"altText":627,"config":628},"Gitlab Icon",{"src":629,"dataGaName":630,"dataGaLocation":625},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":627,"config":632},{"src":633,"dataGaName":630,"dataGaLocation":625},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":635,"config":636},"Get Started",{"href":637,"dataGaName":638,"dataGaLocation":625},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":640,"mobileIcon":644,"desktopIcon":646},{"text":641,"config":642},"Learn more about GitLab Duo",{"href":284,"dataGaName":643,"dataGaLocation":625},"gitlab duo",{"altText":627,"config":645},{"src":629,"dataGaName":630,"dataGaLocation":625},{"altText":627,"config":647},{"src":633,"dataGaName":630,"dataGaLocation":625},{"button":649,"mobileIcon":654,"desktopIcon":656},{"text":650,"config":651},"/switch",{"href":652,"dataGaName":653,"dataGaLocation":625},"#contact","switch",{"altText":627,"config":655},{"src":629,"dataGaName":630,"dataGaLocation":625},{"altText":627,"config":657},{"src":658,"dataGaName":630,"dataGaLocation":625},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":660,"mobileIcon":665,"desktopIcon":667},{"text":661,"config":662},"Back to pricing",{"href":397,"dataGaName":663,"dataGaLocation":625,"icon":664},"back to pricing","GoBack",{"altText":627,"config":666},{"src":629,"dataGaName":630,"dataGaLocation":625},{"altText":627,"config":668},{"src":633,"dataGaName":630,"dataGaLocation":625},{"title":670,"titleMobile":671,"button":672,"config":677},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":290,"config":673},{"href":674,"dataGaName":675,"dataGaLocation":676},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":678,"disabled":217},"release",{"data":680},{"text":681,"source":682,"edit":688,"contribute":693,"config":698,"items":703,"minimal":913},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":683,"config":684},"View page source",{"href":685,"dataGaName":686,"dataGaLocation":687},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":689,"config":690},"Edit this page",{"href":691,"dataGaName":692,"dataGaLocation":687},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":694,"config":695},"Please contribute",{"href":696,"dataGaName":697,"dataGaLocation":687},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":699,"facebook":700,"youtube":701,"linkedin":702},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[704,751,805,849,881],{"title":395,"links":705,"subMenu":720},[706,710,715],{"text":707,"config":708},"View plans",{"href":397,"dataGaName":709,"dataGaLocation":687},"view plans",{"text":711,"config":712},"Why Premium?",{"href":713,"dataGaName":714,"dataGaLocation":687},"/pricing/premium/","why premium",{"text":716,"config":717},"Why Ultimate?",{"href":718,"dataGaName":719,"dataGaLocation":687},"/pricing/ultimate/","why ultimate",[721],{"title":722,"links":723},"Contact Us",[724,727,729,731,736,741,746],{"text":725,"config":726},"Contact sales",{"href":577,"dataGaName":258,"dataGaLocation":687},{"text":580,"config":728},{"href":582,"dataGaName":583,"dataGaLocation":687},{"text":585,"config":730},{"href":587,"dataGaName":588,"dataGaLocation":687},{"text":732,"config":733},"Status",{"href":734,"dataGaName":735,"dataGaLocation":687},"https://status.gitlab.com/","status",{"text":737,"config":738},"Terms of use",{"href":739,"dataGaName":740,"dataGaLocation":687},"/terms/","terms of use",{"text":742,"config":743},"Privacy statement",{"href":744,"dataGaName":745,"dataGaLocation":687},"/privacy/","privacy statement",{"text":747,"config":748},"Cookie preferences",{"dataGaName":749,"dataGaLocation":687,"id":750,"isOneTrustButton":229},"cookie preferences","ot-sdk-btn",{"title":295,"links":752,"subMenu":761},[753,757],{"text":754,"config":755},"DevSecOps platform",{"href":277,"dataGaName":756,"dataGaLocation":687},"devsecops platform",{"text":758,"config":759},"AI-Assisted Development",{"href":284,"dataGaName":760,"dataGaLocation":687},"ai-assisted development",[762],{"title":763,"links":764},"Topics",[765,770,775,780,785,790,795,800],{"text":766,"config":767},"CICD",{"href":768,"dataGaName":769,"dataGaLocation":687},"/topics/ci-cd/","cicd",{"text":771,"config":772},"GitOps",{"href":773,"dataGaName":774,"dataGaLocation":687},"/topics/gitops/","gitops",{"text":776,"config":777},"DevOps",{"href":778,"dataGaName":779,"dataGaLocation":687},"/topics/devops/","devops",{"text":781,"config":782},"Version Control",{"href":783,"dataGaName":784,"dataGaLocation":687},"/topics/version-control/","version control",{"text":786,"config":787},"DevSecOps",{"href":788,"dataGaName":789,"dataGaLocation":687},"/topics/devsecops/","devsecops",{"text":791,"config":792},"Cloud Native",{"href":793,"dataGaName":794,"dataGaLocation":687},"/topics/cloud-native/","cloud native",{"text":796,"config":797},"AI for Coding",{"href":798,"dataGaName":799,"dataGaLocation":687},"/topics/devops/ai-for-coding/","ai for coding",{"text":801,"config":802},"Agentic AI",{"href":803,"dataGaName":804,"dataGaLocation":687},"/topics/agentic-ai/","agentic ai",{"title":806,"links":807},"Solutions",[808,810,812,817,821,824,828,831,833,836,839,844],{"text":339,"config":809},{"href":334,"dataGaName":339,"dataGaLocation":687},{"text":328,"config":811},{"href":311,"dataGaName":312,"dataGaLocation":687},{"text":813,"config":814},"Agile development",{"href":815,"dataGaName":816,"dataGaLocation":687},"/solutions/agile-delivery/","agile delivery",{"text":818,"config":819},"SCM",{"href":324,"dataGaName":820,"dataGaLocation":687},"source code management",{"text":766,"config":822},{"href":317,"dataGaName":823,"dataGaLocation":687},"continuous integration & delivery",{"text":825,"config":826},"Value stream management",{"href":367,"dataGaName":827,"dataGaLocation":687},"value stream management",{"text":771,"config":829},{"href":830,"dataGaName":774,"dataGaLocation":687},"/solutions/gitops/",{"text":377,"config":832},{"href":380,"dataGaName":381,"dataGaLocation":687},{"text":834,"config":835},"Small business",{"href":386,"dataGaName":387,"dataGaLocation":687},{"text":837,"config":838},"Public sector",{"href":392,"dataGaName":393,"dataGaLocation":687},{"text":840,"config":841},"Education",{"href":842,"dataGaName":843,"dataGaLocation":687},"/solutions/education/","education",{"text":845,"config":846},"Financial services",{"href":847,"dataGaName":848,"dataGaLocation":687},"/solutions/finance/","financial services",{"title":400,"links":850},[851,853,855,857,860,862,865,867,869,871,873,875,877,879],{"text":413,"config":852},{"href":415,"dataGaName":416,"dataGaLocation":687},{"text":418,"config":854},{"href":420,"dataGaName":421,"dataGaLocation":687},{"text":423,"config":856},{"href":425,"dataGaName":426,"dataGaLocation":687},{"text":428,"config":858},{"href":430,"dataGaName":859,"dataGaLocation":687},"docs",{"text":451,"config":861},{"href":453,"dataGaName":454,"dataGaLocation":687},{"text":863,"config":864},"What's new",{"href":510,"dataGaName":511,"dataGaLocation":687},{"text":446,"config":866},{"href":448,"dataGaName":449,"dataGaLocation":687},{"text":465,"config":868},{"href":467,"dataGaName":468,"dataGaLocation":687},{"text":473,"config":870},{"href":475,"dataGaName":476,"dataGaLocation":687},{"text":478,"config":872},{"href":480,"dataGaName":481,"dataGaLocation":687},{"text":483,"config":874},{"href":199,"dataGaName":485,"dataGaLocation":687},{"text":487,"config":876},{"href":489,"dataGaName":490,"dataGaLocation":687},{"text":492,"config":878},{"href":494,"dataGaName":495,"dataGaLocation":687},{"text":497,"config":880},{"href":499,"dataGaName":500,"dataGaLocation":687},{"title":513,"links":882},[883,885,887,889,891,893,897,902,904,906,908],{"text":521,"config":884},{"href":24,"dataGaName":515,"dataGaLocation":687},{"text":525,"config":886},{"href":527,"dataGaName":528,"dataGaLocation":687},{"text":533,"config":888},{"href":535,"dataGaName":536,"dataGaLocation":687},{"text":538,"config":890},{"href":540,"dataGaName":541,"dataGaLocation":687},{"text":543,"config":892},{"href":545,"dataGaName":546,"dataGaLocation":687},{"text":894,"config":895},"Sustainability",{"href":896,"dataGaName":894,"dataGaLocation":687},"/sustainability/",{"text":898,"config":899},"Diversity, inclusion and belonging (DIB)",{"href":900,"dataGaName":901,"dataGaLocation":687},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":548,"config":903},{"href":550,"dataGaName":551,"dataGaLocation":687},{"text":558,"config":905},{"href":560,"dataGaName":561,"dataGaLocation":687},{"text":563,"config":907},{"href":565,"dataGaName":566,"dataGaLocation":687},{"text":909,"config":910},"Modern Slavery Transparency Statement",{"href":911,"dataGaName":912,"dataGaLocation":687},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":914},[915,918,921],{"text":916,"config":917},"Terms",{"href":739,"dataGaName":740,"dataGaLocation":687},{"text":919,"config":920},"Cookies",{"dataGaName":749,"dataGaLocation":687,"id":750,"isOneTrustButton":229},{"text":922,"config":923},"Privacy",{"href":744,"dataGaName":745,"dataGaLocation":687},[925],{"id":926,"title":927,"body":216,"config":928,"content":930,"description":216,"extension":933,"meta":934,"navigation":229,"path":935,"seo":936,"stem":937,"__hash__":938},"blogAuthors/en-us/blog/authors/sarah-odonnell.yml","Sarah Odonnell",{"template":929},"BlogAuthor",{"name":7,"config":931},{"headshot":203,"ctfId":932},"sarahod","yml",{},"/en-us/blog/authors/sarah-odonnell",{},"en-us/blog/authors/sarah-odonnell","ROGF80cqscK8KpvXbOwj4Ohv1boYNRU2nglQLWaV8sc",[940,949,957],{"title":941,"description":942,"heroImage":943,"category":212,"date":944,"authors":945,"slug":948,"externalUrl":216},"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",[946,947],"Mathias Ewald","Martin Paloncy, Edgeless Systems","confidential-ai-for-gitlab-self-hosted",{"title":950,"description":951,"heroImage":952,"category":212,"date":953,"authors":954,"slug":956,"externalUrl":216},"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",[955],"Lysanne Pinto","green-devops-carbon-measurement-cicd-pipeline",{"title":958,"description":959,"heroImage":960,"category":212,"date":961,"authors":962,"slug":964,"externalUrl":216},"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",[963],"Paul Meresanu","how-to-build-ci-cd-observability-at-scale",{"promotions":966},[967,981,993,1005],{"id":968,"categories":969,"header":971,"text":972,"button":973,"image":978},"ai-modernization",[970],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":974,"config":975},"Get your AI maturity score",{"href":976,"dataGaName":977,"dataGaLocation":454},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":979},{"src":980},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":982,"categories":983,"header":985,"text":972,"button":986,"image":990},"devops-modernization",[984,789],"product","Are you just managing tools or shipping innovation?",{"text":987,"config":988},"Get your DevOps maturity score",{"href":989,"dataGaName":977,"dataGaLocation":454},"/assessments/devops-modernization-assessment/",{"config":991},{"src":992},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":994,"categories":995,"header":997,"text":972,"button":998,"image":1002},"security-modernization",[996],"security","Are you trading speed for security?",{"text":999,"config":1000},"Get your security maturity score",{"href":1001,"dataGaName":977,"dataGaLocation":454},"/assessments/security-modernization-assessment/",{"config":1003},{"src":1004},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1006,"paths":1007,"header":1010,"text":1011,"button":1012,"image":1017},"github-azure-migration",[1008,1009],"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":1013,"config":1014},"See how GitLab compares to GitHub",{"href":1015,"dataGaName":1016,"dataGaLocation":454},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1018},{"src":992},{"header":1020,"blurb":1021,"button":1022,"secondaryButton":1027},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1023,"config":1024},"Get your free trial",{"href":1025,"dataGaName":253,"dataGaLocation":1026},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":725,"config":1028},{"href":577,"dataGaName":258,"dataGaLocation":1026},1786803748451]