[{"data":1,"prerenderedAt":1025},["ShallowReactive",2],{"/blog/agile-for-remote-work":3,"navigation-en-us":240,"banner-en-us":667,"footer-en-us":677,"blog-post-authors-en-us-Sara Kassabian":922,"blog-related-posts-en-us-agile-for-remote-work":936,"blog-promotions-en-us":961,"next-steps-en-us":1015},{"id":4,"title":5,"authors":6,"body":8,"category":218,"date":219,"description":220,"extension":221,"externalUrl":222,"faq":222,"featured":223,"heroImage":224,"meta":225,"navigation":226,"path":227,"seo":228,"slug":232,"stem":233,"tags":234,"template":238,"updatedDate":222,"__hash__":239},"blogPosts/en-us/blog/agile-for-remote-work.md","How async and all-remote make Agile simpler",[7],"Sara Kassabian",{"type":9,"value":10,"toc":205},"minimark",[11,22,25,28,33,40,65,70,73,82,85,94,98,101,104,107,110,114,117,120,123,126,129,133,141,152,155,159,162,165,178,193,196],[12,13,14,15,21],"p",{},"Whether you have the ",[16,17,20],"a",{"href":18,"rel":19},"https://agilemanifesto.org/",[],"Agile manifesto"," memorized or thought agility was a sport for dogs, there are a few core principles that engineers and non-engineering folks can adopt to improve communication, collaboration, and efficiency in their work – whether or not they’re working from the same office.",[12,23,24],{},"Interestingly, the first piece of advice GitLab team members shared for engineers (or content developers) using Agile or working remotely is the same: Over-communicate!",[12,26,27],{},"\"Provide maximum context in discussions and document the outcomes in the most appropriate location,\" says Lindsay Kerr, frontend engineering manager for Threat Management at GitLab. \"This allows other members of the team to benefit from synchronous conversations while giving stakeholders insight into the progress of the team.\"",[29,30,32],"h2",{"id":31},"how-agile-keeps-development-lean","How Agile keeps development lean",[12,34,35,39],{},[16,36,38],{"href":37},"/topics/agile-delivery/","Agile software development"," is all about developing solutions through collaboration and iteration, with some of the techniques being stand-ups, sprints, and more. Another key principle of Agile: Making processes more lean.",[12,41,42,43,48,49,54,55,59,60,64],{},"During our annual user conference ",[16,44,47],{"href":45,"rel":46},"https://www.youtube.com/watch?v=t8BvRMalbkM&list=PLFGfElNsQthYQaTiUPQcu4O0O20WHZksz&index=10",[],"GitLab Commit",", the software company ",[16,50,53],{"href":51,"rel":52},"https://www.issuetrak.com/",[],"IssueTrak"," explained how migrating to GitLab helped the company embrace Agile software development. Before, IssueTrak was using five tools to manage their ticketing and repositories and power their ",[16,56,58],{"href":57},"/solutions/continuous-integration/","CI/CD pipelines",", at a substantial monthly cost. After IssueTrak migrated to GitLab, they reduced their monthly costs by 80% and simplified their toolchain by adopting GitLab for all their software development needs. You can ",[16,61,63],{"href":62},"#how-two-teams-use-sprints-with-gitlab","read more about their experience below",".",[66,67,69],"h3",{"id":68},"why-all-remote-and-agile-pair-well-together","Why all-remote and Agile pair well together",[12,71,72],{},"GitLab has embraced the principles of Agile software development in two key ways. The first way we've built agility and efficiency into our culture is by embracing all-remote, asynchronous work. By working remotely, team members can work when they want and in places and spaces that best suit them. Remote work has become more widely adopted since the COVID-19 pandemic has disrupted the traditional office, explains Lauren Barker, fullstack developer working on the Website.",[12,74,75,76,81],{},"Remote work is a simple concept to grasp, but asynchronous (async) work is a bit more complicated. At GitLab, working async looks like optional meetings with detailed agendas and Slack channels are busy but without the pressure of an immediate reply. Zoom meetings are recorded and posted on the ",[16,77,80],{"href":78,"rel":79},"https://www.youtube.com/channel/UCMtZ0sc1HHNtGGWZFDRTh5A",[],"GitLab Unfiltered channel",", which supports our commitment to transparency and breaks down silos by improving communication across teams.",[12,83,84],{},"\"Working asynchronously enables an individual to contribute when they’re 'on',\" says Lauren. \"Sometimes you’re feeling super productive and motivated on a certain project at 2 AM, not during normal business hours such as 9-5.\"",[12,86,87,88,93],{},"The core of effective async, all-remote, and Agile workflows is documentation. By clearly defining project scope and needs in writing, processes are easy to follow and replicable for all users. At GitLab, perhaps the most important rule of all is our handbook-first principle, which states that our handbook is the single source of truth in the organization and challenges team members to document everything. Tyler Williams, website fullstack developer at GitLab, discussed the value he’s derived from the handbook-first mentality at a ",[16,89,92],{"href":90,"rel":91},"https://www.youtube.com/watch?v=qhsdwlqvuN4&list=PL05JrBw4t0KrurHzoPhov77x3_P26Ncz1",[],"recent Inbound Marketing team meeting"," and said that handbook-first coupled with async work is what powers Agile for him.",[29,95,97],{"id":96},"insights-on-remote-team-building-with-agile","Insights on remote team building with Agile",[12,99,100],{},"Tyler and Lindsay both acknowledge it can be challenging to build team camraderie remotely when applying Agile principles like stand-ups when you're not in-person.",[12,102,103],{},"\"It is easier to implement the human-connectivity pieces of an Agile mindset when you are in person,\" says Tyler. \"It is easier to implement the process-focused pieces of Agile techniques when you are all-remote and asynchronous.\"",[12,105,106],{},"\"Distance can remove people from consequences,\" adds Brandon. \"A bad manager could drop a project on you, turn off remote messaging, and go on vacation. I've experienced this at previous workplaces.\"",[12,108,109],{},"But working alongside humans in the same space isn’t always an upside. In-person work can make personality clashes more commonplace, says Lindsay.",[66,111,113],{"id":112},"remembering-when-agile-was-analog","Remembering when Agile was analog",[12,115,116],{},"Before project management tools like Jira and GitLab, scrum teams had to plan sprints manually using things like post-its, index cards, and white boards. While this analog approach to sprint planning can be good for team-building, it was less efficient in the long-run.",[12,118,119],{},"\"When I started working on scrum teams in 2008 we actually stood up together in a room during stand-up. We looked at post-it notes (tasks) associated with index cards (stories) when discussing the answers to our three questions (what did I do yesterday, what am I doing today, and what is blocking me),\" says Lindsay.",[12,121,122],{},"\"We used an egg-timer to make sure our stand-up didn't go longer than 10 minutes each day. I drew our burndown on paper each day, across every two-week sprint, for the course of a three-month project. We looked each other in the eyes when we gave our answers, watched our teammates move the post-it note from 'to-do' to 'in progress', and celebrated together when a post-it moved to the 'done' column.\"",[12,124,125],{},"It is hard to document progress using the analog approach to sprint planning. When one team member is out sick or on vacation, they lose the historical context of a project as post-its move columns, and meetings happen without thorough notes or recordings.",[12,127,128],{},"\"In an office setting, it may be easier to adopt the human-focused mindset, but it is much more challenging to adopt appropriate processes to keep Agile techniques running, and it is a much less enjoyable endeavor to coach people around process,\" says Tyler.",[66,130,132],{"id":131},"gitlab-is-designed-for-agile","GitLab is designed for Agile",[12,134,135,136,140],{},"The other way we've embraced Agile principles at GitLab: ",[16,137,139],{"href":138},"/blog/gitlab-for-agile-software-development/","we've baked many Agile artifacts into different features of our DevOps Platform"," such as issues, labels, milestones, and weights, etc. \"These words seem somewhat abstract but they are all different ways to help you categorize and organize information to help you work agilely,\" explains Brandon Lyon, frontend engineer for Marketing at GitLab.",[12,142,143,144,148,149,64],{},"These Agile features coupled with robust CI/CD help us keep GitLab lean and allow ",[145,146,147],"em",{},"our customers"," to continuously deliver software to ",[145,150,151],{},"their customers",[12,153,154],{},"\"If the main point of Agile is to continuously deliver working software as value to customers, GitLab enables teams to be Agile because it has the best CI/CD tools I've ever used, and they're integrated directly in my day-to-day task management workflow,\" says Tyler.",[29,156,158],{"id":157},"how-two-teams-use-sprints-with-gitlab","How two teams use sprints with GitLab",[12,160,161],{},"In their GitLab Commit presentation, IssueTrak team members Lisa Cockrell, director of development, and Jordan Upperman, fullstack developer, said that they created two custom issue boards using GitLab, one of which is the \"Ready for Sprint\" column and board. Sprint planning meetings are much shorter now because the team can just look at the \"Ready for Sprint\" board to identify which issues are ready to enter the development process.",[12,163,164],{},"\"Our use of these two Kanban boards allows us to pivot with ease when necessary. As bugs are found during testing it's easy for us to quickly weigh the new ticket, remove an item with equal weight, and send it back to the top of the 'Ready for Sprint' column,\" says Lisa. She explains that this process prevents scope creep and helps stakeholders remember that when work is added to the sprint, something else must come out. Watch the entire presentation to learn more about how IssueTrak uses GitLab tools for Agile development:",[166,167,170,171],"figure",{"className":168},[169],"video_container","\n  ",[172,173,177],"iframe",{"src":174,"frameBorder":175,"allowFullScreen":176},"https://www.youtube-nocookie.com/embed/t8BvRMalbkM","0","true"," ",[12,179,180,181,186,187,192],{},"Brandon, Tyler, and Lauren all work on the ",[16,182,185],{"href":183,"rel":184},"https://handbook.gitlab.com/handbook/marketing/digital-experience/",[],"Digital Experience team at GitLab",", which is responsible for our marketing website. In the spirit of iteration and efficiency (two of our values at GitLab), the team is in the process of updating the way they conduct sprints. Tyler ",[16,188,191],{"href":189,"rel":190},"https://gitlab.com/gitlab-com/www-gitlab-com/-/merge_requests/74534",[],"opened an MR to facilitate the discussion"," – share your tips for sprints by commenting on the MR or suggesting a change.",[12,194,195],{},"We are constantly looking for new strategies to communicate and engineer with clarity and efficiency. If you have any suggestions for how to better embrace Agile, async, and all-remote work, let us know in the comments or tweet at us @GitLab. If you are still new to this topic, our advice is to try and go with the flow, and leave your expectations at the door.",[12,197,198,199,204],{},"\"If you keep in mind that Agile is a flexible, human-focused approach to knowledge work and delivering value to customers, the rest will fall in place,\" says Tyler. \"Take strong opinions with a grain of salt, and give yourself room to make mistakes and remember that ",[16,200,203],{"href":201,"rel":202},"https://handbook.gitlab.com/handbook/values/#its-impossible-to-know-everything",[],"it's impossible to know everything",".\"",{"title":206,"searchDepth":207,"depth":207,"links":208},"",2,[209,213,217],{"id":31,"depth":207,"text":32,"children":210},[211],{"id":68,"depth":212,"text":69},3,{"id":96,"depth":207,"text":97,"children":214},[215,216],{"id":112,"depth":212,"text":113},{"id":131,"depth":212,"text":132},{"id":157,"depth":207,"text":158},"culture","2021-03-02","Engineers at GitLab and IssueTrak share their tips on adopting Agile while working remotely.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681930/Blog/Hero%20Images/runlanes.jpg",{},true,"/en-us/blog/agile-for-remote-work",{"title":5,"description":220,"ogTitle":5,"ogDescription":220,"noIndex":223,"ogImage":224,"ogUrl":229,"ogSiteName":230,"ogType":231,"canonicalUrls":229},"https://about.gitlab.com/blog/agile-for-remote-work","https://about.gitlab.com","article","agile-for-remote-work","en-us/blog/agile-for-remote-work",[235,236,237],"agile","remote work","inside GitLab","BlogPost","LuHTq7m3hq18MV9yDTZ2Z6amlQJOxOOJ-Akh-1rpKJ8",{"logo":241,"freeTrial":246,"sales":251,"login":256,"items":261,"search":587,"minimal":618,"duo":637,"switchNav":646,"pricingDeployment":657},{"config":242},{"href":243,"dataGaName":244,"dataGaLocation":245},"/","gitlab logo","header",{"text":247,"config":248},"Get free trial",{"href":249,"dataGaName":250,"dataGaLocation":245},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":252,"config":253},"Request a demo",{"href":254,"dataGaName":255,"dataGaLocation":245},"/sales/?contact-topic=request-demo","sales",{"text":257,"config":258},"Sign in",{"href":259,"dataGaName":260,"dataGaLocation":245},"https://gitlab.com/users/sign_in/","sign in",[262,291,390,395,509,565],{"text":263,"config":264,"menu":266},"Platform",{"dataNavLevelOne":265},"platform",{"type":267,"columns":268},"cards",[269,275,283],{"title":263,"description":270,"link":271},"The intelligent orchestration platform for DevSecOps",{"text":272,"config":273},"Explore our Platform",{"href":274,"dataGaName":265,"dataGaLocation":245},"/platform/",{"title":276,"description":277,"link":278},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":279,"config":280},"Meet GitLab Duo",{"href":281,"dataGaName":282,"dataGaLocation":245},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":284,"description":285,"link":286},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":287,"config":288},"Learn more",{"href":289,"dataGaName":290,"dataGaLocation":245},"/why-gitlab/","why gitlab",{"text":292,"left":226,"config":293,"menu":295},"Product",{"dataNavLevelOne":294},"solutions",{"type":296,"link":297,"columns":301,"feature":369},"lists",{"text":298,"config":299},"View all Solutions",{"href":300,"dataGaName":294,"dataGaLocation":245},"/solutions/",[302,325,348],{"title":303,"description":304,"link":305,"items":310},"Automation","CI/CD and automation to accelerate deployment",{"config":306},{"icon":307,"href":308,"dataGaName":309,"dataGaLocation":245},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[311,314,317,321],{"text":312,"config":313},"CI/CD",{"href":57,"dataGaLocation":245,"dataGaName":312},{"text":276,"config":315},{"href":281,"dataGaLocation":245,"dataGaName":316},"gitlab duo agent platform - product menu",{"text":318,"config":319},"Source Code Management",{"href":320,"dataGaLocation":245,"dataGaName":318},"/solutions/source-code-management/",{"text":322,"config":323},"Automated Software Delivery",{"href":308,"dataGaLocation":245,"dataGaName":324},"Automated software delivery",{"title":326,"description":327,"link":328,"items":333},"Security","Deliver code faster without compromising security",{"config":329},{"href":330,"dataGaName":331,"dataGaLocation":245,"icon":332},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[334,338,343],{"text":335,"config":336},"Application Security Testing",{"href":330,"dataGaName":337,"dataGaLocation":245},"Application security testing",{"text":339,"config":340},"Software Supply Chain Security",{"href":341,"dataGaLocation":245,"dataGaName":342},"/solutions/supply-chain/","Software supply chain security",{"text":344,"config":345},"Software Compliance",{"href":346,"dataGaName":347,"dataGaLocation":245},"/solutions/software-compliance/","software compliance",{"title":349,"link":350,"items":355},"Measurement",{"config":351},{"icon":352,"href":353,"dataGaName":354,"dataGaLocation":245},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[356,360,364],{"text":357,"config":358},"Visibility & Measurement",{"href":353,"dataGaLocation":245,"dataGaName":359},"Visibility and Measurement",{"text":361,"config":362},"Value Stream Management",{"href":363,"dataGaLocation":245,"dataGaName":361},"/solutions/value-stream-management/",{"text":365,"config":366},"Analytics & Insights",{"href":367,"dataGaLocation":245,"dataGaName":368},"/solutions/analytics-and-insights/","Analytics and insights",{"title":370,"type":296,"items":371},"GitLab for",[372,378,384],{"text":373,"config":374},"Enterprise",{"icon":375,"href":376,"dataGaLocation":245,"dataGaName":377},"Building","/enterprise/","enterprise",{"text":379,"config":380},"Small Business",{"icon":381,"href":382,"dataGaLocation":245,"dataGaName":383},"Work","/small-business/","small business",{"text":385,"config":386},"Public Sector",{"icon":387,"href":388,"dataGaLocation":245,"dataGaName":389},"Organization","/solutions/public-sector/","public sector",{"text":391,"config":392},"Pricing",{"href":393,"dataGaName":394,"dataGaLocation":245,"dataNavLevelOne":394},"/pricing/","pricing",{"text":396,"config":397,"menu":399},"Resources",{"dataNavLevelOne":398},"resources",{"type":296,"link":400,"columns":404,"feature":498},{"text":401,"config":402},"View all resources",{"href":403,"dataGaName":398,"dataGaLocation":245},"/resources/",[405,438,465],{"title":406,"items":407},"Getting started",[408,413,418,423,428,433],{"text":409,"config":410},"Install",{"href":411,"dataGaName":412,"dataGaLocation":245},"/install/","install",{"text":414,"config":415},"Quick start guides",{"href":416,"dataGaName":417,"dataGaLocation":245},"/get-started/","quick setup checklists",{"text":419,"config":420},"Learn",{"href":421,"dataGaLocation":245,"dataGaName":422},"https://university.gitlab.com/","learn",{"text":424,"config":425},"Product documentation",{"href":426,"dataGaName":427,"dataGaLocation":245},"https://docs.gitlab.com/","product documentation",{"text":429,"config":430},"Best practice videos",{"href":431,"dataGaName":432,"dataGaLocation":245},"/getting-started-videos/","best practice videos",{"text":434,"config":435},"Integrations",{"href":436,"dataGaName":437,"dataGaLocation":245},"/integrations/","integrations",{"title":439,"items":440},"Discover",[441,446,451,456,460],{"text":442,"config":443},"Customer success stories",{"href":444,"dataGaName":445,"dataGaLocation":245},"/customers/","customer success stories",{"text":447,"config":448},"Blog",{"href":449,"dataGaName":450,"dataGaLocation":245},"/blog/","blog",{"text":452,"config":453},"Demo Hub",{"href":454,"dataGaName":455,"dataGaLocation":245},"/demo-hub/","demo hub",{"text":457,"config":458},"The Source",{"href":459,"dataGaName":450,"dataGaLocation":245},"/the-source/",{"text":461,"config":462},"Remote",{"href":463,"dataGaName":464,"dataGaLocation":245},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":466,"items":467},"Connect",[468,473,478,483,488,493],{"text":469,"config":470},"GitLab Services",{"href":471,"dataGaName":472,"dataGaLocation":245},"/services/","services",{"text":474,"config":475},"Contribute",{"href":476,"dataGaName":477,"dataGaLocation":245},"https://contributors.gitlab.com","contribute",{"text":479,"config":480},"Community",{"href":481,"dataGaName":482,"dataGaLocation":245},"/community/","community",{"text":484,"config":485},"Forum",{"href":486,"dataGaName":487,"dataGaLocation":245},"https://forum.gitlab.com/","forum",{"text":489,"config":490},"Events",{"href":491,"dataGaName":492,"dataGaLocation":245},"/events/","events",{"text":494,"config":495},"Partners",{"href":496,"dataGaName":497,"dataGaLocation":245},"/partners/","partners",{"config":499,"title":502,"text":503,"link":504},{"background":500,"textColor":501},"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":505,"config":506},"Read the latest",{"href":507,"dataGaName":508,"dataGaLocation":245},"/whats-new/","whats new",{"text":510,"config":511,"menu":513},"Company",{"dataNavLevelOne":512},"company",{"type":296,"columns":514},[515],{"items":516},[517,522,528,530,535,540,545,550,555,560],{"text":518,"config":519},"About",{"href":520,"dataGaName":521,"dataGaLocation":245},"/company/","about",{"text":523,"config":524,"footerGa":527},"Jobs",{"href":525,"dataGaName":526,"dataGaLocation":245},"/jobs/","jobs",{"dataGaName":526},{"text":489,"config":529},{"href":491,"dataGaName":492,"dataGaLocation":245},{"text":531,"config":532},"Leadership",{"href":533,"dataGaName":534,"dataGaLocation":245},"/company/team/e-group/","leadership",{"text":536,"config":537},"Handbook",{"href":538,"dataGaName":539,"dataGaLocation":245},"https://handbook.gitlab.com/","handbook",{"text":541,"config":542},"Investor relations",{"href":543,"dataGaName":544,"dataGaLocation":245},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":546,"config":547},"Trust Center",{"href":548,"dataGaName":549,"dataGaLocation":245},"/security/","trust center",{"text":551,"config":552},"AI Transparency Center",{"href":553,"dataGaName":554,"dataGaLocation":245},"/ai-transparency-center/","ai transparency center",{"text":556,"config":557},"Newsletter",{"href":558,"dataGaName":559,"dataGaLocation":245},"/company/contact/#contact-forms","newsletter",{"text":561,"config":562},"Press",{"href":563,"dataGaName":564,"dataGaLocation":245},"/press/","press",{"text":566,"config":567,"menu":568},"Contact us",{"dataNavLevelOne":512},{"type":296,"columns":569},[570],{"items":571},[572,577,582],{"text":573,"config":574},"Talk to sales",{"href":575,"dataGaName":576,"dataGaLocation":245},"/sales/","talk to sales",{"text":578,"config":579},"Support portal",{"href":580,"dataGaName":581,"dataGaLocation":245},"https://support.gitlab.com/hc/en-us","support portal",{"text":583,"config":584},"Customer portal",{"href":585,"dataGaName":586,"dataGaLocation":245},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":588,"login":589,"suggestions":596},"Close",{"text":590,"link":591},"To search repositories and projects, login to",{"text":592,"config":593},"gitlab.com",{"href":259,"dataGaName":594,"dataGaLocation":595},"search login","search",{"text":597,"default":598},"Suggestions",[599,601,605,607,611,615],{"text":276,"config":600},{"href":281,"dataGaName":276,"dataGaLocation":595},{"text":602,"config":603},"Code Suggestions (AI)",{"href":604,"dataGaName":602,"dataGaLocation":595},"/solutions/code-suggestions/",{"text":312,"config":606},{"href":57,"dataGaName":312,"dataGaLocation":595},{"text":608,"config":609},"GitLab on AWS",{"href":610,"dataGaName":608,"dataGaLocation":595},"/partners/technology-partners/aws/",{"text":612,"config":613},"GitLab on Google Cloud",{"href":614,"dataGaName":612,"dataGaLocation":595},"/partners/technology-partners/google-cloud-platform/",{"text":616,"config":617},"Why GitLab?",{"href":289,"dataGaName":616,"dataGaLocation":595},{"freeTrial":619,"mobileIcon":624,"desktopIcon":629,"secondaryButton":632},{"text":620,"config":621},"Start free trial",{"href":622,"dataGaName":250,"dataGaLocation":623},"https://gitlab.com/-/trials/new/","nav",{"altText":625,"config":626},"Gitlab Icon",{"src":627,"dataGaName":628,"dataGaLocation":623},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":625,"config":630},{"src":631,"dataGaName":628,"dataGaLocation":623},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":633,"config":634},"Get Started",{"href":635,"dataGaName":636,"dataGaLocation":623},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":638,"mobileIcon":642,"desktopIcon":644},{"text":639,"config":640},"Learn more about GitLab Duo",{"href":281,"dataGaName":641,"dataGaLocation":623},"gitlab duo",{"altText":625,"config":643},{"src":627,"dataGaName":628,"dataGaLocation":623},{"altText":625,"config":645},{"src":631,"dataGaName":628,"dataGaLocation":623},{"button":647,"mobileIcon":652,"desktopIcon":654},{"text":648,"config":649},"/switch",{"href":650,"dataGaName":651,"dataGaLocation":623},"#contact","switch",{"altText":625,"config":653},{"src":627,"dataGaName":628,"dataGaLocation":623},{"altText":625,"config":655},{"src":656,"dataGaName":628,"dataGaLocation":623},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":658,"mobileIcon":663,"desktopIcon":665},{"text":659,"config":660},"Back to pricing",{"href":393,"dataGaName":661,"dataGaLocation":623,"icon":662},"back to pricing","GoBack",{"altText":625,"config":664},{"src":627,"dataGaName":628,"dataGaLocation":623},{"altText":625,"config":666},{"src":631,"dataGaName":628,"dataGaLocation":623},{"title":668,"titleMobile":669,"button":670,"config":675},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":287,"config":671},{"href":672,"dataGaName":673,"dataGaLocation":674},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":676,"disabled":223},"release",{"data":678},{"text":679,"source":680,"edit":686,"contribute":691,"config":696,"items":701,"minimal":911},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":681,"config":682},"View page source",{"href":683,"dataGaName":684,"dataGaLocation":685},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":687,"config":688},"Edit this page",{"href":689,"dataGaName":690,"dataGaLocation":685},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":692,"config":693},"Please contribute",{"href":694,"dataGaName":695,"dataGaLocation":685},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":697,"facebook":698,"youtube":699,"linkedin":700},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[702,749,803,847,879],{"title":391,"links":703,"subMenu":718},[704,708,713],{"text":705,"config":706},"View plans",{"href":393,"dataGaName":707,"dataGaLocation":685},"view plans",{"text":709,"config":710},"Why Premium?",{"href":711,"dataGaName":712,"dataGaLocation":685},"/pricing/premium/","why premium",{"text":714,"config":715},"Why Ultimate?",{"href":716,"dataGaName":717,"dataGaLocation":685},"/pricing/ultimate/","why ultimate",[719],{"title":720,"links":721},"Contact Us",[722,725,727,729,734,739,744],{"text":723,"config":724},"Contact sales",{"href":575,"dataGaName":255,"dataGaLocation":685},{"text":578,"config":726},{"href":580,"dataGaName":581,"dataGaLocation":685},{"text":583,"config":728},{"href":585,"dataGaName":586,"dataGaLocation":685},{"text":730,"config":731},"Status",{"href":732,"dataGaName":733,"dataGaLocation":685},"https://status.gitlab.com/","status",{"text":735,"config":736},"Terms of use",{"href":737,"dataGaName":738,"dataGaLocation":685},"/terms/","terms of use",{"text":740,"config":741},"Privacy statement",{"href":742,"dataGaName":743,"dataGaLocation":685},"/privacy/","privacy statement",{"text":745,"config":746},"Cookie preferences",{"dataGaName":747,"dataGaLocation":685,"id":748,"isOneTrustButton":226},"cookie preferences","ot-sdk-btn",{"title":292,"links":750,"subMenu":759},[751,755],{"text":752,"config":753},"DevSecOps platform",{"href":274,"dataGaName":754,"dataGaLocation":685},"devsecops platform",{"text":756,"config":757},"AI-Assisted Development",{"href":281,"dataGaName":758,"dataGaLocation":685},"ai-assisted development",[760],{"title":761,"links":762},"Topics",[763,768,773,778,783,788,793,798],{"text":764,"config":765},"CICD",{"href":766,"dataGaName":767,"dataGaLocation":685},"/topics/ci-cd/","cicd",{"text":769,"config":770},"GitOps",{"href":771,"dataGaName":772,"dataGaLocation":685},"/topics/gitops/","gitops",{"text":774,"config":775},"DevOps",{"href":776,"dataGaName":777,"dataGaLocation":685},"/topics/devops/","devops",{"text":779,"config":780},"Version Control",{"href":781,"dataGaName":782,"dataGaLocation":685},"/topics/version-control/","version control",{"text":784,"config":785},"DevSecOps",{"href":786,"dataGaName":787,"dataGaLocation":685},"/topics/devsecops/","devsecops",{"text":789,"config":790},"Cloud Native",{"href":791,"dataGaName":792,"dataGaLocation":685},"/topics/cloud-native/","cloud native",{"text":794,"config":795},"AI for Coding",{"href":796,"dataGaName":797,"dataGaLocation":685},"/topics/devops/ai-for-coding/","ai for coding",{"text":799,"config":800},"Agentic AI",{"href":801,"dataGaName":802,"dataGaLocation":685},"/topics/agentic-ai/","agentic ai",{"title":804,"links":805},"Solutions",[806,808,810,815,819,822,826,829,831,834,837,842],{"text":335,"config":807},{"href":330,"dataGaName":335,"dataGaLocation":685},{"text":324,"config":809},{"href":308,"dataGaName":309,"dataGaLocation":685},{"text":811,"config":812},"Agile development",{"href":813,"dataGaName":814,"dataGaLocation":685},"/solutions/agile-delivery/","agile delivery",{"text":816,"config":817},"SCM",{"href":320,"dataGaName":818,"dataGaLocation":685},"source code management",{"text":764,"config":820},{"href":57,"dataGaName":821,"dataGaLocation":685},"continuous integration & delivery",{"text":823,"config":824},"Value stream management",{"href":363,"dataGaName":825,"dataGaLocation":685},"value stream management",{"text":769,"config":827},{"href":828,"dataGaName":772,"dataGaLocation":685},"/solutions/gitops/",{"text":373,"config":830},{"href":376,"dataGaName":377,"dataGaLocation":685},{"text":832,"config":833},"Small business",{"href":382,"dataGaName":383,"dataGaLocation":685},{"text":835,"config":836},"Public sector",{"href":388,"dataGaName":389,"dataGaLocation":685},{"text":838,"config":839},"Education",{"href":840,"dataGaName":841,"dataGaLocation":685},"/solutions/education/","education",{"text":843,"config":844},"Financial services",{"href":845,"dataGaName":846,"dataGaLocation":685},"/solutions/finance/","financial services",{"title":396,"links":848},[849,851,853,855,858,860,863,865,867,869,871,873,875,877],{"text":409,"config":850},{"href":411,"dataGaName":412,"dataGaLocation":685},{"text":414,"config":852},{"href":416,"dataGaName":417,"dataGaLocation":685},{"text":419,"config":854},{"href":421,"dataGaName":422,"dataGaLocation":685},{"text":424,"config":856},{"href":426,"dataGaName":857,"dataGaLocation":685},"docs",{"text":447,"config":859},{"href":449,"dataGaName":450,"dataGaLocation":685},{"text":861,"config":862},"What's new",{"href":507,"dataGaName":508,"dataGaLocation":685},{"text":442,"config":864},{"href":444,"dataGaName":445,"dataGaLocation":685},{"text":461,"config":866},{"href":463,"dataGaName":464,"dataGaLocation":685},{"text":469,"config":868},{"href":471,"dataGaName":472,"dataGaLocation":685},{"text":474,"config":870},{"href":476,"dataGaName":477,"dataGaLocation":685},{"text":479,"config":872},{"href":481,"dataGaName":482,"dataGaLocation":685},{"text":484,"config":874},{"href":486,"dataGaName":487,"dataGaLocation":685},{"text":489,"config":876},{"href":491,"dataGaName":492,"dataGaLocation":685},{"text":494,"config":878},{"href":496,"dataGaName":497,"dataGaLocation":685},{"title":510,"links":880},[881,883,885,887,889,891,895,900,902,904,906],{"text":518,"config":882},{"href":520,"dataGaName":512,"dataGaLocation":685},{"text":523,"config":884},{"href":525,"dataGaName":526,"dataGaLocation":685},{"text":531,"config":886},{"href":533,"dataGaName":534,"dataGaLocation":685},{"text":536,"config":888},{"href":538,"dataGaName":539,"dataGaLocation":685},{"text":541,"config":890},{"href":543,"dataGaName":544,"dataGaLocation":685},{"text":892,"config":893},"Sustainability",{"href":894,"dataGaName":892,"dataGaLocation":685},"/sustainability/",{"text":896,"config":897},"Diversity, inclusion and belonging (DIB)",{"href":898,"dataGaName":899,"dataGaLocation":685},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":546,"config":901},{"href":548,"dataGaName":549,"dataGaLocation":685},{"text":556,"config":903},{"href":558,"dataGaName":559,"dataGaLocation":685},{"text":561,"config":905},{"href":563,"dataGaName":564,"dataGaLocation":685},{"text":907,"config":908},"Modern Slavery Transparency Statement",{"href":909,"dataGaName":910,"dataGaLocation":685},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":912},[913,916,919],{"text":914,"config":915},"Terms",{"href":737,"dataGaName":738,"dataGaLocation":685},{"text":917,"config":918},"Cookies",{"dataGaName":747,"dataGaLocation":685,"id":748,"isOneTrustButton":226},{"text":920,"config":921},"Privacy",{"href":742,"dataGaName":743,"dataGaLocation":685},[923],{"id":924,"title":7,"body":222,"config":925,"content":927,"description":222,"extension":930,"meta":931,"navigation":226,"path":932,"seo":933,"stem":934,"__hash__":935},"blogAuthors/en-us/blog/authors/sara-kassabian.yml",{"template":926},"BlogAuthor",{"name":7,"config":928},{"headshot":206,"ctfId":929},"skassabian","yml",{},"/en-us/blog/authors/sara-kassabian",{},"en-us/blog/authors/sara-kassabian","6cCCPpjzkCDfb77tMVCyG8_FImRVQXA2VCMyiAjhFX0",[937,945,953],{"title":938,"description":939,"heroImage":940,"category":218,"date":941,"authors":942,"slug":944,"externalUrl":222},"Developer Relations at GitLab: What we've learned since our start","DevRel is key to success for many tech companies. Find out how GitLab's DevRel program has evolved to stay aligned with the industry and our customers.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749672008/Blog/Hero%20Images/AdobeStock_204527293.jpg","2024-03-13",[943],"John Coghlan","developer-relations-at-gitlab-what-weve-learned-since-our-start",{"title":946,"description":947,"heroImage":948,"category":218,"date":949,"authors":950,"slug":952,"externalUrl":222},"Visualizing 11 years of GitLab contributions","Check out this animated video, which beautifully visualizes every contribution since our start.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682555/Blog/Hero%20Images/gitlabeveryonecontributesdna.png","2022-12-19",[951],"Darwin Sanoy","everyone-who-has-contributed",{"title":954,"description":955,"heroImage":956,"category":218,"date":957,"authors":958,"slug":960,"externalUrl":222},"The many routes to a tech career","GitLab team members of different ages and backgrounds share their entry into this industry.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667236/Blog/Hero%20Images/Learn-at-GL.jpg","2022-10-04",[959],"Heather Simpson","the-many-routes-to-a-tech-career",{"promotions":962},[963,977,989,1001],{"id":964,"categories":965,"header":967,"text":968,"button":969,"image":974},"ai-modernization",[966],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":970,"config":971},"Get your AI maturity score",{"href":972,"dataGaName":973,"dataGaLocation":450},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":975},{"src":976},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":978,"categories":979,"header":981,"text":968,"button":982,"image":986},"devops-modernization",[980,787],"product","Are you just managing tools or shipping innovation?",{"text":983,"config":984},"Get your DevOps maturity score",{"href":985,"dataGaName":973,"dataGaLocation":450},"/assessments/devops-modernization-assessment/",{"config":987},{"src":988},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":990,"categories":991,"header":993,"text":968,"button":994,"image":998},"security-modernization",[992],"security","Are you trading speed for security?",{"text":995,"config":996},"Get your security maturity score",{"href":997,"dataGaName":973,"dataGaLocation":450},"/assessments/security-modernization-assessment/",{"config":999},{"src":1000},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1002,"paths":1003,"header":1006,"text":1007,"button":1008,"image":1013},"github-azure-migration",[1004,1005],"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":1009,"config":1010},"See how GitLab compares to GitHub",{"href":1011,"dataGaName":1012,"dataGaLocation":450},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1014},{"src":988},{"header":1016,"blurb":1017,"button":1018,"secondaryButton":1023},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1019,"config":1020},"Get your free trial",{"href":1021,"dataGaName":250,"dataGaLocation":1022},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":723,"config":1024},{"href":575,"dataGaName":255,"dataGaLocation":1022},1786803763059]