[{"data":1,"prerenderedAt":1303},["ShallowReactive",2],{"/blog/refining-gitlab-product-experience":3,"navigation-en-us":518,"banner-en-us":945,"footer-en-us":955,"blog-post-authors-en-us-Christie Lenneville":1200,"blog-related-posts-en-us-refining-gitlab-product-experience":1215,"blog-promotions-en-us":1239,"next-steps-en-us":1293},{"id":4,"title":5,"authors":6,"body":8,"category":497,"date":498,"description":499,"extension":500,"externalUrl":501,"faq":501,"featured":502,"heroImage":503,"meta":504,"navigation":505,"path":506,"seo":507,"slug":511,"stem":512,"tags":513,"template":516,"updatedDate":501,"__hash__":517},"blogPosts/en-us/blog/refining-gitlab-product-experience.md","What we're doing to refine GitLab's product experience",[7],"Christie Lenneville",{"type":9,"value":10,"toc":484},"minimark",[11,15,18,21,26,29,39,42,64,67,71,80,83,116,120,123,128,290,294,394,398,439,443,458,467,470],[12,13,14],"p",{},"GitLab is investing deeply in improving our user experience. Need proof? By the end of 2019, our team\nof product designers, UX researchers, and technical writers will be around 60 practitioners strong.\nThat's incredible growth for a company of our size.",[12,16,17],{},"When I joined GitLab as the director of user experience back in February 2019, one of the\nstated goals was to move our team from being \"reactive\" (responding to UX requests) to being\n\"proactive\" (actively finding and solving UX problems and advocating for change). I was impressed to\nsee this perspective from our executive leadership. It's surprising how often user experience gets\nput on the backburner, despite its positive impact on customer satisfaction and company growth.",[12,19,20],{},"But while intentions are good, they're useless without action. So, the UX team quickly got to work to\nfigure out how we could make meaningful change.",[22,23,25],"h2",{"id":24},"proactively-improving-ux","Proactively improving UX",[12,27,28],{},"Historically, GitLab has focused its efforts on developing new features. With a new emphasis on\nrefining our most common and critical workflows, we needed a new approach.",[12,30,31,32,38],{},"Enter ",[33,34,37],"a",{"href":35,"rel":36},"https://handbook.gitlab.com/handbook/product/ux/ux-scorecards/",[],"UX Scorecards",": An initiative\nby which we evaluate the current experience with quick, iterative steps to make it better,\nincluding a built-in grading rubric that helps us to properly prioritize efforts and track progress over time.",[12,40,41],{},"Using this methodology, we're:",[43,44,45,49,52,55,58,61],"ul",{},[46,47,48],"li",{},"Working with product managers to identify the most common and critical workflows in our product",[46,50,51],{},"Analyzing each workflow to see where it works well... and where it doesn't",[46,53,54],{},"Documenting the existing experience in videos and user journeys",[46,56,57],{},"Grading the experience on an A/B/C/D/F scale",[46,59,60],{},"Creating issues with recommendations for the proposed experience",[46,62,63],{},"Working with product management to prioritize improvements",[12,65,66],{},"It's a highly proactive way of moving our user experience forward.",[22,68,70],{"id":69},"what-have-we-done-so-far","What have we done so far?",[12,72,73,74,79],{},"During Q2 of calendar year 2019, we committed to\nan OKR that focused on ",[33,75,78],{"href":76,"rel":77},"https://gitlab.com/gitlab-com/www-gitlab-com/issues/4354",[],"working\nclosely with our product management peers to identify 15 critical workflows",", also\ncalled \"Jobs to be Done,\" across our entire application. This valuable, lightweight effort\nsurfaced opportunities to improve day-to-day workflows and proved out a pattern we can\napply to future workflows.",[12,81,82],{},"Here's how we defined our grading rubric:",[43,84,85,92,98,104,110],{},[46,86,87,91],{},[88,89,90],"strong",{},"A (High Quality/Exceeds):"," Workflow is smooth and painless. Clear path to reach a goal.\nCreates “Wow” moments due to the process being so easy. Users would not hesitate to go through the\nprocess again.",[46,93,94,97],{},[88,95,96],{},"B (Meets Expectations):"," Workflow meets expectations but does not exceed user needs. Users are\nable to reach the goal and complete the task. Less likely to abandon.",[46,99,100,103],{},[88,101,102],{},"C (Average):"," Workflow needs improvement, but users can still finish completing the task. It\nusually takes longer to complete the task than it should. Users may abandon the process or try again later.",[46,105,106,109],{},[88,107,108],{},"D (Presentable):"," Workflow has clear issues and should not have gone into production without more\nthought and testing. Users may or may not be able to complete the task. High risk of abandonment.",[46,111,112,115],{},[88,113,114],{},"F (Poor):"," Workflow leaves users confused and with no direction of where to go next. Can sometimes\ncause users to go around in circles or reach a dead end. Very high risk of abandonment, and users\nwill most likely seek other methods to complete the task.",[22,117,119],{"id":118},"what-workflows-did-we-focus-on","What workflows did we focus on?",[12,121,122],{},"As mentioned above, we focused first on the most used and highly impactful workflows in the product.\nOver time, we'll continue to add to this list.",[124,125,127],"h3",{"id":126},"workflows-with-a-score-of-c","Workflows with a score of C",[43,129,130,153,174,194,213,233,252,271],{},[46,131,132,133,136,137],{},"Sign-in/register for a GitLab account ",[88,134,135],{},"C/C"," (desktop/mobile)\n",[43,138,139,146],{},[46,140,141],{},[33,142,145],{"href":143,"rel":144},"https://www.youtube.com/watch?v=AbP9aAbW1zI",[],"UX Scorecard Video",[46,147,148],{},[33,149,152],{"href":150,"rel":151},"https://gitlab.com/gitlab-org/ux-research/issues/217",[],"Improvement Recommendations",[46,154,155,156,136,159],{},"Create a Merge Request: ",[88,157,158],{},"C/D",[43,160,161,167],{},[46,162,163],{},[33,164,145],{"href":165,"rel":166},"https://www.youtube.com/watch?v=WOdqw_z2dwE",[],[46,168,169],{},[33,170,173],{"href":171,"rel":172},"https://gitlab.com/gitlab-org/gitlab-design/issues/441",[],"Recommendation Issues",[46,175,176,177,180],{},"Review changes: ",[88,178,179],{},"C",[43,181,182,188],{},[46,183,184],{},[33,185,145],{"href":186,"rel":187},"https://www.youtube.com/watch?v=CShQ0JA_BA0",[],[46,189,190],{},[33,191,173],{"href":192,"rel":193},"https://gitlab.com/gitlab-org/gitlab-design/issues/442",[],[46,195,196,197,199],{},"Identify and troubleshoot performance issues: ",[88,198,179],{},[43,200,201,207],{},[46,202,203],{},[33,204,145],{"href":205,"rel":206},"https://youtu.be/nUdSqrvWeiA",[],[46,208,209],{},[33,210,173],{"href":211,"rel":212},"https://gitlab.com/gitlab-org/gitlab-ee/issues/11713",[],[46,214,215,216,219],{},"Add my existing Kubernetes cluster: ",[88,217,218],{},"C-",[43,220,221,227],{},[46,222,223],{},[33,224,145],{"href":225,"rel":226},"https://www.youtube.com/watch?v=xAi9u2eqrSk&t=7s",[],[46,228,229],{},[33,230,173],{"href":231,"rel":232},"https://gitlab.com/groups/gitlab-org/-/epics/1380",[],[46,234,235,236,238],{},"Understand dependencies: ",[88,237,179],{},[43,239,240,246],{},[46,241,242],{},[33,243,145],{"href":244,"rel":245},"https://www.youtube.com/watch?v=XyEf0E1e8ns",[],[46,247,248],{},[33,249,173],{"href":250,"rel":251},"https://gitlab.com/gitlab-org/gitlab-design/issues/449",[],[46,253,254,255,257],{},"Deploy to Gitlab Pages: ",[88,256,179],{},[43,258,259,265],{},[46,260,261],{},[33,262,145],{"href":263,"rel":264},"https://www.youtube.com/watch?v=WiVq7pQ0RMg",[],[46,266,267],{},[33,268,173],{"href":269,"rel":270},"https://gitlab.com/gitlab-org/gitlab-design/issues/412",[],[46,272,273,274,276],{},"Set up automated testing inside GitLab: ",[88,275,179],{},[43,277,278,284],{},[46,279,280],{},[33,281,145],{"href":282,"rel":283},"https://www.youtube.com/watch?v=MOJn9JQEE2s",[],[46,285,286],{},[33,287,173],{"href":288,"rel":289},"https://gitlab.com/gitlab-org/gitlab-design/issues/480",[],[124,291,293],{"id":292},"workflows-with-a-score-of-d","Workflows with a score of D",[43,295,296,316,336,356,375],{},[46,297,298,299,302],{},"Start a GitLab trial: ",[88,300,301],{},"D-",[43,303,304,310],{},[46,305,306],{},[33,307,145],{"href":308,"rel":309},"https://www.youtube.com/watch?v=MkTOwTxsoL8",[],[46,311,312],{},[33,313,173],{"href":314,"rel":315},"https://gitlab.com/gitlab-org/ux-research/issues/285",[],[46,317,318,319,322],{},"Receive and configure Issue notifications and To-Do items: ",[88,320,321],{},"D+",[43,323,324,330],{},[46,325,326],{},[33,327,145],{"href":328,"rel":329},"https://www.youtube.com/watch?v=gILgNANrIhg",[],[46,331,332],{},[33,333,173],{"href":334,"rel":335},"https://gitlab.com/gitlab-org/gitlab-design#520",[],[46,337,338,339,342],{},"Have awareness of adding risk through vulnerable code: ",[88,340,341],{},"D",[43,343,344,350],{},[46,345,346],{},[33,347,145],{"href":348,"rel":349},"https://www.youtube.com/watch?v=By0td9kVsOU",[],[46,351,352],{},[33,353,173],{"href":354,"rel":355},"https://gitlab.com/gitlab-org/gitlab-design/issues/400",[],[46,357,358,359,361],{},"See security vulnerabilities all in one location for prioritization: ",[88,360,341],{},[43,362,363,369],{},[46,364,365],{},[33,366,145],{"href":367,"rel":368},"https://www.youtube.com/watch?v=w623fSysQzE",[],[46,370,371],{},[33,372,173],{"href":373,"rel":374},"https://gitlab.com/gitlab-org/gitlab-design/issues/401",[],[46,376,377,378,380],{},"Approve or blacklist new licenses: ",[88,379,341],{},[43,381,382,388],{},[46,383,384],{},[33,385,145],{"href":386,"rel":387},"https://www.youtube.com/watch?v=TDcIN7lu7dk",[],[46,389,390],{},[33,391,173],{"href":392,"rel":393},"https://gitlab.com/gitlab-org/gitlab-design/issues/402",[],[124,395,397],{"id":396},"workflows-with-a-score-of-f","Workflows with a score of F",[43,399,400,420],{},[46,401,402,403,406],{},"Analyze the productivity of a team: ",[88,404,405],{},"F",[43,407,408,414],{},[46,409,410],{},[33,411,145],{"href":412,"rel":413},"https://www.youtube.com/watch?v=ipkmlW_GQig",[],[46,415,416],{},[33,417,173],{"href":418,"rel":419},"https://gitlab.com/groups/gitlab-org/-/epics/1454",[],[46,421,422,423,425],{},"Create a release and update it: ",[88,424,405],{},[43,426,427,433],{},[46,428,429],{},[33,430,145],{"href":431,"rel":432},"https://www.youtube.com/watch?v=wCnpEGhS8uk",[],[46,434,435],{},[33,436,173],{"href":437,"rel":438},"https://gitlab.com/gitlab-org/gitlab-design/issues/431",[],[22,440,442],{"id":441},"whats-next","What's next?",[12,444,445,446,451,452,457],{},"One of our ",[33,447,450],{"href":448,"rel":449},"https://gitlab.com/groups/gitlab-org/-/epics/1676",[],"OKRs for Q3 of calendar year 2019"," is to\nimprove seven of these workflows by one grade letter. That means we should soon have some \"B\" grades\nmixed in with the lower scores. We also intend to validate our scores with user research since\nthis initial effort focused on\na ",[33,453,456],{"href":454,"rel":455},"https://careerfoundry.com/en/blog/ux-design/what-is-a-heuristic-evaluation-in-ux/",[],"heuristic evaluation",".",[12,459,460,461,466],{},"At the beginning of Q3, our Product team has already prioritized refining\nthe ",[33,462,465],{"href":463,"rel":464},"https://gitlab.com/groups/gitlab-org/-/epics/377",[],"GitLab.com Free Trial"," experience. They've\nalso committed to improvements for adding an existing Kubernetes cluster.",[12,468,469],{},"We're excited to work with our product team to prioritize refining other parts of the product\nthat are important to users. This effort should help move us closer to our goal of providing\nan elevated user experience that customers love.",[12,471,472,473,478,479],{},"Cover image by ",[33,474,477],{"href":475,"rel":476},"https://unsplash.com/@startaeteam",[],"Startae"," on ",[33,480,483],{"href":481,"rel":482},"https://unsplash.com/license",[],"Unsplash",{"title":485,"searchDepth":486,"depth":486,"links":487},"",2,[488,489,490,496],{"id":24,"depth":486,"text":25},{"id":69,"depth":486,"text":70},{"id":118,"depth":486,"text":119,"children":491},[492,494,495],{"id":126,"depth":493,"text":127},3,{"id":292,"depth":493,"text":293},{"id":396,"depth":493,"text":397},{"id":441,"depth":486,"text":442},"company","2019-09-05","How we're using UX Scorecards to improve GitLab's UX.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673002/Blog/Hero%20Images/blog-experience-baselines.jpg",{},true,"/en-us/blog/refining-gitlab-product-experience",{"title":5,"description":499,"ogTitle":5,"ogDescription":499,"noIndex":502,"ogImage":503,"ogUrl":508,"ogSiteName":509,"ogType":510,"canonicalUrls":508},"https://about.gitlab.com/blog/refining-gitlab-product-experience","https://about.gitlab.com","article","refining-gitlab-product-experience","en-us/blog/refining-gitlab-product-experience",[514,515],"UX","UI","BlogPost","wwvVUYTBaVZ2H8-8jgoVQqcK97fcbU3F2hXkqoUbgQ4",{"logo":519,"freeTrial":524,"sales":529,"login":534,"items":539,"search":865,"minimal":896,"duo":915,"switchNav":924,"pricingDeployment":935},{"config":520},{"href":521,"dataGaName":522,"dataGaLocation":523},"/","gitlab logo","header",{"text":525,"config":526},"Get free trial",{"href":527,"dataGaName":528,"dataGaLocation":523},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":530,"config":531},"Request a demo",{"href":532,"dataGaName":533,"dataGaLocation":523},"/sales/?contact-topic=request-demo","sales",{"text":535,"config":536},"Sign in",{"href":537,"dataGaName":538,"dataGaLocation":523},"https://gitlab.com/users/sign_in/","sign in",[540,569,669,674,788,843],{"text":541,"config":542,"menu":544},"Platform",{"dataNavLevelOne":543},"platform",{"type":545,"columns":546},"cards",[547,553,561],{"title":541,"description":548,"link":549},"The intelligent orchestration platform for DevSecOps",{"text":550,"config":551},"Explore our Platform",{"href":552,"dataGaName":543,"dataGaLocation":523},"/platform/",{"title":554,"description":555,"link":556},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":557,"config":558},"Meet GitLab Duo",{"href":559,"dataGaName":560,"dataGaLocation":523},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":562,"description":563,"link":564},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":565,"config":566},"Learn more",{"href":567,"dataGaName":568,"dataGaLocation":523},"/why-gitlab/","why gitlab",{"text":570,"left":505,"config":571,"menu":573},"Product",{"dataNavLevelOne":572},"solutions",{"type":574,"link":575,"columns":579,"feature":648},"lists",{"text":576,"config":577},"View all Solutions",{"href":578,"dataGaName":572,"dataGaLocation":523},"/solutions/",[580,604,627],{"title":581,"description":582,"link":583,"items":588},"Automation","CI/CD and automation to accelerate deployment",{"config":584},{"icon":585,"href":586,"dataGaName":587,"dataGaLocation":523},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[589,593,596,600],{"text":590,"config":591},"CI/CD",{"href":592,"dataGaLocation":523,"dataGaName":590},"/solutions/continuous-integration/",{"text":554,"config":594},{"href":559,"dataGaLocation":523,"dataGaName":595},"gitlab duo agent platform - product menu",{"text":597,"config":598},"Source Code Management",{"href":599,"dataGaLocation":523,"dataGaName":597},"/solutions/source-code-management/",{"text":601,"config":602},"Automated Software Delivery",{"href":586,"dataGaLocation":523,"dataGaName":603},"Automated software delivery",{"title":605,"description":606,"link":607,"items":612},"Security","Deliver code faster without compromising security",{"config":608},{"href":609,"dataGaName":610,"dataGaLocation":523,"icon":611},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[613,617,622],{"text":614,"config":615},"Application Security Testing",{"href":609,"dataGaName":616,"dataGaLocation":523},"Application security testing",{"text":618,"config":619},"Software Supply Chain Security",{"href":620,"dataGaLocation":523,"dataGaName":621},"/solutions/supply-chain/","Software supply chain security",{"text":623,"config":624},"Software Compliance",{"href":625,"dataGaName":626,"dataGaLocation":523},"/solutions/software-compliance/","software compliance",{"title":628,"link":629,"items":634},"Measurement",{"config":630},{"icon":631,"href":632,"dataGaName":633,"dataGaLocation":523},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[635,639,643],{"text":636,"config":637},"Visibility & Measurement",{"href":632,"dataGaLocation":523,"dataGaName":638},"Visibility and Measurement",{"text":640,"config":641},"Value Stream Management",{"href":642,"dataGaLocation":523,"dataGaName":640},"/solutions/value-stream-management/",{"text":644,"config":645},"Analytics & Insights",{"href":646,"dataGaLocation":523,"dataGaName":647},"/solutions/analytics-and-insights/","Analytics and insights",{"title":649,"type":574,"items":650},"GitLab for",[651,657,663],{"text":652,"config":653},"Enterprise",{"icon":654,"href":655,"dataGaLocation":523,"dataGaName":656},"Building","/enterprise/","enterprise",{"text":658,"config":659},"Small Business",{"icon":660,"href":661,"dataGaLocation":523,"dataGaName":662},"Work","/small-business/","small business",{"text":664,"config":665},"Public Sector",{"icon":666,"href":667,"dataGaLocation":523,"dataGaName":668},"Organization","/solutions/public-sector/","public sector",{"text":670,"config":671},"Pricing",{"href":672,"dataGaName":673,"dataGaLocation":523,"dataNavLevelOne":673},"/pricing/","pricing",{"text":675,"config":676,"menu":678},"Resources",{"dataNavLevelOne":677},"resources",{"type":574,"link":679,"columns":683,"feature":777},{"text":680,"config":681},"View all resources",{"href":682,"dataGaName":677,"dataGaLocation":523},"/resources/",[684,717,744],{"title":685,"items":686},"Getting started",[687,692,697,702,707,712],{"text":688,"config":689},"Install",{"href":690,"dataGaName":691,"dataGaLocation":523},"/install/","install",{"text":693,"config":694},"Quick start guides",{"href":695,"dataGaName":696,"dataGaLocation":523},"/get-started/","quick setup checklists",{"text":698,"config":699},"Learn",{"href":700,"dataGaLocation":523,"dataGaName":701},"https://university.gitlab.com/","learn",{"text":703,"config":704},"Product documentation",{"href":705,"dataGaName":706,"dataGaLocation":523},"https://docs.gitlab.com/","product documentation",{"text":708,"config":709},"Best practice videos",{"href":710,"dataGaName":711,"dataGaLocation":523},"/getting-started-videos/","best practice videos",{"text":713,"config":714},"Integrations",{"href":715,"dataGaName":716,"dataGaLocation":523},"/integrations/","integrations",{"title":718,"items":719},"Discover",[720,725,730,735,739],{"text":721,"config":722},"Customer success stories",{"href":723,"dataGaName":724,"dataGaLocation":523},"/customers/","customer success stories",{"text":726,"config":727},"Blog",{"href":728,"dataGaName":729,"dataGaLocation":523},"/blog/","blog",{"text":731,"config":732},"Demo Hub",{"href":733,"dataGaName":734,"dataGaLocation":523},"/demo-hub/","demo hub",{"text":736,"config":737},"The Source",{"href":738,"dataGaName":729,"dataGaLocation":523},"/the-source/",{"text":740,"config":741},"Remote",{"href":742,"dataGaName":743,"dataGaLocation":523},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":745,"items":746},"Connect",[747,752,757,762,767,772],{"text":748,"config":749},"GitLab Services",{"href":750,"dataGaName":751,"dataGaLocation":523},"/services/","services",{"text":753,"config":754},"Contribute",{"href":755,"dataGaName":756,"dataGaLocation":523},"https://contributors.gitlab.com","contribute",{"text":758,"config":759},"Community",{"href":760,"dataGaName":761,"dataGaLocation":523},"/community/","community",{"text":763,"config":764},"Forum",{"href":765,"dataGaName":766,"dataGaLocation":523},"https://forum.gitlab.com/","forum",{"text":768,"config":769},"Events",{"href":770,"dataGaName":771,"dataGaLocation":523},"/events/","events",{"text":773,"config":774},"Partners",{"href":775,"dataGaName":776,"dataGaLocation":523},"/partners/","partners",{"config":778,"title":781,"text":782,"link":783},{"background":779,"textColor":780},"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":784,"config":785},"Read the latest",{"href":786,"dataGaName":787,"dataGaLocation":523},"/whats-new/","whats new",{"text":789,"config":790,"menu":791},"Company",{"dataNavLevelOne":497},{"type":574,"columns":792},[793],{"items":794},[795,800,806,808,813,818,823,828,833,838],{"text":796,"config":797},"About",{"href":798,"dataGaName":799,"dataGaLocation":523},"/company/","about",{"text":801,"config":802,"footerGa":805},"Jobs",{"href":803,"dataGaName":804,"dataGaLocation":523},"/jobs/","jobs",{"dataGaName":804},{"text":768,"config":807},{"href":770,"dataGaName":771,"dataGaLocation":523},{"text":809,"config":810},"Leadership",{"href":811,"dataGaName":812,"dataGaLocation":523},"/company/team/e-group/","leadership",{"text":814,"config":815},"Handbook",{"href":816,"dataGaName":817,"dataGaLocation":523},"https://handbook.gitlab.com/","handbook",{"text":819,"config":820},"Investor relations",{"href":821,"dataGaName":822,"dataGaLocation":523},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":824,"config":825},"Trust Center",{"href":826,"dataGaName":827,"dataGaLocation":523},"/security/","trust center",{"text":829,"config":830},"AI Transparency Center",{"href":831,"dataGaName":832,"dataGaLocation":523},"/ai-transparency-center/","ai transparency center",{"text":834,"config":835},"Newsletter",{"href":836,"dataGaName":837,"dataGaLocation":523},"/company/contact/#contact-forms","newsletter",{"text":839,"config":840},"Press",{"href":841,"dataGaName":842,"dataGaLocation":523},"/press/","press",{"text":844,"config":845,"menu":846},"Contact us",{"dataNavLevelOne":497},{"type":574,"columns":847},[848],{"items":849},[850,855,860],{"text":851,"config":852},"Talk to sales",{"href":853,"dataGaName":854,"dataGaLocation":523},"/sales/","talk to sales",{"text":856,"config":857},"Support portal",{"href":858,"dataGaName":859,"dataGaLocation":523},"https://support.gitlab.com/hc/en-us","support portal",{"text":861,"config":862},"Customer portal",{"href":863,"dataGaName":864,"dataGaLocation":523},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":866,"login":867,"suggestions":874},"Close",{"text":868,"link":869},"To search repositories and projects, login to",{"text":870,"config":871},"gitlab.com",{"href":537,"dataGaName":872,"dataGaLocation":873},"search login","search",{"text":875,"default":876},"Suggestions",[877,879,883,885,889,893],{"text":554,"config":878},{"href":559,"dataGaName":554,"dataGaLocation":873},{"text":880,"config":881},"Code Suggestions (AI)",{"href":882,"dataGaName":880,"dataGaLocation":873},"/solutions/code-suggestions/",{"text":590,"config":884},{"href":592,"dataGaName":590,"dataGaLocation":873},{"text":886,"config":887},"GitLab on AWS",{"href":888,"dataGaName":886,"dataGaLocation":873},"/partners/technology-partners/aws/",{"text":890,"config":891},"GitLab on Google Cloud",{"href":892,"dataGaName":890,"dataGaLocation":873},"/partners/technology-partners/google-cloud-platform/",{"text":894,"config":895},"Why GitLab?",{"href":567,"dataGaName":894,"dataGaLocation":873},{"freeTrial":897,"mobileIcon":902,"desktopIcon":907,"secondaryButton":910},{"text":898,"config":899},"Start free trial",{"href":900,"dataGaName":528,"dataGaLocation":901},"https://gitlab.com/-/trials/new/","nav",{"altText":903,"config":904},"Gitlab Icon",{"src":905,"dataGaName":906,"dataGaLocation":901},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":903,"config":908},{"src":909,"dataGaName":906,"dataGaLocation":901},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":911,"config":912},"Get Started",{"href":913,"dataGaName":914,"dataGaLocation":901},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":916,"mobileIcon":920,"desktopIcon":922},{"text":917,"config":918},"Learn more about GitLab Duo",{"href":559,"dataGaName":919,"dataGaLocation":901},"gitlab duo",{"altText":903,"config":921},{"src":905,"dataGaName":906,"dataGaLocation":901},{"altText":903,"config":923},{"src":909,"dataGaName":906,"dataGaLocation":901},{"button":925,"mobileIcon":930,"desktopIcon":932},{"text":926,"config":927},"/switch",{"href":928,"dataGaName":929,"dataGaLocation":901},"#contact","switch",{"altText":903,"config":931},{"src":905,"dataGaName":906,"dataGaLocation":901},{"altText":903,"config":933},{"src":934,"dataGaName":906,"dataGaLocation":901},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":936,"mobileIcon":941,"desktopIcon":943},{"text":937,"config":938},"Back to pricing",{"href":672,"dataGaName":939,"dataGaLocation":901,"icon":940},"back to pricing","GoBack",{"altText":903,"config":942},{"src":905,"dataGaName":906,"dataGaLocation":901},{"altText":903,"config":944},{"src":909,"dataGaName":906,"dataGaLocation":901},{"title":946,"titleMobile":947,"button":948,"config":953},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":565,"config":949},{"href":950,"dataGaName":951,"dataGaLocation":952},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":954,"disabled":502},"release",{"data":956},{"text":957,"source":958,"edit":964,"contribute":969,"config":974,"items":979,"minimal":1189},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":959,"config":960},"View page source",{"href":961,"dataGaName":962,"dataGaLocation":963},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":965,"config":966},"Edit this page",{"href":967,"dataGaName":968,"dataGaLocation":963},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":970,"config":971},"Please contribute",{"href":972,"dataGaName":973,"dataGaLocation":963},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":975,"facebook":976,"youtube":977,"linkedin":978},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[980,1027,1081,1125,1157],{"title":670,"links":981,"subMenu":996},[982,986,991],{"text":983,"config":984},"View plans",{"href":672,"dataGaName":985,"dataGaLocation":963},"view plans",{"text":987,"config":988},"Why Premium?",{"href":989,"dataGaName":990,"dataGaLocation":963},"/pricing/premium/","why premium",{"text":992,"config":993},"Why Ultimate?",{"href":994,"dataGaName":995,"dataGaLocation":963},"/pricing/ultimate/","why ultimate",[997],{"title":998,"links":999},"Contact Us",[1000,1003,1005,1007,1012,1017,1022],{"text":1001,"config":1002},"Contact sales",{"href":853,"dataGaName":533,"dataGaLocation":963},{"text":856,"config":1004},{"href":858,"dataGaName":859,"dataGaLocation":963},{"text":861,"config":1006},{"href":863,"dataGaName":864,"dataGaLocation":963},{"text":1008,"config":1009},"Status",{"href":1010,"dataGaName":1011,"dataGaLocation":963},"https://status.gitlab.com/","status",{"text":1013,"config":1014},"Terms of use",{"href":1015,"dataGaName":1016,"dataGaLocation":963},"/terms/","terms of use",{"text":1018,"config":1019},"Privacy statement",{"href":1020,"dataGaName":1021,"dataGaLocation":963},"/privacy/","privacy statement",{"text":1023,"config":1024},"Cookie preferences",{"dataGaName":1025,"dataGaLocation":963,"id":1026,"isOneTrustButton":505},"cookie preferences","ot-sdk-btn",{"title":570,"links":1028,"subMenu":1037},[1029,1033],{"text":1030,"config":1031},"DevSecOps platform",{"href":552,"dataGaName":1032,"dataGaLocation":963},"devsecops platform",{"text":1034,"config":1035},"AI-Assisted Development",{"href":559,"dataGaName":1036,"dataGaLocation":963},"ai-assisted development",[1038],{"title":1039,"links":1040},"Topics",[1041,1046,1051,1056,1061,1066,1071,1076],{"text":1042,"config":1043},"CICD",{"href":1044,"dataGaName":1045,"dataGaLocation":963},"/topics/ci-cd/","cicd",{"text":1047,"config":1048},"GitOps",{"href":1049,"dataGaName":1050,"dataGaLocation":963},"/topics/gitops/","gitops",{"text":1052,"config":1053},"DevOps",{"href":1054,"dataGaName":1055,"dataGaLocation":963},"/topics/devops/","devops",{"text":1057,"config":1058},"Version Control",{"href":1059,"dataGaName":1060,"dataGaLocation":963},"/topics/version-control/","version control",{"text":1062,"config":1063},"DevSecOps",{"href":1064,"dataGaName":1065,"dataGaLocation":963},"/topics/devsecops/","devsecops",{"text":1067,"config":1068},"Cloud Native",{"href":1069,"dataGaName":1070,"dataGaLocation":963},"/topics/cloud-native/","cloud native",{"text":1072,"config":1073},"AI for Coding",{"href":1074,"dataGaName":1075,"dataGaLocation":963},"/topics/devops/ai-for-coding/","ai for coding",{"text":1077,"config":1078},"Agentic AI",{"href":1079,"dataGaName":1080,"dataGaLocation":963},"/topics/agentic-ai/","agentic ai",{"title":1082,"links":1083},"Solutions",[1084,1086,1088,1093,1097,1100,1104,1107,1109,1112,1115,1120],{"text":614,"config":1085},{"href":609,"dataGaName":614,"dataGaLocation":963},{"text":603,"config":1087},{"href":586,"dataGaName":587,"dataGaLocation":963},{"text":1089,"config":1090},"Agile development",{"href":1091,"dataGaName":1092,"dataGaLocation":963},"/solutions/agile-delivery/","agile delivery",{"text":1094,"config":1095},"SCM",{"href":599,"dataGaName":1096,"dataGaLocation":963},"source code management",{"text":1042,"config":1098},{"href":592,"dataGaName":1099,"dataGaLocation":963},"continuous integration & delivery",{"text":1101,"config":1102},"Value stream management",{"href":642,"dataGaName":1103,"dataGaLocation":963},"value stream management",{"text":1047,"config":1105},{"href":1106,"dataGaName":1050,"dataGaLocation":963},"/solutions/gitops/",{"text":652,"config":1108},{"href":655,"dataGaName":656,"dataGaLocation":963},{"text":1110,"config":1111},"Small business",{"href":661,"dataGaName":662,"dataGaLocation":963},{"text":1113,"config":1114},"Public sector",{"href":667,"dataGaName":668,"dataGaLocation":963},{"text":1116,"config":1117},"Education",{"href":1118,"dataGaName":1119,"dataGaLocation":963},"/solutions/education/","education",{"text":1121,"config":1122},"Financial services",{"href":1123,"dataGaName":1124,"dataGaLocation":963},"/solutions/finance/","financial services",{"title":675,"links":1126},[1127,1129,1131,1133,1136,1138,1141,1143,1145,1147,1149,1151,1153,1155],{"text":688,"config":1128},{"href":690,"dataGaName":691,"dataGaLocation":963},{"text":693,"config":1130},{"href":695,"dataGaName":696,"dataGaLocation":963},{"text":698,"config":1132},{"href":700,"dataGaName":701,"dataGaLocation":963},{"text":703,"config":1134},{"href":705,"dataGaName":1135,"dataGaLocation":963},"docs",{"text":726,"config":1137},{"href":728,"dataGaName":729,"dataGaLocation":963},{"text":1139,"config":1140},"What's new",{"href":786,"dataGaName":787,"dataGaLocation":963},{"text":721,"config":1142},{"href":723,"dataGaName":724,"dataGaLocation":963},{"text":740,"config":1144},{"href":742,"dataGaName":743,"dataGaLocation":963},{"text":748,"config":1146},{"href":750,"dataGaName":751,"dataGaLocation":963},{"text":753,"config":1148},{"href":755,"dataGaName":756,"dataGaLocation":963},{"text":758,"config":1150},{"href":760,"dataGaName":761,"dataGaLocation":963},{"text":763,"config":1152},{"href":765,"dataGaName":766,"dataGaLocation":963},{"text":768,"config":1154},{"href":770,"dataGaName":771,"dataGaLocation":963},{"text":773,"config":1156},{"href":775,"dataGaName":776,"dataGaLocation":963},{"title":789,"links":1158},[1159,1161,1163,1165,1167,1169,1173,1178,1180,1182,1184],{"text":796,"config":1160},{"href":798,"dataGaName":497,"dataGaLocation":963},{"text":801,"config":1162},{"href":803,"dataGaName":804,"dataGaLocation":963},{"text":809,"config":1164},{"href":811,"dataGaName":812,"dataGaLocation":963},{"text":814,"config":1166},{"href":816,"dataGaName":817,"dataGaLocation":963},{"text":819,"config":1168},{"href":821,"dataGaName":822,"dataGaLocation":963},{"text":1170,"config":1171},"Sustainability",{"href":1172,"dataGaName":1170,"dataGaLocation":963},"/sustainability/",{"text":1174,"config":1175},"Diversity, inclusion and belonging (DIB)",{"href":1176,"dataGaName":1177,"dataGaLocation":963},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":824,"config":1179},{"href":826,"dataGaName":827,"dataGaLocation":963},{"text":834,"config":1181},{"href":836,"dataGaName":837,"dataGaLocation":963},{"text":839,"config":1183},{"href":841,"dataGaName":842,"dataGaLocation":963},{"text":1185,"config":1186},"Modern Slavery Transparency Statement",{"href":1187,"dataGaName":1188,"dataGaLocation":963},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1190},[1191,1194,1197],{"text":1192,"config":1193},"Terms",{"href":1015,"dataGaName":1016,"dataGaLocation":963},{"text":1195,"config":1196},"Cookies",{"dataGaName":1025,"dataGaLocation":963,"id":1026,"isOneTrustButton":505},{"text":1198,"config":1199},"Privacy",{"href":1020,"dataGaName":1021,"dataGaLocation":963},[1201],{"id":1202,"title":7,"body":501,"config":1203,"content":1205,"description":501,"extension":1209,"meta":1210,"navigation":505,"path":1211,"seo":1212,"stem":1213,"__hash__":1214},"blogAuthors/en-us/blog/authors/christie-lenneville.yml",{"template":1204},"BlogAuthor",{"name":7,"config":1206},{"headshot":1207,"ctfId":1208},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670047/Blog/Author%20Headshots/clenneville-headshot.jpg","clenneville","yml",{},"/en-us/blog/authors/christie-lenneville",{},"en-us/blog/authors/christie-lenneville","pZQTNPPQIGFVkSCsP_Vk7W24sKVUP00o4BgHVVrekHo",[1216,1224,1231],{"title":1217,"description":1218,"heroImage":1219,"category":497,"date":1220,"authors":1221,"slug":1223,"externalUrl":501},"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",[1222],"Bill Staples","open-weight-model-letter",{"title":1225,"description":1226,"heroImage":1227,"category":497,"date":1228,"authors":1229,"slug":1230,"externalUrl":501},"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",[1222],"gitlab-act-2",{"title":1232,"description":1233,"heroImage":1234,"category":497,"date":1235,"authors":1236,"slug":1238,"externalUrl":501},"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",[1237],"Rebecca Carter","gitlab-named-a-2026-omdia-universe-leader",{"promotions":1240},[1241,1255,1267,1279],{"id":1242,"categories":1243,"header":1245,"text":1246,"button":1247,"image":1252},"ai-modernization",[1244],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":1248,"config":1249},"Get your AI maturity score",{"href":1250,"dataGaName":1251,"dataGaLocation":729},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":1253},{"src":1254},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1256,"categories":1257,"header":1259,"text":1246,"button":1260,"image":1264},"devops-modernization",[1258,1065],"product","Are you just managing tools or shipping innovation?",{"text":1261,"config":1262},"Get your DevOps maturity score",{"href":1263,"dataGaName":1251,"dataGaLocation":729},"/assessments/devops-modernization-assessment/",{"config":1265},{"src":1266},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1268,"categories":1269,"header":1271,"text":1246,"button":1272,"image":1276},"security-modernization",[1270],"security","Are you trading speed for security?",{"text":1273,"config":1274},"Get your security maturity score",{"href":1275,"dataGaName":1251,"dataGaLocation":729},"/assessments/security-modernization-assessment/",{"config":1277},{"src":1278},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1280,"paths":1281,"header":1284,"text":1285,"button":1286,"image":1291},"github-azure-migration",[1282,1283],"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":1287,"config":1288},"See how GitLab compares to GitHub",{"href":1289,"dataGaName":1290,"dataGaLocation":729},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1292},{"src":1266},{"header":1294,"blurb":1295,"button":1296,"secondaryButton":1301},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1297,"config":1298},"Get your free trial",{"href":1299,"dataGaName":528,"dataGaLocation":1300},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":1001,"config":1302},{"href":853,"dataGaName":533,"dataGaLocation":1300},1786803772614]