[{"data":1,"prerenderedAt":700},["ShallowReactive",2],{"/en-us/blog/commits-do-not-equal-productivity/":3,"navigation-en-us":31,"banner-en-us":448,"footer-en-us":460,"Job van der Voort":671,"next-steps-en-us":685},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":16,"config":22,"_id":25,"_type":26,"title":9,"_source":27,"_file":28,"_stem":29,"_extension":30},"/en-us/blog/commits-do-not-equal-productivity","blog",false,"",{"title":9,"description":10,"ogTitle":9,"ogDescription":10,"noIndex":6,"ogImage":11,"ogUrl":12,"ogSiteName":13,"ogType":14,"canonicalUrls":12,"schema":15},"Commits Do Not Equal Productivity","In this post we'll consider some ways people evaluate or represent productivity, and I ask for your thoughts on what you track and what you think matters.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684616/Blog/Hero%20Images/racing.png","https://about.gitlab.com/blog/commits-do-not-equal-productivity","https://about.gitlab.com","article","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Commits Do Not Equal Productivity\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Job van der Voort\"}],\n        \"datePublished\": \"2016-03-08\",\n      }",{"title":9,"description":10,"authors":17,"heroImage":11,"date":19,"body":20,"category":21},[18],"Job van der Voort","2016-03-08","\n\nIf you’re interested in an indication of productivity of individual software engineers (programmers), don’t look at commits or other measures of activity. Look at _consistent progress_ instead.\nIn this post we'll consider some ways people evaluate or represent productivity,\nand I ask for your thoughts on what you track and what you think matters.\n\n\u003C!-- more -->\n\n## Commits\n\nCommits are arbitrary changes captured in a single moment in time. Their size and frequency do not correlate with the work needed to achieve that change. At best, commits can be viewed as an indication of activity.\n\nAs a general rule, a programmer should consistently be making commits throughout their work. This can be reduced to ‘a programmer should write code’, which is not very enlightening.\nThe frequency of the commits, nor the size should be compared between programmers. What should be committed is often a matter of personal preference and is subject to debate.\n\nIt can be argued that diminishing commits by a single engineer on a single project can be an indicator of lower productivity. However, that engineer might’ve just read a Hacker News thread that argues for squashing smaller commits.\n\nDon’t measure productivity with commits.\n\n## Weights and Points\n\nAre you using an issue tracker with weights or points? That’s a good start. You can now get a sense of the total volume of work planned and delivered by a team.\n\nTypically, you’d sum the total sum of delivered work and call that _velocity_. You now have a good idea how well your _team_ can estimate the effort required to build things versus how much they actually build things.\n\nEstimating issue weights is notoriously hard and is advised to be done in a group, using games like [Planning Poker]. The issue weight should be taken as an abstract idea of the total body of work, not directly related to the amount of time necessary for this task (this is also why people often use the Fibonacci sequence, and as bigger tasks are harder to estimate).\n\nMeasuring the productivity of individuals by looking at velocity on an engineer-by-engineer basis would mean they’d be measured against the ability of the group to estimate work load. Worse is that this would encourage engineers to over-estimate or otherwise ‘play the system’.\n\nDon’t measure productivity with velocity.\n\n## Progress\n\nTo get an indication of productivity, look at the progress someone is making in their work. In this sense, progress means someone is taking deliberate steps to work towards solving the problem they are working on.\n\nThe best way to get an idea of someone’s progress is to look at _both their communication and activity_. An effective engineer will either be making commits to further their progress or communicate in some way about their work. It’s only when you look at both these factors that you can say something about their productivity.\n\n**A productive engineer communicates and commits. At times, only one of the two.**\n\n## How to Gauge Productivity\n\nI argue that an engineer’s productivity should not be judged by their deliverables or direct output, rather it should be measured by progress. Progress as I define it, is hard to measure, but easy to gauge:\n\n> How is your work going?\n\nA productive programmer will tell you to stop distracting them and come back\nin an hour. And then they’ll give you a pretty good idea of their productivity.\n\n## How to Measure Productivity\n\nRight now, in GitLab you can see your commit activity in your profile:\n\n![In your profile, view commits per day in GitLab](https://about.gitlab.com/images/commitsprod/commits.png)\n\nand get an idea of how everyone in a project is committing on average during\nthe day:\n\n![View average project commit activity in GitLab](https://about.gitlab.com/images/commitsprod/perday.png)\n\nBut both of these measures only relate to direct commit activity.\nIn GitLab Enterprise Edition, you can get a detailed overview of\nthe activity of everyone in a group with our [Contribution Analytics].\nHere, we give a better overview of the total amount of activity of any\ndeveloper, but in all fairness doesn't resolve all problems that I've outlined.\n\nIn future releases, we're planning to add more analytics to GitLab,\nboth relating to code (quality) and activity of its users. I hope that by\ncombining more data in smart ways, we can give better insights into developer\nactivity.\n\nI'm especially interested to hear what you think we should measure.\nPlease feel free to leave a comment below or [create an issue] suggesting\nhow we can improve analytics in GitLab.\n\n## Live tutorial: GitLab workflow\n\nIn our next webcast on March 10th, we'll dig into the GitLab workflow.\n\nThis will take you through the steps of making an issue, merge requests, and\nusing tools in GitLab for cross-referencing and keeping your issue tracker\norganized with labels and milestones.\n\n- Date: Thursday, March 10, 2016\n- Time: 5pm (17:00) UTC; 12pm EST; 9am PST\n- [Register here][webcast]\n\nCan't make it? Register anyway, and we'll send you a link to watch it later.\n\n[Planning Poker]: https://www.planningpoker.com\n[webcast]: http://page.gitlab.com/mar-2016-gitlab-introduction.html\n[Contribution Analytics]: http://doc.gitlab.com/ee/analytics/contribution_analytics.html\n[create an issue]: https://gitlab.com/gitlab-org/gitlab-ce/issues/new\n","insights",{"slug":23,"featured":6,"template":24},"commits-do-not-equal-productivity","BlogPost","content:en-us:blog:commits-do-not-equal-productivity.yml","yaml","content","en-us/blog/commits-do-not-equal-productivity.yml","en-us/blog/commits-do-not-equal-productivity","yml",{"_path":32,"_dir":33,"_draft":6,"_partial":6,"_locale":7,"data":34,"_id":444,"_type":26,"title":445,"_source":27,"_file":446,"_stem":447,"_extension":30},"/shared/en-us/main-navigation","en-us",{"logo":35,"freeTrial":40,"sales":45,"login":50,"items":55,"search":385,"minimal":416,"duo":435},{"config":36},{"href":37,"dataGaName":38,"dataGaLocation":39},"/","gitlab logo","header",{"text":41,"config":42},"Get free trial",{"href":43,"dataGaName":44,"dataGaLocation":39},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":46,"config":47},"Talk to sales",{"href":48,"dataGaName":49,"dataGaLocation":39},"/sales/","sales",{"text":51,"config":52},"Sign in",{"href":53,"dataGaName":54,"dataGaLocation":39},"https://gitlab.com/users/sign_in/","sign in",[56,100,196,201,306,366],{"text":57,"config":58,"cards":60,"footer":83},"Platform",{"dataNavLevelOne":59},"platform",[61,67,75],{"title":57,"description":62,"link":63},"The most comprehensive AI-powered DevSecOps Platform",{"text":64,"config":65},"Explore our Platform",{"href":66,"dataGaName":59,"dataGaLocation":39},"/platform/",{"title":68,"description":69,"link":70},"GitLab Duo (AI)","Build software faster with AI at every stage of development",{"text":71,"config":72},"Meet GitLab Duo",{"href":73,"dataGaName":74,"dataGaLocation":39},"/gitlab-duo/","gitlab duo ai",{"title":76,"description":77,"link":78},"Why GitLab","10 reasons why Enterprises choose GitLab",{"text":79,"config":80},"Learn more",{"href":81,"dataGaName":82,"dataGaLocation":39},"/why-gitlab/","why gitlab",{"title":84,"items":85},"Get started with",[86,91,96],{"text":87,"config":88},"Platform Engineering",{"href":89,"dataGaName":90,"dataGaLocation":39},"/solutions/platform-engineering/","platform engineering",{"text":92,"config":93},"Developer Experience",{"href":94,"dataGaName":95,"dataGaLocation":39},"/developer-experience/","Developer experience",{"text":97,"config":98},"MLOps",{"href":99,"dataGaName":97,"dataGaLocation":39},"/topics/devops/the-role-of-ai-in-devops/",{"text":101,"left":102,"config":103,"link":105,"lists":109,"footer":178},"Product",true,{"dataNavLevelOne":104},"solutions",{"text":106,"config":107},"View all Solutions",{"href":108,"dataGaName":104,"dataGaLocation":39},"/solutions/",[110,135,157],{"title":111,"description":112,"link":113,"items":118},"Automation","CI/CD and automation to accelerate deployment",{"config":114},{"icon":115,"href":116,"dataGaName":117,"dataGaLocation":39},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[119,123,127,131],{"text":120,"config":121},"CI/CD",{"href":122,"dataGaLocation":39,"dataGaName":120},"/solutions/continuous-integration/",{"text":124,"config":125},"AI-Assisted Development",{"href":73,"dataGaLocation":39,"dataGaName":126},"AI assisted development",{"text":128,"config":129},"Source Code Management",{"href":130,"dataGaLocation":39,"dataGaName":128},"/solutions/source-code-management/",{"text":132,"config":133},"Automated Software Delivery",{"href":116,"dataGaLocation":39,"dataGaName":134},"Automated software delivery",{"title":136,"description":137,"link":138,"items":143},"Security","Deliver code faster without compromising security",{"config":139},{"href":140,"dataGaName":141,"dataGaLocation":39,"icon":142},"/solutions/security-compliance/","security and compliance","ShieldCheckLight",[144,147,152],{"text":145,"config":146},"Security & Compliance",{"href":140,"dataGaLocation":39,"dataGaName":145},{"text":148,"config":149},"Software Supply Chain Security",{"href":150,"dataGaLocation":39,"dataGaName":151},"/solutions/supply-chain/","Software supply chain security",{"text":153,"config":154},"Compliance & Governance",{"href":155,"dataGaLocation":39,"dataGaName":156},"/solutions/continuous-software-compliance/","Compliance and governance",{"title":158,"link":159,"items":164},"Measurement",{"config":160},{"icon":161,"href":162,"dataGaName":163,"dataGaLocation":39},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[165,169,173],{"text":166,"config":167},"Visibility & Measurement",{"href":162,"dataGaLocation":39,"dataGaName":168},"Visibility and Measurement",{"text":170,"config":171},"Value Stream Management",{"href":172,"dataGaLocation":39,"dataGaName":170},"/solutions/value-stream-management/",{"text":174,"config":175},"Analytics & Insights",{"href":176,"dataGaLocation":39,"dataGaName":177},"/solutions/analytics-and-insights/","Analytics and insights",{"title":179,"items":180},"GitLab for",[181,186,191],{"text":182,"config":183},"Enterprise",{"href":184,"dataGaLocation":39,"dataGaName":185},"/enterprise/","enterprise",{"text":187,"config":188},"Small Business",{"href":189,"dataGaLocation":39,"dataGaName":190},"/small-business/","small business",{"text":192,"config":193},"Public Sector",{"href":194,"dataGaLocation":39,"dataGaName":195},"/solutions/public-sector/","public sector",{"text":197,"config":198},"Pricing",{"href":199,"dataGaName":200,"dataGaLocation":39,"dataNavLevelOne":200},"/pricing/","pricing",{"text":202,"config":203,"link":205,"lists":209,"feature":293},"Resources",{"dataNavLevelOne":204},"resources",{"text":206,"config":207},"View all resources",{"href":208,"dataGaName":204,"dataGaLocation":39},"/resources/",[210,243,265],{"title":211,"items":212},"Getting started",[213,218,223,228,233,238],{"text":214,"config":215},"Install",{"href":216,"dataGaName":217,"dataGaLocation":39},"/install/","install",{"text":219,"config":220},"Quick start guides",{"href":221,"dataGaName":222,"dataGaLocation":39},"/get-started/","quick setup checklists",{"text":224,"config":225},"Learn",{"href":226,"dataGaLocation":39,"dataGaName":227},"https://university.gitlab.com/","learn",{"text":229,"config":230},"Product documentation",{"href":231,"dataGaName":232,"dataGaLocation":39},"https://docs.gitlab.com/","product documentation",{"text":234,"config":235},"Best practice videos",{"href":236,"dataGaName":237,"dataGaLocation":39},"/getting-started-videos/","best practice videos",{"text":239,"config":240},"Integrations",{"href":241,"dataGaName":242,"dataGaLocation":39},"/integrations/","integrations",{"title":244,"items":245},"Discover",[246,251,255,260],{"text":247,"config":248},"Customer success stories",{"href":249,"dataGaName":250,"dataGaLocation":39},"/customers/","customer success stories",{"text":252,"config":253},"Blog",{"href":254,"dataGaName":5,"dataGaLocation":39},"/blog/",{"text":256,"config":257},"Remote",{"href":258,"dataGaName":259,"dataGaLocation":39},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":261,"config":262},"TeamOps",{"href":263,"dataGaName":264,"dataGaLocation":39},"/teamops/","teamops",{"title":266,"items":267},"Connect",[268,273,278,283,288],{"text":269,"config":270},"GitLab Services",{"href":271,"dataGaName":272,"dataGaLocation":39},"/services/","services",{"text":274,"config":275},"Community",{"href":276,"dataGaName":277,"dataGaLocation":39},"/community/","community",{"text":279,"config":280},"Forum",{"href":281,"dataGaName":282,"dataGaLocation":39},"https://forum.gitlab.com/","forum",{"text":284,"config":285},"Events",{"href":286,"dataGaName":287,"dataGaLocation":39},"/events/","events",{"text":289,"config":290},"Partners",{"href":291,"dataGaName":292,"dataGaLocation":39},"/partners/","partners",{"backgroundColor":294,"textColor":295,"text":296,"image":297,"link":301},"#2f2a6b","#fff","Insights for the future of software development",{"altText":298,"config":299},"the source promo card",{"src":300},"/images/navigation/the-source-promo-card.svg",{"text":302,"config":303},"Read the latest",{"href":304,"dataGaName":305,"dataGaLocation":39},"/the-source/","the source",{"text":307,"config":308,"lists":310},"Company",{"dataNavLevelOne":309},"company",[311],{"items":312},[313,318,324,326,331,336,341,346,351,356,361],{"text":314,"config":315},"About",{"href":316,"dataGaName":317,"dataGaLocation":39},"/company/","about",{"text":319,"config":320,"footerGa":323},"Jobs",{"href":321,"dataGaName":322,"dataGaLocation":39},"/jobs/","jobs",{"dataGaName":322},{"text":284,"config":325},{"href":286,"dataGaName":287,"dataGaLocation":39},{"text":327,"config":328},"Leadership",{"href":329,"dataGaName":330,"dataGaLocation":39},"/company/team/e-group/","leadership",{"text":332,"config":333},"Team",{"href":334,"dataGaName":335,"dataGaLocation":39},"/company/team/","team",{"text":337,"config":338},"Handbook",{"href":339,"dataGaName":340,"dataGaLocation":39},"https://handbook.gitlab.com/","handbook",{"text":342,"config":343},"Investor relations",{"href":344,"dataGaName":345,"dataGaLocation":39},"https://ir.gitlab.com/","investor relations",{"text":347,"config":348},"Trust Center",{"href":349,"dataGaName":350,"dataGaLocation":39},"/security/","trust center",{"text":352,"config":353},"AI Transparency Center",{"href":354,"dataGaName":355,"dataGaLocation":39},"/ai-transparency-center/","ai transparency center",{"text":357,"config":358},"Newsletter",{"href":359,"dataGaName":360,"dataGaLocation":39},"/company/contact/","newsletter",{"text":362,"config":363},"Press",{"href":364,"dataGaName":365,"dataGaLocation":39},"/press/","press",{"text":367,"config":368,"lists":369},"Contact us",{"dataNavLevelOne":309},[370],{"items":371},[372,375,380],{"text":46,"config":373},{"href":48,"dataGaName":374,"dataGaLocation":39},"talk to sales",{"text":376,"config":377},"Get help",{"href":378,"dataGaName":379,"dataGaLocation":39},"/support/","get help",{"text":381,"config":382},"Customer portal",{"href":383,"dataGaName":384,"dataGaLocation":39},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":386,"login":387,"suggestions":394},"Close",{"text":388,"link":389},"To search repositories and projects, login to",{"text":390,"config":391},"gitlab.com",{"href":53,"dataGaName":392,"dataGaLocation":393},"search login","search",{"text":395,"default":396},"Suggestions",[397,399,403,405,409,413],{"text":68,"config":398},{"href":73,"dataGaName":68,"dataGaLocation":393},{"text":400,"config":401},"Code Suggestions (AI)",{"href":402,"dataGaName":400,"dataGaLocation":393},"/solutions/code-suggestions/",{"text":120,"config":404},{"href":122,"dataGaName":120,"dataGaLocation":393},{"text":406,"config":407},"GitLab on AWS",{"href":408,"dataGaName":406,"dataGaLocation":393},"/partners/technology-partners/aws/",{"text":410,"config":411},"GitLab on Google Cloud",{"href":412,"dataGaName":410,"dataGaLocation":393},"/partners/technology-partners/google-cloud-platform/",{"text":414,"config":415},"Why GitLab?",{"href":81,"dataGaName":414,"dataGaLocation":393},{"freeTrial":417,"mobileIcon":422,"desktopIcon":427,"secondaryButton":430},{"text":418,"config":419},"Start free trial",{"href":420,"dataGaName":44,"dataGaLocation":421},"https://gitlab.com/-/trials/new/","nav",{"altText":423,"config":424},"Gitlab Icon",{"src":425,"dataGaName":426,"dataGaLocation":421},"/images/brand/gitlab-logo-tanuki.svg","gitlab icon",{"altText":423,"config":428},{"src":429,"dataGaName":426,"dataGaLocation":421},"/images/brand/gitlab-logo-type.svg",{"text":431,"config":432},"Get Started",{"href":433,"dataGaName":434,"dataGaLocation":421},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/compare/gitlab-vs-github/","get started",{"freeTrial":436,"mobileIcon":440,"desktopIcon":442},{"text":437,"config":438},"Learn more about GitLab Duo",{"href":73,"dataGaName":439,"dataGaLocation":421},"gitlab duo",{"altText":423,"config":441},{"src":425,"dataGaName":426,"dataGaLocation":421},{"altText":423,"config":443},{"src":429,"dataGaName":426,"dataGaLocation":421},"content:shared:en-us:main-navigation.yml","Main Navigation","shared/en-us/main-navigation.yml","shared/en-us/main-navigation",{"_path":449,"_dir":33,"_draft":6,"_partial":6,"_locale":7,"title":450,"button":451,"config":455,"_id":457,"_type":26,"_source":27,"_file":458,"_stem":459,"_extension":30},"/shared/en-us/banner","GitLab Duo Agent Platform is now in public beta!",{"text":79,"config":452},{"href":453,"dataGaName":454,"dataGaLocation":39},"/gitlab-duo/agent-platform/","duo banner",{"layout":456},"release","content:shared:en-us:banner.yml","shared/en-us/banner.yml","shared/en-us/banner",{"_path":461,"_dir":33,"_draft":6,"_partial":6,"_locale":7,"data":462,"_id":667,"_type":26,"title":668,"_source":27,"_file":669,"_stem":670,"_extension":30},"/shared/en-us/main-footer",{"text":463,"source":464,"edit":470,"contribute":475,"config":480,"items":485,"minimal":659},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":465,"config":466},"View page source",{"href":467,"dataGaName":468,"dataGaLocation":469},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":471,"config":472},"Edit this page",{"href":473,"dataGaName":474,"dataGaLocation":469},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":476,"config":477},"Please contribute",{"href":478,"dataGaName":479,"dataGaLocation":469},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":481,"facebook":482,"youtube":483,"linkedin":484},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[486,509,566,595,629],{"title":57,"links":487,"subMenu":492},[488],{"text":489,"config":490},"DevSecOps platform",{"href":66,"dataGaName":491,"dataGaLocation":469},"devsecops platform",[493],{"title":197,"links":494},[495,499,504],{"text":496,"config":497},"View plans",{"href":199,"dataGaName":498,"dataGaLocation":469},"view plans",{"text":500,"config":501},"Why Premium?",{"href":502,"dataGaName":503,"dataGaLocation":469},"/pricing/premium/","why premium",{"text":505,"config":506},"Why Ultimate?",{"href":507,"dataGaName":508,"dataGaLocation":469},"/pricing/ultimate/","why ultimate",{"title":510,"links":511},"Solutions",[512,517,520,522,527,532,536,539,543,548,550,553,556,561],{"text":513,"config":514},"Digital transformation",{"href":515,"dataGaName":516,"dataGaLocation":469},"/topics/digital-transformation/","digital transformation",{"text":145,"config":518},{"href":140,"dataGaName":519,"dataGaLocation":469},"security & compliance",{"text":134,"config":521},{"href":116,"dataGaName":117,"dataGaLocation":469},{"text":523,"config":524},"Agile development",{"href":525,"dataGaName":526,"dataGaLocation":469},"/solutions/agile-delivery/","agile delivery",{"text":528,"config":529},"Cloud transformation",{"href":530,"dataGaName":531,"dataGaLocation":469},"/topics/cloud-native/","cloud transformation",{"text":533,"config":534},"SCM",{"href":130,"dataGaName":535,"dataGaLocation":469},"source code management",{"text":120,"config":537},{"href":122,"dataGaName":538,"dataGaLocation":469},"continuous integration & delivery",{"text":540,"config":541},"Value stream management",{"href":172,"dataGaName":542,"dataGaLocation":469},"value stream management",{"text":544,"config":545},"GitOps",{"href":546,"dataGaName":547,"dataGaLocation":469},"/solutions/gitops/","gitops",{"text":182,"config":549},{"href":184,"dataGaName":185,"dataGaLocation":469},{"text":551,"config":552},"Small business",{"href":189,"dataGaName":190,"dataGaLocation":469},{"text":554,"config":555},"Public sector",{"href":194,"dataGaName":195,"dataGaLocation":469},{"text":557,"config":558},"Education",{"href":559,"dataGaName":560,"dataGaLocation":469},"/solutions/education/","education",{"text":562,"config":563},"Financial services",{"href":564,"dataGaName":565,"dataGaLocation":469},"/solutions/finance/","financial services",{"title":202,"links":567},[568,570,572,574,577,579,581,583,585,587,589,591,593],{"text":214,"config":569},{"href":216,"dataGaName":217,"dataGaLocation":469},{"text":219,"config":571},{"href":221,"dataGaName":222,"dataGaLocation":469},{"text":224,"config":573},{"href":226,"dataGaName":227,"dataGaLocation":469},{"text":229,"config":575},{"href":231,"dataGaName":576,"dataGaLocation":469},"docs",{"text":252,"config":578},{"href":254,"dataGaName":5,"dataGaLocation":469},{"text":247,"config":580},{"href":249,"dataGaName":250,"dataGaLocation":469},{"text":256,"config":582},{"href":258,"dataGaName":259,"dataGaLocation":469},{"text":269,"config":584},{"href":271,"dataGaName":272,"dataGaLocation":469},{"text":261,"config":586},{"href":263,"dataGaName":264,"dataGaLocation":469},{"text":274,"config":588},{"href":276,"dataGaName":277,"dataGaLocation":469},{"text":279,"config":590},{"href":281,"dataGaName":282,"dataGaLocation":469},{"text":284,"config":592},{"href":286,"dataGaName":287,"dataGaLocation":469},{"text":289,"config":594},{"href":291,"dataGaName":292,"dataGaLocation":469},{"title":307,"links":596},[597,599,601,603,605,607,609,613,618,620,622,624],{"text":314,"config":598},{"href":316,"dataGaName":309,"dataGaLocation":469},{"text":319,"config":600},{"href":321,"dataGaName":322,"dataGaLocation":469},{"text":327,"config":602},{"href":329,"dataGaName":330,"dataGaLocation":469},{"text":332,"config":604},{"href":334,"dataGaName":335,"dataGaLocation":469},{"text":337,"config":606},{"href":339,"dataGaName":340,"dataGaLocation":469},{"text":342,"config":608},{"href":344,"dataGaName":345,"dataGaLocation":469},{"text":610,"config":611},"Sustainability",{"href":612,"dataGaName":610,"dataGaLocation":469},"/sustainability/",{"text":614,"config":615},"Diversity, inclusion and belonging (DIB)",{"href":616,"dataGaName":617,"dataGaLocation":469},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":347,"config":619},{"href":349,"dataGaName":350,"dataGaLocation":469},{"text":357,"config":621},{"href":359,"dataGaName":360,"dataGaLocation":469},{"text":362,"config":623},{"href":364,"dataGaName":365,"dataGaLocation":469},{"text":625,"config":626},"Modern Slavery Transparency Statement",{"href":627,"dataGaName":628,"dataGaLocation":469},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":630,"links":631},"Contact Us",[632,635,637,639,644,649,654],{"text":633,"config":634},"Contact an expert",{"href":48,"dataGaName":49,"dataGaLocation":469},{"text":376,"config":636},{"href":378,"dataGaName":379,"dataGaLocation":469},{"text":381,"config":638},{"href":383,"dataGaName":384,"dataGaLocation":469},{"text":640,"config":641},"Status",{"href":642,"dataGaName":643,"dataGaLocation":469},"https://status.gitlab.com/","status",{"text":645,"config":646},"Terms of use",{"href":647,"dataGaName":648,"dataGaLocation":469},"/terms/","terms of use",{"text":650,"config":651},"Privacy statement",{"href":652,"dataGaName":653,"dataGaLocation":469},"/privacy/","privacy statement",{"text":655,"config":656},"Cookie preferences",{"dataGaName":657,"dataGaLocation":469,"id":658,"isOneTrustButton":102},"cookie preferences","ot-sdk-btn",{"items":660},[661,663,665],{"text":645,"config":662},{"href":647,"dataGaName":648,"dataGaLocation":469},{"text":650,"config":664},{"href":652,"dataGaName":653,"dataGaLocation":469},{"text":655,"config":666},{"dataGaName":657,"dataGaLocation":469,"id":658,"isOneTrustButton":102},"content:shared:en-us:main-footer.yml","Main Footer","shared/en-us/main-footer.yml","shared/en-us/main-footer",[672],{"_path":673,"_dir":674,"_draft":6,"_partial":6,"_locale":7,"content":675,"config":679,"_id":681,"_type":26,"title":682,"_source":27,"_file":683,"_stem":684,"_extension":30},"/en-us/blog/authors/job-van-der-voort","authors",{"name":18,"config":676},{"headshot":677,"ctfId":678},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","Job-van-der-Voort",{"template":680},"BlogAuthor","content:en-us:blog:authors:job-van-der-voort.yml","Job Van Der Voort","en-us/blog/authors/job-van-der-voort.yml","en-us/blog/authors/job-van-der-voort",{"_path":686,"_dir":33,"_draft":6,"_partial":6,"_locale":7,"header":687,"eyebrow":688,"blurb":689,"button":690,"secondaryButton":694,"_id":696,"_type":26,"title":697,"_source":27,"_file":698,"_stem":699,"_extension":30},"/shared/en-us/next-steps","Start shipping better software faster","50%+ of the Fortune 100 trust GitLab","See what your team can do with the intelligent\n\n\nDevSecOps platform.\n",{"text":41,"config":691},{"href":692,"dataGaName":44,"dataGaLocation":693},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":46,"config":695},{"href":48,"dataGaName":49,"dataGaLocation":693},"content:shared:en-us:next-steps.yml","Next Steps","shared/en-us/next-steps.yml","shared/en-us/next-steps",1753475326420]