[{"data":1,"prerenderedAt":1131},["ShallowReactive",2],{"/blog/collaboration-communication-best-practices":3,"navigation-en-us":349,"banner-en-us":776,"footer-en-us":786,"blog-post-authors-en-us-Sara Kassabian":1028,"blog-related-posts-en-us-collaboration-communication-best-practices":1042,"blog-promotions-en-us":1067,"next-steps-en-us":1121},{"id":4,"title":5,"authors":6,"body":8,"category":328,"date":329,"description":330,"extension":331,"externalUrl":332,"faq":332,"featured":333,"heroImage":334,"meta":335,"navigation":336,"path":337,"seo":338,"slug":343,"stem":344,"tags":345,"template":347,"updatedDate":332,"__hash__":348},"blogPosts/en-us/blog/collaboration-communication-best-practices.md","Improving DevOps and software development with communication and collaboration",[7],"Sara Kassabian",{"type":9,"value":10,"toc":308},"minimark",[11,15,29,34,37,41,44,49,57,65,69,83,92,105,113,117,120,128,132,135,139,158,166,170,178,184,192,196,203,233,237,245,249,275,279,287,294],[12,13,14],"p",{},"We believe that the best software developers, companies, and products are those that embrace collaboration and transparency in communication, which is why we’ve compiled some of our best blog posts, articles, and videos about the topic in this blog collection.",[12,16,17,18,23,24,28],{},"But first, has your engineering team adopted a ",[19,20,22],"a",{"href":21},"/topics/devops/","DevOps"," strategy? ",[19,25,27],{"href":26},"/blog/devops-stakeholder-buyin/","Start here if you need help communicating why DevOps is the best approach"," to stakeholders outside the engineering team.",[30,31,33],"h2",{"id":32},"what-is-devops-collaboration","What is DevOps collaboration?",[12,35,36],{},"Collaboration is as important to DevOps as automation and nearly as hard to achieve. Software development was traditionally split into very different functions that didn’t work together; the advent of DevOps, bringing dev and ops together, was designed to change all of that.",[30,38,40],{"id":39},"why-collaboration-in-software-development-matters","Why collaboration in software development matters",[12,42,43],{},"We unpack three key reasons why collaboration is an essential skill for software developers.",[45,46,48],"h3",{"id":47},"_1-your-future-as-a-software-developer-is-bright-if-you-embrace-collaboration","1. Your future as a software developer is bright if you embrace collaboration",[12,50,51,52,56],{},"While some might consider teamwork and communication to be soft skills, the results of our ",[19,53,55],{"href":54},"/resources/developer-survey/","2020 DevSecOps"," survey reveal a consensus among developers, security pros, ops team members, and testers that collaboration and communication are the most important skills for a DevOps professional.",[12,58,59,60,64],{},"\"You can’t have one brain that knows it all,\" explains Darwin Sanoy, senior solutions architect, Americas, at GitLab. \"You need communication and collaboration to work together.\" Read more to learn about how to ",[19,61,63],{"href":62},"/blog/future-proof-your-developer-career/","brush up on soft skills to future-proof your DevOps career"," .",[45,66,68],{"id":67},"_2-the-best-way-to-practice-collaborative-software-development-in-open-source-communities","2. The best way to practice collaborative software development? In open source communities",[12,70,71,72,76,77,82],{},"GitLab is an open-core product with open source and source-available code. This means that community contributors can push changes to our open source codebase, and can view our proprietary, source-available code. Anyone who has been a part of an open source community can tell you that they’re very global, so you could be living in Mexico and ",[19,73,75],{"href":74},"/blog/gitlab-hero-devops-platform/","collaborating on an MR with someone in Poland",". Global collaboration without needing a passport is enriching and unique, but sometimes cultural differences can give way to miscommunication. The best way to embrace working in open source communities is to practice mindful communication and always ",[19,78,81],{"href":79,"rel":80},"https://handbook.gitlab.com/handbook/values/#assume-positive-intent",[],"assume positive intent",". Most of the time, conflict is the result of misunderstanding, not malevolence.",[12,84,85,86,91],{},"Earlier this year at ",[19,87,90],{"href":88,"rel":89},"https://www.youtube.com/playlist?list=PLFGfElNsQthYQaTiUPQcu4O0O20WHZksz",[],"GitLab Commit Virtual",", we shared some communication hacks to help you seem approachable and invite dialog while contributing to open source communities. Watch the video below to learn all about it.",[93,94,97,98],"figure",{"className":95},[96],"video_container","\n  ",[99,100,104],"iframe",{"src":101,"frameBorder":102,"allowFullScreen":103},"https://www.youtube-nocookie.com/embed/XTBWX-evVEA","0","true"," ",[12,106,107,108,112],{},"And while open source and security might seem like a strange coupling, we found that community contributions helped fortify our GitLab Secure product. ",[19,109,111],{"href":110},"/blog/integrating-with-gitlab-secure/","Read the blog post"," to learn more about how inviting contributions from our open source community helped users extend our product to suit their needs.",[45,114,116],{"id":115},"_3-why-cant-dev-and-sec-be-friends","3. Why can’t dev and sec be friends?",[12,118,119],{},"Teamwork doesn’t always come easily, particularly when you’re on opposite sides of the DevOps lifecycle. While at GitLab, dev and sec teams do work well together, this isn’t the case on every engineering team.",[12,121,122,123,127],{},"Brendan O’Leary, senior developer evangelist at GitLab, and Ethan Strike, security manager for Application Security, ",[19,124,126],{"href":125},"/blog/developer-security-divide/","talk candidly about their respective objectives and how it’s better to integrate security into the development process",", as opposed to tacking it onto the end.",[30,129,131],{"id":130},"best-practices-for-developers","Best practices for developers",[12,133,134],{},"We explain why code review and pair programming are two methods that help engineering teams ship more stable code.",[45,136,138],{"id":137},"code-reviews-for-all","Code reviews for all",[12,140,141,142,146,147,152,153,157],{},"Fast feedback is one of the pillars of collaborative software development practices, and code reviews are an essential component. Whether you’ve been coding for 10 years or 10 weeks, having more than one person review your work is critical for catching errors and shipping stable code. But that doesn’t mean code reviews are simple. ",[19,143,145],{"href":144},"/blog/challenges-of-code-reviews/","Read our blog post on the challenges of code review"," to learn tips on how to overcome the hurdles, and ",[19,148,151],{"href":149,"rel":150},"https://page.gitlab.com/resources-demo-scm.html",[],"watch the demo on how to use GitLab for code review",". Phil Hughes, staff frontend engineer for the Create: Code Review team summarizes ",[19,154,156],{"href":155},"/blog/efficient-code-review-tips/","four tips to make code review more efficient and less painful",". But all in all, we believe that despite the challenges of code review, it’s absolutely worth any hassle.",[12,159,160,161,165],{},"While you’re at it, ",[19,162,164],{"href":163},"/blog/future-merge-requests-realtime-collab/","check out our blog post where we share some of our ideas about the future of merge requests and code review"," with GitLab. Not all of the ideas will necessarily be implemented, but it will give you some insight as to our vision moving forward.",[45,167,169],{"id":168},"use-the-buddy-system","Use the buddy system",[12,171,172,173,177],{},"Pair programming is basically code review in real time, and it is also one of the pillars of ",[19,174,176],{"href":175},"/solutions/agile-delivery/","Agile software development",". Typically it is done with two programmers at the same workstation, but when you’re on a a globally distributed team like we are at GitLab, that workstation exists in the virtual realm instead of IRL. In pair programming, one programmer creates the code (the driver) while the other person reviews the code (the navigator).",[179,180,181],"blockquote",{},[12,182,183],{},"\"Programming is fairly abstract. When you have to explain a concept verbally, it often makes you realize you're missing pieces or that there are better ways to solve problems than your initial idea.\" – Brandon Lyon, marketing web developer/designer",[12,185,186,187,191],{},"That’s not to say pair programming is the ideal workflow for everyone, one developer said that, as an introvert, pair programming is tiring. But one of the key benefits is that it speeds up the software development process and allows you to ship more stable code, faster. Read more about ",[19,188,190],{"href":189},"/blog/agile-pairing-sessions/","the upsides and downsides to pair programming for Agile software development",".",[30,193,195],{"id":194},"best-practices-for-collaboration-on-non-engineering-teams","Best practices for collaboration on non-engineering teams",[12,197,198,199,191],{},"The tools and strategies you use to communicate may vary based on where you sit in your company, but there are a few best practices that engineering teams use that can be applied to non-engineering teams, such as pairing up on design, code production, and even writing projects. Check out some of our blog posts about ",[19,200,202],{"href":201},"/blog/collaboration-in-product-planning/","how to use GitLab for collaborative project management within and across teams",[204,205,206,217],"ul",{},[207,208,209,216],"li",{},[19,210,212],{"href":211},"/blog/synchronous-collaboration-as-a-remote-designer-at-gitlab/",[213,214,215],"strong",{},"How designers collaborate sychronously",": Pair designers, coffee chats with team members across GitLab, weekly UX showcases, calls with product designers and product managers, and other strategies.",[207,218,219,222,223,227,228,232],{},[213,220,221],{},"How Marketing uses GitLab for project management",": In ",[19,224,226],{"href":225},"/blog/gitlab-for-project-management-one/","part one",", we explain why the architecture of GitLab is so effective for project management, even for users in non-technical roles. In ",[19,229,231],{"href":230},"/blog/gl-for-pm-prt-2/","part two",", we share some real-life examples of how we use GitLab was used for successful project management.",[45,234,236],{"id":235},"other-inventive-ideas-for-collaboration","Other inventive ideas for collaboration",[12,238,239,240,244],{},"In a stroke of genius, our Support team recognized that the weekly team all-hands meeting was getting a bit dull, and decided to change up the format and distribute it as a ",[19,241,243],{"href":242},"/blog/how-we-turned-40-person-meeting-into-a-podcast/","podcast instead",". The podcast format allowed team members to listen to the weekly update asynchronously, which is an essential component of communication for a globally distributed team such as ours. This is a great example of how thinking outside the box can improve how information is disseminated.",[30,246,248],{"id":247},"some-challenges-with-devops-collaboration","Some challenges with DevOps collaboration",[204,250,251,257,263,269],{},[207,252,253,256],{},[213,254,255],{},"Maintaining security."," Security and compliance are critical for successful DevOps, but these areas have traditionally been siloed, making collaboration tricky at best.",[207,258,259,262],{},[213,260,261],{},"Too many people on a project",". Large and busy teams can struggle with communication and collaboration.",[207,264,265,268],{},[213,266,267],{},"Lots of communication options."," Using email, instant messaging, tickets, Zoom recordings, and more to house project info can cause things to slip through the cracks.",[207,270,271,274],{},[213,272,273],{},"Dealing with different personality types and working styles."," Individual needs and preferences can vary wildly and it can be a struggle to keep everyone on the same page.",[30,276,278],{"id":277},"want-more-information-on-collaborative-software-development","Want more information on collaborative software development?",[12,280,281,282,286],{},"Trust us, you’ll want to ",[19,283,285],{"href":284},"/topics/version-control/software-team-collaboration/","bookmark this page"," so examples of best practices for collaboration are just a click away for the times when you’re feeling stumped or siloed.",[12,288,289,293],{},[19,290,292],{"href":291},"/events/","Watch the webcast"," to learn how to bring cross-functional teams together using GitLab to deliver more stable software, faster.",[12,295,296,297,302,303],{},"Cover image by ",[19,298,301],{"href":299,"rel":300},"https://unsplash.com/@lunarts?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText",[],"Volodymyr Hryshchenko"," on ",[19,304,307],{"href":305,"rel":306},"https://unsplash.com/photos/V5vqWC9gyEU",[],"Unsplash",{"title":309,"searchDepth":310,"depth":310,"links":311},"",2,[312,313,319,323,326,327],{"id":32,"depth":310,"text":33},{"id":39,"depth":310,"text":40,"children":314},[315,317,318],{"id":47,"depth":316,"text":48},3,{"id":67,"depth":316,"text":68},{"id":115,"depth":316,"text":116},{"id":130,"depth":310,"text":131,"children":320},[321,322],{"id":137,"depth":316,"text":138},{"id":168,"depth":316,"text":169},{"id":194,"depth":310,"text":195,"children":324},[325],{"id":235,"depth":316,"text":236},{"id":247,"depth":310,"text":248},{"id":277,"depth":310,"text":278},"insights","2020-11-23","The most important skills for a DevOps pro? Collaboration and communication. We share some of our best blogs, articles, and videos to help you work better, together.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681779/Blog/Hero%20Images/chatbubble.jpg",{},true,"/en-us/blog/collaboration-communication-best-practices",{"title":339,"description":330,"ogTitle":339,"ogDescription":330,"noIndex":333,"ogImage":334,"ogUrl":340,"ogSiteName":341,"ogType":342,"canonicalUrls":340},"Improving DevOps with Better Communication & Collaboration","https://about.gitlab.com/blog/collaboration-communication-best-practices","https://about.gitlab.com","article","collaboration-communication-best-practices","en-us/blog/collaboration-communication-best-practices",[346,22],"collaboration","BlogPost","q5l7ihjWxbYAY5aijuMvVgsodaPzHh3B67kjK1wHU48",{"logo":350,"freeTrial":355,"sales":360,"login":365,"items":370,"search":696,"minimal":727,"duo":746,"switchNav":755,"pricingDeployment":766},{"config":351},{"href":352,"dataGaName":353,"dataGaLocation":354},"/","gitlab logo","header",{"text":356,"config":357},"Get free trial",{"href":358,"dataGaName":359,"dataGaLocation":354},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":361,"config":362},"Request a demo",{"href":363,"dataGaName":364,"dataGaLocation":354},"/sales/?contact-topic=request-demo","sales",{"text":366,"config":367},"Sign in",{"href":368,"dataGaName":369,"dataGaLocation":354},"https://gitlab.com/users/sign_in/","sign in",[371,400,500,505,618,674],{"text":372,"config":373,"menu":375},"Platform",{"dataNavLevelOne":374},"platform",{"type":376,"columns":377},"cards",[378,384,392],{"title":372,"description":379,"link":380},"The intelligent orchestration platform for DevSecOps",{"text":381,"config":382},"Explore our Platform",{"href":383,"dataGaName":374,"dataGaLocation":354},"/platform/",{"title":385,"description":386,"link":387},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":388,"config":389},"Meet GitLab Duo",{"href":390,"dataGaName":391,"dataGaLocation":354},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":393,"description":394,"link":395},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":396,"config":397},"Learn more",{"href":398,"dataGaName":399,"dataGaLocation":354},"/why-gitlab/","why gitlab",{"text":401,"left":336,"config":402,"menu":404},"Product",{"dataNavLevelOne":403},"solutions",{"type":405,"link":406,"columns":410,"feature":479},"lists",{"text":407,"config":408},"View all Solutions",{"href":409,"dataGaName":403,"dataGaLocation":354},"/solutions/",[411,435,458],{"title":412,"description":413,"link":414,"items":419},"Automation","CI/CD and automation to accelerate deployment",{"config":415},{"icon":416,"href":417,"dataGaName":418,"dataGaLocation":354},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[420,424,427,431],{"text":421,"config":422},"CI/CD",{"href":423,"dataGaLocation":354,"dataGaName":421},"/solutions/continuous-integration/",{"text":385,"config":425},{"href":390,"dataGaLocation":354,"dataGaName":426},"gitlab duo agent platform - product menu",{"text":428,"config":429},"Source Code Management",{"href":430,"dataGaLocation":354,"dataGaName":428},"/solutions/source-code-management/",{"text":432,"config":433},"Automated Software Delivery",{"href":417,"dataGaLocation":354,"dataGaName":434},"Automated software delivery",{"title":436,"description":437,"link":438,"items":443},"Security","Deliver code faster without compromising security",{"config":439},{"href":440,"dataGaName":441,"dataGaLocation":354,"icon":442},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[444,448,453],{"text":445,"config":446},"Application Security Testing",{"href":440,"dataGaName":447,"dataGaLocation":354},"Application security testing",{"text":449,"config":450},"Software Supply Chain Security",{"href":451,"dataGaLocation":354,"dataGaName":452},"/solutions/supply-chain/","Software supply chain security",{"text":454,"config":455},"Software Compliance",{"href":456,"dataGaName":457,"dataGaLocation":354},"/solutions/software-compliance/","software compliance",{"title":459,"link":460,"items":465},"Measurement",{"config":461},{"icon":462,"href":463,"dataGaName":464,"dataGaLocation":354},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[466,470,474],{"text":467,"config":468},"Visibility & Measurement",{"href":463,"dataGaLocation":354,"dataGaName":469},"Visibility and Measurement",{"text":471,"config":472},"Value Stream Management",{"href":473,"dataGaLocation":354,"dataGaName":471},"/solutions/value-stream-management/",{"text":475,"config":476},"Analytics & Insights",{"href":477,"dataGaLocation":354,"dataGaName":478},"/solutions/analytics-and-insights/","Analytics and insights",{"title":480,"type":405,"items":481},"GitLab for",[482,488,494],{"text":483,"config":484},"Enterprise",{"icon":485,"href":486,"dataGaLocation":354,"dataGaName":487},"Building","/enterprise/","enterprise",{"text":489,"config":490},"Small Business",{"icon":491,"href":492,"dataGaLocation":354,"dataGaName":493},"Work","/small-business/","small business",{"text":495,"config":496},"Public Sector",{"icon":497,"href":498,"dataGaLocation":354,"dataGaName":499},"Organization","/solutions/public-sector/","public sector",{"text":501,"config":502},"Pricing",{"href":503,"dataGaName":504,"dataGaLocation":354,"dataNavLevelOne":504},"/pricing/","pricing",{"text":506,"config":507,"menu":509},"Resources",{"dataNavLevelOne":508},"resources",{"type":405,"link":510,"columns":514,"feature":607},{"text":511,"config":512},"View all resources",{"href":513,"dataGaName":508,"dataGaLocation":354},"/resources/",[515,548,575],{"title":516,"items":517},"Getting started",[518,523,528,533,538,543],{"text":519,"config":520},"Install",{"href":521,"dataGaName":522,"dataGaLocation":354},"/install/","install",{"text":524,"config":525},"Quick start guides",{"href":526,"dataGaName":527,"dataGaLocation":354},"/get-started/","quick setup checklists",{"text":529,"config":530},"Learn",{"href":531,"dataGaLocation":354,"dataGaName":532},"https://university.gitlab.com/","learn",{"text":534,"config":535},"Product documentation",{"href":536,"dataGaName":537,"dataGaLocation":354},"https://docs.gitlab.com/","product documentation",{"text":539,"config":540},"Best practice videos",{"href":541,"dataGaName":542,"dataGaLocation":354},"/getting-started-videos/","best practice videos",{"text":544,"config":545},"Integrations",{"href":546,"dataGaName":547,"dataGaLocation":354},"/integrations/","integrations",{"title":549,"items":550},"Discover",[551,556,561,566,570],{"text":552,"config":553},"Customer success stories",{"href":554,"dataGaName":555,"dataGaLocation":354},"/customers/","customer success stories",{"text":557,"config":558},"Blog",{"href":559,"dataGaName":560,"dataGaLocation":354},"/blog/","blog",{"text":562,"config":563},"Demo Hub",{"href":564,"dataGaName":565,"dataGaLocation":354},"/demo-hub/","demo hub",{"text":567,"config":568},"The Source",{"href":569,"dataGaName":560,"dataGaLocation":354},"/the-source/",{"text":571,"config":572},"Remote",{"href":573,"dataGaName":574,"dataGaLocation":354},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":576,"items":577},"Connect",[578,583,588,593,598,602],{"text":579,"config":580},"GitLab Services",{"href":581,"dataGaName":582,"dataGaLocation":354},"/services/","services",{"text":584,"config":585},"Contribute",{"href":586,"dataGaName":587,"dataGaLocation":354},"https://contributors.gitlab.com","contribute",{"text":589,"config":590},"Community",{"href":591,"dataGaName":592,"dataGaLocation":354},"/community/","community",{"text":594,"config":595},"Forum",{"href":596,"dataGaName":597,"dataGaLocation":354},"https://forum.gitlab.com/","forum",{"text":599,"config":600},"Events",{"href":291,"dataGaName":601,"dataGaLocation":354},"events",{"text":603,"config":604},"Partners",{"href":605,"dataGaName":606,"dataGaLocation":354},"/partners/","partners",{"config":608,"title":611,"text":612,"link":613},{"background":609,"textColor":610},"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":614,"config":615},"Read the latest",{"href":616,"dataGaName":617,"dataGaLocation":354},"/whats-new/","whats new",{"text":619,"config":620,"menu":622},"Company",{"dataNavLevelOne":621},"company",{"type":405,"columns":623},[624],{"items":625},[626,631,637,639,644,649,654,659,664,669],{"text":627,"config":628},"About",{"href":629,"dataGaName":630,"dataGaLocation":354},"/company/","about",{"text":632,"config":633,"footerGa":636},"Jobs",{"href":634,"dataGaName":635,"dataGaLocation":354},"/jobs/","jobs",{"dataGaName":635},{"text":599,"config":638},{"href":291,"dataGaName":601,"dataGaLocation":354},{"text":640,"config":641},"Leadership",{"href":642,"dataGaName":643,"dataGaLocation":354},"/company/team/e-group/","leadership",{"text":645,"config":646},"Handbook",{"href":647,"dataGaName":648,"dataGaLocation":354},"https://handbook.gitlab.com/","handbook",{"text":650,"config":651},"Investor relations",{"href":652,"dataGaName":653,"dataGaLocation":354},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":655,"config":656},"Trust Center",{"href":657,"dataGaName":658,"dataGaLocation":354},"/security/","trust center",{"text":660,"config":661},"AI Transparency Center",{"href":662,"dataGaName":663,"dataGaLocation":354},"/ai-transparency-center/","ai transparency center",{"text":665,"config":666},"Newsletter",{"href":667,"dataGaName":668,"dataGaLocation":354},"/company/contact/#contact-forms","newsletter",{"text":670,"config":671},"Press",{"href":672,"dataGaName":673,"dataGaLocation":354},"/press/","press",{"text":675,"config":676,"menu":677},"Contact us",{"dataNavLevelOne":621},{"type":405,"columns":678},[679],{"items":680},[681,686,691],{"text":682,"config":683},"Talk to sales",{"href":684,"dataGaName":685,"dataGaLocation":354},"/sales/","talk to sales",{"text":687,"config":688},"Support portal",{"href":689,"dataGaName":690,"dataGaLocation":354},"https://support.gitlab.com/hc/en-us","support portal",{"text":692,"config":693},"Customer portal",{"href":694,"dataGaName":695,"dataGaLocation":354},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":697,"login":698,"suggestions":705},"Close",{"text":699,"link":700},"To search repositories and projects, login to",{"text":701,"config":702},"gitlab.com",{"href":368,"dataGaName":703,"dataGaLocation":704},"search login","search",{"text":706,"default":707},"Suggestions",[708,710,714,716,720,724],{"text":385,"config":709},{"href":390,"dataGaName":385,"dataGaLocation":704},{"text":711,"config":712},"Code Suggestions (AI)",{"href":713,"dataGaName":711,"dataGaLocation":704},"/solutions/code-suggestions/",{"text":421,"config":715},{"href":423,"dataGaName":421,"dataGaLocation":704},{"text":717,"config":718},"GitLab on AWS",{"href":719,"dataGaName":717,"dataGaLocation":704},"/partners/technology-partners/aws/",{"text":721,"config":722},"GitLab on Google Cloud",{"href":723,"dataGaName":721,"dataGaLocation":704},"/partners/technology-partners/google-cloud-platform/",{"text":725,"config":726},"Why GitLab?",{"href":398,"dataGaName":725,"dataGaLocation":704},{"freeTrial":728,"mobileIcon":733,"desktopIcon":738,"secondaryButton":741},{"text":729,"config":730},"Start free trial",{"href":731,"dataGaName":359,"dataGaLocation":732},"https://gitlab.com/-/trials/new/","nav",{"altText":734,"config":735},"Gitlab Icon",{"src":736,"dataGaName":737,"dataGaLocation":732},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":734,"config":739},{"src":740,"dataGaName":737,"dataGaLocation":732},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":742,"config":743},"Get Started",{"href":744,"dataGaName":745,"dataGaLocation":732},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":747,"mobileIcon":751,"desktopIcon":753},{"text":748,"config":749},"Learn more about GitLab Duo",{"href":390,"dataGaName":750,"dataGaLocation":732},"gitlab duo",{"altText":734,"config":752},{"src":736,"dataGaName":737,"dataGaLocation":732},{"altText":734,"config":754},{"src":740,"dataGaName":737,"dataGaLocation":732},{"button":756,"mobileIcon":761,"desktopIcon":763},{"text":757,"config":758},"/switch",{"href":759,"dataGaName":760,"dataGaLocation":732},"#contact","switch",{"altText":734,"config":762},{"src":736,"dataGaName":737,"dataGaLocation":732},{"altText":734,"config":764},{"src":765,"dataGaName":737,"dataGaLocation":732},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":767,"mobileIcon":772,"desktopIcon":774},{"text":768,"config":769},"Back to pricing",{"href":503,"dataGaName":770,"dataGaLocation":732,"icon":771},"back to pricing","GoBack",{"altText":734,"config":773},{"src":736,"dataGaName":737,"dataGaLocation":732},{"altText":734,"config":775},{"src":740,"dataGaName":737,"dataGaLocation":732},{"title":777,"titleMobile":778,"button":779,"config":784},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":396,"config":780},{"href":781,"dataGaName":782,"dataGaLocation":783},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":785,"disabled":333},"release",{"data":787},{"text":788,"source":789,"edit":795,"contribute":800,"config":805,"items":810,"minimal":1017},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":790,"config":791},"View page source",{"href":792,"dataGaName":793,"dataGaLocation":794},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":796,"config":797},"Edit this page",{"href":798,"dataGaName":799,"dataGaLocation":794},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":801,"config":802},"Please contribute",{"href":803,"dataGaName":804,"dataGaLocation":794},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":806,"facebook":807,"youtube":808,"linkedin":809},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[811,858,910,953,985],{"title":501,"links":812,"subMenu":827},[813,817,822],{"text":814,"config":815},"View plans",{"href":503,"dataGaName":816,"dataGaLocation":794},"view plans",{"text":818,"config":819},"Why Premium?",{"href":820,"dataGaName":821,"dataGaLocation":794},"/pricing/premium/","why premium",{"text":823,"config":824},"Why Ultimate?",{"href":825,"dataGaName":826,"dataGaLocation":794},"/pricing/ultimate/","why ultimate",[828],{"title":829,"links":830},"Contact Us",[831,834,836,838,843,848,853],{"text":832,"config":833},"Contact sales",{"href":684,"dataGaName":364,"dataGaLocation":794},{"text":687,"config":835},{"href":689,"dataGaName":690,"dataGaLocation":794},{"text":692,"config":837},{"href":694,"dataGaName":695,"dataGaLocation":794},{"text":839,"config":840},"Status",{"href":841,"dataGaName":842,"dataGaLocation":794},"https://status.gitlab.com/","status",{"text":844,"config":845},"Terms of use",{"href":846,"dataGaName":847,"dataGaLocation":794},"/terms/","terms of use",{"text":849,"config":850},"Privacy statement",{"href":851,"dataGaName":852,"dataGaLocation":794},"/privacy/","privacy statement",{"text":854,"config":855},"Cookie preferences",{"dataGaName":856,"dataGaLocation":794,"id":857,"isOneTrustButton":336},"cookie preferences","ot-sdk-btn",{"title":401,"links":859,"subMenu":868},[860,864],{"text":861,"config":862},"DevSecOps platform",{"href":383,"dataGaName":863,"dataGaLocation":794},"devsecops platform",{"text":865,"config":866},"AI-Assisted Development",{"href":390,"dataGaName":867,"dataGaLocation":794},"ai-assisted development",[869],{"title":870,"links":871},"Topics",[872,877,882,885,890,895,900,905],{"text":873,"config":874},"CICD",{"href":875,"dataGaName":876,"dataGaLocation":794},"/topics/ci-cd/","cicd",{"text":878,"config":879},"GitOps",{"href":880,"dataGaName":881,"dataGaLocation":794},"/topics/gitops/","gitops",{"text":22,"config":883},{"href":21,"dataGaName":884,"dataGaLocation":794},"devops",{"text":886,"config":887},"Version Control",{"href":888,"dataGaName":889,"dataGaLocation":794},"/topics/version-control/","version control",{"text":891,"config":892},"DevSecOps",{"href":893,"dataGaName":894,"dataGaLocation":794},"/topics/devsecops/","devsecops",{"text":896,"config":897},"Cloud Native",{"href":898,"dataGaName":899,"dataGaLocation":794},"/topics/cloud-native/","cloud native",{"text":901,"config":902},"AI for Coding",{"href":903,"dataGaName":904,"dataGaLocation":794},"/topics/devops/ai-for-coding/","ai for coding",{"text":906,"config":907},"Agentic AI",{"href":908,"dataGaName":909,"dataGaLocation":794},"/topics/agentic-ai/","agentic ai",{"title":911,"links":912},"Solutions",[913,915,917,921,925,928,932,935,937,940,943,948],{"text":445,"config":914},{"href":440,"dataGaName":445,"dataGaLocation":794},{"text":434,"config":916},{"href":417,"dataGaName":418,"dataGaLocation":794},{"text":918,"config":919},"Agile development",{"href":175,"dataGaName":920,"dataGaLocation":794},"agile delivery",{"text":922,"config":923},"SCM",{"href":430,"dataGaName":924,"dataGaLocation":794},"source code management",{"text":873,"config":926},{"href":423,"dataGaName":927,"dataGaLocation":794},"continuous integration & delivery",{"text":929,"config":930},"Value stream management",{"href":473,"dataGaName":931,"dataGaLocation":794},"value stream management",{"text":878,"config":933},{"href":934,"dataGaName":881,"dataGaLocation":794},"/solutions/gitops/",{"text":483,"config":936},{"href":486,"dataGaName":487,"dataGaLocation":794},{"text":938,"config":939},"Small business",{"href":492,"dataGaName":493,"dataGaLocation":794},{"text":941,"config":942},"Public sector",{"href":498,"dataGaName":499,"dataGaLocation":794},{"text":944,"config":945},"Education",{"href":946,"dataGaName":947,"dataGaLocation":794},"/solutions/education/","education",{"text":949,"config":950},"Financial services",{"href":951,"dataGaName":952,"dataGaLocation":794},"/solutions/finance/","financial services",{"title":506,"links":954},[955,957,959,961,964,966,969,971,973,975,977,979,981,983],{"text":519,"config":956},{"href":521,"dataGaName":522,"dataGaLocation":794},{"text":524,"config":958},{"href":526,"dataGaName":527,"dataGaLocation":794},{"text":529,"config":960},{"href":531,"dataGaName":532,"dataGaLocation":794},{"text":534,"config":962},{"href":536,"dataGaName":963,"dataGaLocation":794},"docs",{"text":557,"config":965},{"href":559,"dataGaName":560,"dataGaLocation":794},{"text":967,"config":968},"What's new",{"href":616,"dataGaName":617,"dataGaLocation":794},{"text":552,"config":970},{"href":554,"dataGaName":555,"dataGaLocation":794},{"text":571,"config":972},{"href":573,"dataGaName":574,"dataGaLocation":794},{"text":579,"config":974},{"href":581,"dataGaName":582,"dataGaLocation":794},{"text":584,"config":976},{"href":586,"dataGaName":587,"dataGaLocation":794},{"text":589,"config":978},{"href":591,"dataGaName":592,"dataGaLocation":794},{"text":594,"config":980},{"href":596,"dataGaName":597,"dataGaLocation":794},{"text":599,"config":982},{"href":291,"dataGaName":601,"dataGaLocation":794},{"text":603,"config":984},{"href":605,"dataGaName":606,"dataGaLocation":794},{"title":619,"links":986},[987,989,991,993,995,997,1001,1006,1008,1010,1012],{"text":627,"config":988},{"href":629,"dataGaName":621,"dataGaLocation":794},{"text":632,"config":990},{"href":634,"dataGaName":635,"dataGaLocation":794},{"text":640,"config":992},{"href":642,"dataGaName":643,"dataGaLocation":794},{"text":645,"config":994},{"href":647,"dataGaName":648,"dataGaLocation":794},{"text":650,"config":996},{"href":652,"dataGaName":653,"dataGaLocation":794},{"text":998,"config":999},"Sustainability",{"href":1000,"dataGaName":998,"dataGaLocation":794},"/sustainability/",{"text":1002,"config":1003},"Diversity, inclusion and belonging (DIB)",{"href":1004,"dataGaName":1005,"dataGaLocation":794},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":655,"config":1007},{"href":657,"dataGaName":658,"dataGaLocation":794},{"text":665,"config":1009},{"href":667,"dataGaName":668,"dataGaLocation":794},{"text":670,"config":1011},{"href":672,"dataGaName":673,"dataGaLocation":794},{"text":1013,"config":1014},"Modern Slavery Transparency Statement",{"href":1015,"dataGaName":1016,"dataGaLocation":794},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1018},[1019,1022,1025],{"text":1020,"config":1021},"Terms",{"href":846,"dataGaName":847,"dataGaLocation":794},{"text":1023,"config":1024},"Cookies",{"dataGaName":856,"dataGaLocation":794,"id":857,"isOneTrustButton":336},{"text":1026,"config":1027},"Privacy",{"href":851,"dataGaName":852,"dataGaLocation":794},[1029],{"id":1030,"title":7,"body":332,"config":1031,"content":1033,"description":332,"extension":1036,"meta":1037,"navigation":336,"path":1038,"seo":1039,"stem":1040,"__hash__":1041},"blogAuthors/en-us/blog/authors/sara-kassabian.yml",{"template":1032},"BlogAuthor",{"name":7,"config":1034},{"headshot":309,"ctfId":1035},"skassabian","yml",{},"/en-us/blog/authors/sara-kassabian",{},"en-us/blog/authors/sara-kassabian","6cCCPpjzkCDfb77tMVCyG8_FImRVQXA2VCMyiAjhFX0",[1043,1051,1059],{"title":1044,"description":1045,"heroImage":1046,"category":328,"date":1047,"authors":1048,"slug":1050,"externalUrl":332},"How we overhauled GitLab navigation","Users weren't getting what they needed from our navigation. Here are the steps we took to turn that experience around.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682884/Blog/Hero%20Images/navigation.jpg","2023-08-15",[1049],"Ashley Knobloch","navigation-research-blog-post",{"title":1052,"description":1053,"heroImage":1054,"category":328,"date":1055,"authors":1056,"slug":1058,"externalUrl":332},"Beautifying our UI: Giving GitLab build features a fresh look","Get an inside look at how we are improving the usability of GitLab build features with multiple visual design improvements.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682807/Blog/Hero%20Images/beautify.jpg","2023-07-05",[1057],"Veethika Mishra","beautifying-of-our-ui",{"title":1060,"description":1061,"heroImage":1062,"category":328,"date":1063,"authors":1064,"slug":1066,"externalUrl":332},"4 best practices leading orgs to release software faster","GitLab's 2023 Global DevSecOps Survey illuminates the strategies that organizations deploying more frequently have in common.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663908/Blog/Hero%20Images/2023-devsecops-report-blog-banner2.png","2023-06-08",[1065],"Kristina Weis","best-practices-leading-orgs-to-release-software-faster",{"promotions":1068},[1069,1083,1095,1107],{"id":1070,"categories":1071,"header":1073,"text":1074,"button":1075,"image":1080},"ai-modernization",[1072],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":1076,"config":1077},"Get your AI maturity score",{"href":1078,"dataGaName":1079,"dataGaLocation":560},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":1081},{"src":1082},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1084,"categories":1085,"header":1087,"text":1074,"button":1088,"image":1092},"devops-modernization",[1086,894],"product","Are you just managing tools or shipping innovation?",{"text":1089,"config":1090},"Get your DevOps maturity score",{"href":1091,"dataGaName":1079,"dataGaLocation":560},"/assessments/devops-modernization-assessment/",{"config":1093},{"src":1094},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1096,"categories":1097,"header":1099,"text":1074,"button":1100,"image":1104},"security-modernization",[1098],"security","Are you trading speed for security?",{"text":1101,"config":1102},"Get your security maturity score",{"href":1103,"dataGaName":1079,"dataGaLocation":560},"/assessments/security-modernization-assessment/",{"config":1105},{"src":1106},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1108,"paths":1109,"header":1112,"text":1113,"button":1114,"image":1119},"github-azure-migration",[1110,1111],"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":1115,"config":1116},"See how GitLab compares to GitHub",{"href":1117,"dataGaName":1118,"dataGaLocation":560},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1120},{"src":1094},{"header":1122,"blurb":1123,"button":1124,"secondaryButton":1129},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1125,"config":1126},"Get your free trial",{"href":1127,"dataGaName":359,"dataGaLocation":1128},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":832,"config":1130},{"href":684,"dataGaName":364,"dataGaLocation":1128},1786803748363]