[{"data":1,"prerenderedAt":973},["ShallowReactive",2],{"/blog/how-our-ux-team-worked-through-ideation-using-the-four-step-sketch":3,"navigation-en-us":185,"banner-en-us":613,"footer-en-us":623,"blog-post-authors-en-us-Taurie Davis":868,"blog-related-posts-en-us-how-our-ux-team-worked-through-ideation-using-the-four-step-sketch":883,"blog-promotions-en-us":909,"next-steps-en-us":963},{"id":4,"title":5,"authors":6,"body":8,"category":158,"date":159,"description":160,"extension":161,"externalUrl":162,"faq":162,"featured":163,"heroImage":164,"meta":165,"navigation":175,"path":176,"seo":177,"slug":181,"stem":182,"tags":162,"template":183,"updatedDate":162,"__hash__":184},"blogPosts/en-us/blog/how-our-ux-team-worked-through-ideation-using-the-four-step-sketch.md","How our UX team worked through ideation using the Four-Step Sketch",[7],"Taurie Davis",{"type":9,"value":10,"toc":150},"minimark",[11,27,42,47,50,63,66,70,73,87,90,93,100,103,109,112,115,121,125,140],[12,13,14,15,20,21,26],"p",{},"Throughout our ",[16,17,19],"a",{"href":18},"/blog/gitlab-mexico-summit-2017/","summit in Cancún",", the UX team took advantage of the time we had together by creating workshops that dived into some larger features we thought would benefit from discussing, brainstorming, and sketching. We chose the idea of a ",[16,22,25],{"href":23,"rel":24},"https://gitlab.com/gitlab-org/gitlab-ce/issues/22551",[],"smart project dashboard"," as one of the features to focus on as we worked through the ideation phase.",[12,28,29,30,35,36,41],{},"In one of our two hour workshops, we took an expedited approach to the ",[16,31,34],{"href":32,"rel":33},"http://www.gv.com/sprint/",[],"Google Ventures Design Sprint"," process. Their method is focused on answering critical questions through design over the course of five days. Customizing the exercise for our limited time, we used portions of their checklist from ",[16,37,40],{"href":38,"rel":39},"https://library.gv.com/sprint-week-tuesday-d22b30f905c3",[],"Day 2",". In this post, I'll share how we set ourselves up for a productive session.",[43,44,46],"h3",{"id":45},"the-problem","The problem",[12,48,49],{},"One of our primary goals was to create a tool that reflects the status of a project as it evolves through each step of the idea-to-production lifecycle. Before getting started, we established some basic details regarding the feature that would help provide a structure for discussion:",[51,52,53,57,60],"ul",{},[54,55,56],"li",{},"Content would be customized to the project, but every user would see the same information.",[54,58,59],{},"As someone unfamiliar with the project, I can, at a glance, understand the overall status of the project.",[54,61,62],{},"As someone familiar with the project, I can understand the status of the areas I care about. It is also clear which items needs my attention.",[12,64,65],{},"We used these as guidelines to start our exploration into what it could mean to transform the project dashboard.",[43,67,69],{"id":68},"the-process","The process",[12,71,72],{},"With an ambitious problem now in mind, we structured our workshop to focus on the ideation phase using Google Ventures' Four-Step Sketch as inspiration:",[51,74,75,78,81,84],{},[54,76,77],{},"Notes/Ideas: 10 mins",[54,79,80],{},"Crazy 8s: 8 mins",[54,82,83],{},"Solution sketch/storyboards: 30 mins",[54,85,86],{},"Silent critique: 10 mins",[12,88,89],{},"We began with 10 minutes to jot down notes and ideas individually. We used this time to become more familiar with the current state of the dashboard, think about possibilities of where it could go, and reflect on questions that arose as a result. These notes were meant for ourselves, as a way to review and understand the problem.",[12,91,92],{},"After gathering our thoughts, we went straight into the rapid iterative sketching process: Crazy 8s. This method allowed the team to individually generate a lot of ideas quickly by sketching eight different interactions within an eight minute time frame. With one minute per frame, we were forced to throw perfection out the window and focus on getting ideas onto paper. Many of us began to feel like we were scraping the bottom of the barrel to come up with new sketches as the minutes passed, but this is often when great solutions begin to arise.",[12,94,95],{},[96,97],"img",{"alt":98,"src":99},"crazyeights","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398489/blog/Content%20Images/how-our-ux-team-worked-through-ideation-using-the-four-step-sketch/facilitating-ideas--crazyeights.jpg",[12,101,102],{},"After thinking about the problem and potential solutions individually, we began solution-sketching through storyboards. This gave us the chance to further develop the details of a solution we chose through the crazy 8s. We started with a blank sheet of paper, placed three sticky notes on the page to represent three frames, and spent twenty minutes sketching more detailed wireframes. In the surrounding white space, we named our storyboard and wrote a brief explanation of the idea in order to ensure that the frame was understandable without verbal explanation. This helped us prepare for the next step, our silent critique.",[12,104,105],{},[96,106],{"alt":107,"src":108},"storyboards","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398489/blog/Content%20Images/how-our-ux-team-worked-through-ideation-using-the-four-step-sketch/facilitating-ideas--storyboard.jpg",[12,110,111],{},"We moved to an area in the room that allowed us to hang our storyboards on the wall and gave everyone dot stickers to use as part of the critique. We spent ten minutes looking at all of the solutions and placed stickers on every idea that we liked, focusing only on the positive. There were no rules regarding how many stickers you used. After we had finished, multiple ideas began to stand out among our boards.",[12,113,114],{},"We naturally began discussing all the solutions and adding sticky notes to the wall when we came up with a prominent idea or question to come back to. We spent about 45 minutes doing a group critique and discussing the storyboards in more detail. This also gave us the opportunity to ask questions and get clarification on aspects that may not have been immediately clear. We saw patterns emerge from the different sketches and common ideas became more prominent.",[12,116,117],{},[96,118],{"alt":119,"src":120},"team","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398489/blog/Content%20Images/how-our-ux-team-worked-through-ideation-using-the-four-step-sketch/facilitating-ideas--team.jpg",[43,122,124],{"id":123},"next-steps","Next steps",[12,126,127,128,133,134,139],{},"At the end of our workshop we had generated a number of ideas for the new project dashboard. The Four-Step Sketch was great for opening our minds and allowing us to develop and communicate solutions. You can ",[16,129,132],{"href":130,"rel":131},"https://drive.google.com/drive/folders/0B-PqsmU0p5QVMFZCNm4yRFhBblU?usp=sharing",[],"view all of our sketches",", and ",[16,135,138],{"href":136,"rel":137},"https://gitlab.com/gitlab-org/gitlab-ce/issues/27112",[],"contribute to the issue"," as we continue to flesh out details surrounding the new dashboard.",[12,141,142],{},[143,144,145,146],"em",{},"How does your team work together through the ideation phase? Get in touch through the comments below or via ",[16,147,149],{"href":148},"mailto:taurie@gitlab.com","taurie@gitlab.com",{"title":151,"searchDepth":152,"depth":152,"links":153},"",2,[154,156,157],{"id":45,"depth":155,"text":46},3,{"id":68,"depth":155,"text":69},{"id":123,"depth":155,"text":124},"engineering","2017-02-23","During our recent Summit, the UX team customized the Google Ventures Design Sprint process to tackle some of our larger feature proposals.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684097/Blog/Hero%20Images/facilitating-ideas--overview.jpg",{"excerpt":166},{"type":9,"value":167},[168],[12,169,14,170,20,172,26],{},[16,171,19],{"href":18},[16,173,25],{"href":23,"rel":174},[],true,"/en-us/blog/how-our-ux-team-worked-through-ideation-using-the-four-step-sketch",{"title":5,"description":160,"ogTitle":5,"ogDescription":160,"noIndex":163,"ogImage":164,"ogUrl":178,"ogSiteName":179,"ogType":180,"canonicalUrls":178},"https://about.gitlab.com/blog/how-our-ux-team-worked-through-ideation-using-the-four-step-sketch","https://about.gitlab.com","article","how-our-ux-team-worked-through-ideation-using-the-four-step-sketch","en-us/blog/how-our-ux-team-worked-through-ideation-using-the-four-step-sketch","BlogPost","Bhxi0q0rpnU9bC9k2FEs2ojYAnUAVkh757UkuESJulY",{"logo":186,"freeTrial":191,"sales":196,"login":201,"items":206,"search":533,"minimal":564,"duo":583,"switchNav":592,"pricingDeployment":603},{"config":187},{"href":188,"dataGaName":189,"dataGaLocation":190},"/","gitlab logo","header",{"text":192,"config":193},"Get free trial",{"href":194,"dataGaName":195,"dataGaLocation":190},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":197,"config":198},"Request a demo",{"href":199,"dataGaName":200,"dataGaLocation":190},"/sales/?contact-topic=request-demo","sales",{"text":202,"config":203},"Sign in",{"href":204,"dataGaName":205,"dataGaLocation":190},"https://gitlab.com/users/sign_in/","sign in",[207,236,336,341,455,511],{"text":208,"config":209,"menu":211},"Platform",{"dataNavLevelOne":210},"platform",{"type":212,"columns":213},"cards",[214,220,228],{"title":208,"description":215,"link":216},"The intelligent orchestration platform for DevSecOps",{"text":217,"config":218},"Explore our Platform",{"href":219,"dataGaName":210,"dataGaLocation":190},"/platform/",{"title":221,"description":222,"link":223},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":224,"config":225},"Meet GitLab Duo",{"href":226,"dataGaName":227,"dataGaLocation":190},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":229,"description":230,"link":231},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":232,"config":233},"Learn more",{"href":234,"dataGaName":235,"dataGaLocation":190},"/why-gitlab/","why gitlab",{"text":237,"left":175,"config":238,"menu":240},"Product",{"dataNavLevelOne":239},"solutions",{"type":241,"link":242,"columns":246,"feature":315},"lists",{"text":243,"config":244},"View all Solutions",{"href":245,"dataGaName":239,"dataGaLocation":190},"/solutions/",[247,271,294],{"title":248,"description":249,"link":250,"items":255},"Automation","CI/CD and automation to accelerate deployment",{"config":251},{"icon":252,"href":253,"dataGaName":254,"dataGaLocation":190},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[256,260,263,267],{"text":257,"config":258},"CI/CD",{"href":259,"dataGaLocation":190,"dataGaName":257},"/solutions/continuous-integration/",{"text":221,"config":261},{"href":226,"dataGaLocation":190,"dataGaName":262},"gitlab duo agent platform - product menu",{"text":264,"config":265},"Source Code Management",{"href":266,"dataGaLocation":190,"dataGaName":264},"/solutions/source-code-management/",{"text":268,"config":269},"Automated Software Delivery",{"href":253,"dataGaLocation":190,"dataGaName":270},"Automated software delivery",{"title":272,"description":273,"link":274,"items":279},"Security","Deliver code faster without compromising security",{"config":275},{"href":276,"dataGaName":277,"dataGaLocation":190,"icon":278},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[280,284,289],{"text":281,"config":282},"Application Security Testing",{"href":276,"dataGaName":283,"dataGaLocation":190},"Application security testing",{"text":285,"config":286},"Software Supply Chain Security",{"href":287,"dataGaLocation":190,"dataGaName":288},"/solutions/supply-chain/","Software supply chain security",{"text":290,"config":291},"Software Compliance",{"href":292,"dataGaName":293,"dataGaLocation":190},"/solutions/software-compliance/","software compliance",{"title":295,"link":296,"items":301},"Measurement",{"config":297},{"icon":298,"href":299,"dataGaName":300,"dataGaLocation":190},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[302,306,310],{"text":303,"config":304},"Visibility & Measurement",{"href":299,"dataGaLocation":190,"dataGaName":305},"Visibility and Measurement",{"text":307,"config":308},"Value Stream Management",{"href":309,"dataGaLocation":190,"dataGaName":307},"/solutions/value-stream-management/",{"text":311,"config":312},"Analytics & Insights",{"href":313,"dataGaLocation":190,"dataGaName":314},"/solutions/analytics-and-insights/","Analytics and insights",{"title":316,"type":241,"items":317},"GitLab for",[318,324,330],{"text":319,"config":320},"Enterprise",{"icon":321,"href":322,"dataGaLocation":190,"dataGaName":323},"Building","/enterprise/","enterprise",{"text":325,"config":326},"Small Business",{"icon":327,"href":328,"dataGaLocation":190,"dataGaName":329},"Work","/small-business/","small business",{"text":331,"config":332},"Public Sector",{"icon":333,"href":334,"dataGaLocation":190,"dataGaName":335},"Organization","/solutions/public-sector/","public sector",{"text":337,"config":338},"Pricing",{"href":339,"dataGaName":340,"dataGaLocation":190,"dataNavLevelOne":340},"/pricing/","pricing",{"text":342,"config":343,"menu":345},"Resources",{"dataNavLevelOne":344},"resources",{"type":241,"link":346,"columns":350,"feature":444},{"text":347,"config":348},"View all resources",{"href":349,"dataGaName":344,"dataGaLocation":190},"/resources/",[351,384,411],{"title":352,"items":353},"Getting started",[354,359,364,369,374,379],{"text":355,"config":356},"Install",{"href":357,"dataGaName":358,"dataGaLocation":190},"/install/","install",{"text":360,"config":361},"Quick start guides",{"href":362,"dataGaName":363,"dataGaLocation":190},"/get-started/","quick setup checklists",{"text":365,"config":366},"Learn",{"href":367,"dataGaLocation":190,"dataGaName":368},"https://university.gitlab.com/","learn",{"text":370,"config":371},"Product documentation",{"href":372,"dataGaName":373,"dataGaLocation":190},"https://docs.gitlab.com/","product documentation",{"text":375,"config":376},"Best practice videos",{"href":377,"dataGaName":378,"dataGaLocation":190},"/getting-started-videos/","best practice videos",{"text":380,"config":381},"Integrations",{"href":382,"dataGaName":383,"dataGaLocation":190},"/integrations/","integrations",{"title":385,"items":386},"Discover",[387,392,397,402,406],{"text":388,"config":389},"Customer success stories",{"href":390,"dataGaName":391,"dataGaLocation":190},"/customers/","customer success stories",{"text":393,"config":394},"Blog",{"href":395,"dataGaName":396,"dataGaLocation":190},"/blog/","blog",{"text":398,"config":399},"Demo Hub",{"href":400,"dataGaName":401,"dataGaLocation":190},"/demo-hub/","demo hub",{"text":403,"config":404},"The Source",{"href":405,"dataGaName":396,"dataGaLocation":190},"/the-source/",{"text":407,"config":408},"Remote",{"href":409,"dataGaName":410,"dataGaLocation":190},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":412,"items":413},"Connect",[414,419,424,429,434,439],{"text":415,"config":416},"GitLab Services",{"href":417,"dataGaName":418,"dataGaLocation":190},"/services/","services",{"text":420,"config":421},"Contribute",{"href":422,"dataGaName":423,"dataGaLocation":190},"https://contributors.gitlab.com","contribute",{"text":425,"config":426},"Community",{"href":427,"dataGaName":428,"dataGaLocation":190},"/community/","community",{"text":430,"config":431},"Forum",{"href":432,"dataGaName":433,"dataGaLocation":190},"https://forum.gitlab.com/","forum",{"text":435,"config":436},"Events",{"href":437,"dataGaName":438,"dataGaLocation":190},"/events/","events",{"text":440,"config":441},"Partners",{"href":442,"dataGaName":443,"dataGaLocation":190},"/partners/","partners",{"config":445,"title":448,"text":449,"link":450},{"background":446,"textColor":447},"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":451,"config":452},"Read the latest",{"href":453,"dataGaName":454,"dataGaLocation":190},"/whats-new/","whats new",{"text":456,"config":457,"menu":459},"Company",{"dataNavLevelOne":458},"company",{"type":241,"columns":460},[461],{"items":462},[463,468,474,476,481,486,491,496,501,506],{"text":464,"config":465},"About",{"href":466,"dataGaName":467,"dataGaLocation":190},"/company/","about",{"text":469,"config":470,"footerGa":473},"Jobs",{"href":471,"dataGaName":472,"dataGaLocation":190},"/jobs/","jobs",{"dataGaName":472},{"text":435,"config":475},{"href":437,"dataGaName":438,"dataGaLocation":190},{"text":477,"config":478},"Leadership",{"href":479,"dataGaName":480,"dataGaLocation":190},"/company/team/e-group/","leadership",{"text":482,"config":483},"Handbook",{"href":484,"dataGaName":485,"dataGaLocation":190},"https://handbook.gitlab.com/","handbook",{"text":487,"config":488},"Investor relations",{"href":489,"dataGaName":490,"dataGaLocation":190},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":492,"config":493},"Trust Center",{"href":494,"dataGaName":495,"dataGaLocation":190},"/security/","trust center",{"text":497,"config":498},"AI Transparency Center",{"href":499,"dataGaName":500,"dataGaLocation":190},"/ai-transparency-center/","ai transparency center",{"text":502,"config":503},"Newsletter",{"href":504,"dataGaName":505,"dataGaLocation":190},"/company/contact/#contact-forms","newsletter",{"text":507,"config":508},"Press",{"href":509,"dataGaName":510,"dataGaLocation":190},"/press/","press",{"text":512,"config":513,"menu":514},"Contact us",{"dataNavLevelOne":458},{"type":241,"columns":515},[516],{"items":517},[518,523,528],{"text":519,"config":520},"Talk to sales",{"href":521,"dataGaName":522,"dataGaLocation":190},"/sales/","talk to sales",{"text":524,"config":525},"Support portal",{"href":526,"dataGaName":527,"dataGaLocation":190},"https://support.gitlab.com/hc/en-us","support portal",{"text":529,"config":530},"Customer portal",{"href":531,"dataGaName":532,"dataGaLocation":190},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":534,"login":535,"suggestions":542},"Close",{"text":536,"link":537},"To search repositories and projects, login to",{"text":538,"config":539},"gitlab.com",{"href":204,"dataGaName":540,"dataGaLocation":541},"search login","search",{"text":543,"default":544},"Suggestions",[545,547,551,553,557,561],{"text":221,"config":546},{"href":226,"dataGaName":221,"dataGaLocation":541},{"text":548,"config":549},"Code Suggestions (AI)",{"href":550,"dataGaName":548,"dataGaLocation":541},"/solutions/code-suggestions/",{"text":257,"config":552},{"href":259,"dataGaName":257,"dataGaLocation":541},{"text":554,"config":555},"GitLab on AWS",{"href":556,"dataGaName":554,"dataGaLocation":541},"/partners/technology-partners/aws/",{"text":558,"config":559},"GitLab on Google Cloud",{"href":560,"dataGaName":558,"dataGaLocation":541},"/partners/technology-partners/google-cloud-platform/",{"text":562,"config":563},"Why GitLab?",{"href":234,"dataGaName":562,"dataGaLocation":541},{"freeTrial":565,"mobileIcon":570,"desktopIcon":575,"secondaryButton":578},{"text":566,"config":567},"Start free trial",{"href":568,"dataGaName":195,"dataGaLocation":569},"https://gitlab.com/-/trials/new/","nav",{"altText":571,"config":572},"Gitlab Icon",{"src":573,"dataGaName":574,"dataGaLocation":569},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":571,"config":576},{"src":577,"dataGaName":574,"dataGaLocation":569},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":579,"config":580},"Get Started",{"href":581,"dataGaName":582,"dataGaLocation":569},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":584,"mobileIcon":588,"desktopIcon":590},{"text":585,"config":586},"Learn more about GitLab Duo",{"href":226,"dataGaName":587,"dataGaLocation":569},"gitlab duo",{"altText":571,"config":589},{"src":573,"dataGaName":574,"dataGaLocation":569},{"altText":571,"config":591},{"src":577,"dataGaName":574,"dataGaLocation":569},{"button":593,"mobileIcon":598,"desktopIcon":600},{"text":594,"config":595},"/switch",{"href":596,"dataGaName":597,"dataGaLocation":569},"#contact","switch",{"altText":571,"config":599},{"src":573,"dataGaName":574,"dataGaLocation":569},{"altText":571,"config":601},{"src":602,"dataGaName":574,"dataGaLocation":569},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":604,"mobileIcon":609,"desktopIcon":611},{"text":605,"config":606},"Back to pricing",{"href":339,"dataGaName":607,"dataGaLocation":569,"icon":608},"back to pricing","GoBack",{"altText":571,"config":610},{"src":573,"dataGaName":574,"dataGaLocation":569},{"altText":571,"config":612},{"src":577,"dataGaName":574,"dataGaLocation":569},{"title":614,"titleMobile":615,"button":616,"config":621},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":232,"config":617},{"href":618,"dataGaName":619,"dataGaLocation":620},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":622,"disabled":163},"release",{"data":624},{"text":625,"source":626,"edit":632,"contribute":637,"config":642,"items":647,"minimal":857},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":627,"config":628},"View page source",{"href":629,"dataGaName":630,"dataGaLocation":631},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":633,"config":634},"Edit this page",{"href":635,"dataGaName":636,"dataGaLocation":631},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":638,"config":639},"Please contribute",{"href":640,"dataGaName":641,"dataGaLocation":631},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":643,"facebook":644,"youtube":645,"linkedin":646},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[648,695,749,793,825],{"title":337,"links":649,"subMenu":664},[650,654,659],{"text":651,"config":652},"View plans",{"href":339,"dataGaName":653,"dataGaLocation":631},"view plans",{"text":655,"config":656},"Why Premium?",{"href":657,"dataGaName":658,"dataGaLocation":631},"/pricing/premium/","why premium",{"text":660,"config":661},"Why Ultimate?",{"href":662,"dataGaName":663,"dataGaLocation":631},"/pricing/ultimate/","why ultimate",[665],{"title":666,"links":667},"Contact Us",[668,671,673,675,680,685,690],{"text":669,"config":670},"Contact sales",{"href":521,"dataGaName":200,"dataGaLocation":631},{"text":524,"config":672},{"href":526,"dataGaName":527,"dataGaLocation":631},{"text":529,"config":674},{"href":531,"dataGaName":532,"dataGaLocation":631},{"text":676,"config":677},"Status",{"href":678,"dataGaName":679,"dataGaLocation":631},"https://status.gitlab.com/","status",{"text":681,"config":682},"Terms of use",{"href":683,"dataGaName":684,"dataGaLocation":631},"/terms/","terms of use",{"text":686,"config":687},"Privacy statement",{"href":688,"dataGaName":689,"dataGaLocation":631},"/privacy/","privacy statement",{"text":691,"config":692},"Cookie preferences",{"dataGaName":693,"dataGaLocation":631,"id":694,"isOneTrustButton":175},"cookie preferences","ot-sdk-btn",{"title":237,"links":696,"subMenu":705},[697,701],{"text":698,"config":699},"DevSecOps platform",{"href":219,"dataGaName":700,"dataGaLocation":631},"devsecops platform",{"text":702,"config":703},"AI-Assisted Development",{"href":226,"dataGaName":704,"dataGaLocation":631},"ai-assisted development",[706],{"title":707,"links":708},"Topics",[709,714,719,724,729,734,739,744],{"text":710,"config":711},"CICD",{"href":712,"dataGaName":713,"dataGaLocation":631},"/topics/ci-cd/","cicd",{"text":715,"config":716},"GitOps",{"href":717,"dataGaName":718,"dataGaLocation":631},"/topics/gitops/","gitops",{"text":720,"config":721},"DevOps",{"href":722,"dataGaName":723,"dataGaLocation":631},"/topics/devops/","devops",{"text":725,"config":726},"Version Control",{"href":727,"dataGaName":728,"dataGaLocation":631},"/topics/version-control/","version control",{"text":730,"config":731},"DevSecOps",{"href":732,"dataGaName":733,"dataGaLocation":631},"/topics/devsecops/","devsecops",{"text":735,"config":736},"Cloud Native",{"href":737,"dataGaName":738,"dataGaLocation":631},"/topics/cloud-native/","cloud native",{"text":740,"config":741},"AI for Coding",{"href":742,"dataGaName":743,"dataGaLocation":631},"/topics/devops/ai-for-coding/","ai for coding",{"text":745,"config":746},"Agentic AI",{"href":747,"dataGaName":748,"dataGaLocation":631},"/topics/agentic-ai/","agentic ai",{"title":750,"links":751},"Solutions",[752,754,756,761,765,768,772,775,777,780,783,788],{"text":281,"config":753},{"href":276,"dataGaName":281,"dataGaLocation":631},{"text":270,"config":755},{"href":253,"dataGaName":254,"dataGaLocation":631},{"text":757,"config":758},"Agile development",{"href":759,"dataGaName":760,"dataGaLocation":631},"/solutions/agile-delivery/","agile delivery",{"text":762,"config":763},"SCM",{"href":266,"dataGaName":764,"dataGaLocation":631},"source code management",{"text":710,"config":766},{"href":259,"dataGaName":767,"dataGaLocation":631},"continuous integration & delivery",{"text":769,"config":770},"Value stream management",{"href":309,"dataGaName":771,"dataGaLocation":631},"value stream management",{"text":715,"config":773},{"href":774,"dataGaName":718,"dataGaLocation":631},"/solutions/gitops/",{"text":319,"config":776},{"href":322,"dataGaName":323,"dataGaLocation":631},{"text":778,"config":779},"Small business",{"href":328,"dataGaName":329,"dataGaLocation":631},{"text":781,"config":782},"Public sector",{"href":334,"dataGaName":335,"dataGaLocation":631},{"text":784,"config":785},"Education",{"href":786,"dataGaName":787,"dataGaLocation":631},"/solutions/education/","education",{"text":789,"config":790},"Financial services",{"href":791,"dataGaName":792,"dataGaLocation":631},"/solutions/finance/","financial services",{"title":342,"links":794},[795,797,799,801,804,806,809,811,813,815,817,819,821,823],{"text":355,"config":796},{"href":357,"dataGaName":358,"dataGaLocation":631},{"text":360,"config":798},{"href":362,"dataGaName":363,"dataGaLocation":631},{"text":365,"config":800},{"href":367,"dataGaName":368,"dataGaLocation":631},{"text":370,"config":802},{"href":372,"dataGaName":803,"dataGaLocation":631},"docs",{"text":393,"config":805},{"href":395,"dataGaName":396,"dataGaLocation":631},{"text":807,"config":808},"What's new",{"href":453,"dataGaName":454,"dataGaLocation":631},{"text":388,"config":810},{"href":390,"dataGaName":391,"dataGaLocation":631},{"text":407,"config":812},{"href":409,"dataGaName":410,"dataGaLocation":631},{"text":415,"config":814},{"href":417,"dataGaName":418,"dataGaLocation":631},{"text":420,"config":816},{"href":422,"dataGaName":423,"dataGaLocation":631},{"text":425,"config":818},{"href":427,"dataGaName":428,"dataGaLocation":631},{"text":430,"config":820},{"href":432,"dataGaName":433,"dataGaLocation":631},{"text":435,"config":822},{"href":437,"dataGaName":438,"dataGaLocation":631},{"text":440,"config":824},{"href":442,"dataGaName":443,"dataGaLocation":631},{"title":456,"links":826},[827,829,831,833,835,837,841,846,848,850,852],{"text":464,"config":828},{"href":466,"dataGaName":458,"dataGaLocation":631},{"text":469,"config":830},{"href":471,"dataGaName":472,"dataGaLocation":631},{"text":477,"config":832},{"href":479,"dataGaName":480,"dataGaLocation":631},{"text":482,"config":834},{"href":484,"dataGaName":485,"dataGaLocation":631},{"text":487,"config":836},{"href":489,"dataGaName":490,"dataGaLocation":631},{"text":838,"config":839},"Sustainability",{"href":840,"dataGaName":838,"dataGaLocation":631},"/sustainability/",{"text":842,"config":843},"Diversity, inclusion and belonging (DIB)",{"href":844,"dataGaName":845,"dataGaLocation":631},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":492,"config":847},{"href":494,"dataGaName":495,"dataGaLocation":631},{"text":502,"config":849},{"href":504,"dataGaName":505,"dataGaLocation":631},{"text":507,"config":851},{"href":509,"dataGaName":510,"dataGaLocation":631},{"text":853,"config":854},"Modern Slavery Transparency Statement",{"href":855,"dataGaName":856,"dataGaLocation":631},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":858},[859,862,865],{"text":860,"config":861},"Terms",{"href":683,"dataGaName":684,"dataGaLocation":631},{"text":863,"config":864},"Cookies",{"dataGaName":693,"dataGaLocation":631,"id":694,"isOneTrustButton":175},{"text":866,"config":867},"Privacy",{"href":688,"dataGaName":689,"dataGaLocation":631},[869],{"id":870,"title":7,"body":162,"config":871,"content":873,"description":162,"extension":877,"meta":878,"navigation":175,"path":879,"seo":880,"stem":881,"__hash__":882},"blogAuthors/en-us/blog/authors/taurie-davis.yml",{"template":872},"BlogAuthor",{"name":7,"config":874},{"headshot":875,"ctfId":876},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667191/Blog/Author%20Headshots/tauriedavis-headshot.jpg","tauriedavis","yml",{},"/en-us/blog/authors/taurie-davis",{},"en-us/blog/authors/taurie-davis","kDdWV6fBzLJzh9g9rA2G5cYszn9PyIKHuoeHku7KNPY",[884,893,901],{"title":885,"description":886,"heroImage":887,"category":158,"date":888,"authors":889,"slug":892,"externalUrl":162},"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",[890,891],"Mathias Ewald","Martin Paloncy, Edgeless Systems","confidential-ai-for-gitlab-self-hosted",{"title":894,"description":895,"heroImage":896,"category":158,"date":897,"authors":898,"slug":900,"externalUrl":162},"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",[899],"Lysanne Pinto","green-devops-carbon-measurement-cicd-pipeline",{"title":902,"description":903,"heroImage":904,"category":158,"date":905,"authors":906,"slug":908,"externalUrl":162},"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",[907],"Paul Meresanu","how-to-build-ci-cd-observability-at-scale",{"promotions":910},[911,925,937,949],{"id":912,"categories":913,"header":915,"text":916,"button":917,"image":922},"ai-modernization",[914],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":918,"config":919},"Get your AI maturity score",{"href":920,"dataGaName":921,"dataGaLocation":396},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":923},{"src":924},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":926,"categories":927,"header":929,"text":916,"button":930,"image":934},"devops-modernization",[928,733],"product","Are you just managing tools or shipping innovation?",{"text":931,"config":932},"Get your DevOps maturity score",{"href":933,"dataGaName":921,"dataGaLocation":396},"/assessments/devops-modernization-assessment/",{"config":935},{"src":936},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":938,"categories":939,"header":941,"text":916,"button":942,"image":946},"security-modernization",[940],"security","Are you trading speed for security?",{"text":943,"config":944},"Get your security maturity score",{"href":945,"dataGaName":921,"dataGaLocation":396},"/assessments/security-modernization-assessment/",{"config":947},{"src":948},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":950,"paths":951,"header":954,"text":955,"button":956,"image":961},"github-azure-migration",[952,953],"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":957,"config":958},"See how GitLab compares to GitHub",{"href":959,"dataGaName":960,"dataGaLocation":396},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":962},{"src":936},{"header":964,"blurb":965,"button":966,"secondaryButton":971},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":967,"config":968},"Get your free trial",{"href":969,"dataGaName":195,"dataGaLocation":970},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":669,"config":972},{"href":521,"dataGaName":200,"dataGaLocation":970},1786803769694]