{"id":18231,"date":"2019-06-28T14:45:20","date_gmt":"2019-06-28T21:45:20","guid":{"rendered":"http:\/\/devblogs.microsoft.com\/azuregov\/?p=18231"},"modified":"2019-06-28T14:45:20","modified_gmt":"2019-06-28T21:45:20","slug":"the-need-for-speed-azure-devops","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/azuregov\/the-need-for-speed-azure-devops\/","title":{"rendered":"The need for speed: Azure DevOps"},"content":{"rendered":"<p>I recently had the opportunity to discuss Azure DevOps at the <a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fwww.meetup.com%2FDCAzureGov%2F&amp;data=02%7C01%7Cv-anzet%40microsoft.com%7C1a7a890bbbb34c1aae2608d6f6a76dad%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636967596314940694&amp;sdata=NwfWbVzoC5PrvERJmzUa1tnpB%2F336Xgq%2Fj%2Fgp28w%2BNk%3D&amp;reserved=0\">Microsoft Azure Government DC Meetup<\/a>. During my presentation, <a href=\"https:\/\/www.youtube.com\/watch?v=SsSS9ybRTBw&amp;list=PLOONVrYRytUj-6BsuCNGR4bznRJvEpHMr&amp;index=3&amp;t=0s\">The Need for Speed \u2013 Azure DevOps<\/a>, I demonstrated how a new member of a dev team can quickly integrate and become productive with an existing project using Azure DevOps which facilitates productivity by combining multiple aspects of DevOps into a single, integrated UI.<\/p>\n<p><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/devops\/?&amp;OCID=AID736750_SEM_6kjTfOVp&amp;MarinID=6kjTfOVp_78958749120763_azure%20devops_be_c__1263339009248691_kwd-78958887467240:loc-190_\">Azure DevOps<\/a> doesn\u2019t just benefit developer onboarding, however.\u00a0Whether your team is just starting off in their DevOps transformation journey; or, you already have robust version control, work item tracking, and continuous integration\/continuous deployment (CI\/CD) pipelines, Azure DevOps can help increase your team\u2019s performance.<\/p>\n<p>In this blog post I\u2019ll provide a brief overview of Azure DevOps, highlight some of my own personal experiences, and provide links to more resources to help you get started.<\/p>\n<h4>Plan smarter, collaborate better, and ship faster<\/h4>\n<p>Azure DevOps provides development collaboration tools including high-performance pipelines, free private Git repositories, configurable Kanban boards, and extensive automated and continuous testing capabilities. You can access these tools through our cloud service, Azure DevOps Services; or, on-premises platform, Azure DevOps Server (previously named Visual Studio Team Foundation Server)<a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fdevops%2F%3Fview%3Dazure-devops&amp;data=02%7C01%7Cv-anzet%40microsoft.com%7C1a7a890bbbb34c1aae2608d6f6a76dad%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636967596314940694&amp;sdata=luMnhV38InFlr%2Bx9XGJ5pxacKsFucIXqG74aGYmgwBw%3D&amp;reserved=0\"><sup>1<\/sup><\/a>.<\/p>\n<p>Azure DevOps provides an integrated set of features that you can access through your web browser or IDE client. You can acquire one or more of the following services based on your business needs:<\/p>\n<ul>\n<li><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/devops\/repos\/\">Azure Repos<\/a> provide Git repositories or Team Foundation Version Control (TFVC) for source control of your code<\/li>\n<li><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/devops\/pipelines\/\">Azure Pipelines<\/a> provide build and release services to support continuous integration and delivery of your apps<\/li>\n<li><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/devops\/boards\/\">Azure Boards<\/a> deliver a suite of agile tools to support planning and tracking work, code defects, and issues using Kanban and Scrum methods<\/li>\n<li><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/devops\/test-plans\/\">Azure Test Plans<\/a> provide several tools to test your apps, including manual\/exploratory testing and continuous testing<\/li>\n<li><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/devops\/artifacts\/\">Azure Artifacts<\/a> allow teams to share Maven, npm, and NuGet packages from public and private sources and integrate package sharing into your CI\/CD pipelines<\/li>\n<li>Collaboration tools that include customizable team dashboards with configurable widgets to share information, progress and trends; built-in wikis for sharing information; configurable notifications and more.<\/li>\n<\/ul>\n<p>In addition, the Azure DevOps ecosystem also provides support for adding extensions and integrating with other popular services, such as: Campfire, Slack, Trello, UserVoice, and more, and developing your own custom extensions<a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fdevops%2Fuser-guide%2Fwhat-is-azure-devops%3Fview%3Dazure-devops&amp;data=02%7C01%7Cv-anzet%40microsoft.com%7C1a7a890bbbb34c1aae2608d6f6a76dad%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636967596314950687&amp;sdata=s1RvVcnvaAWwfiTRH6vQBkEvKnB2Nge4ZglSCm1v00o%3D&amp;reserved=0\"><sup>2<\/sup><\/a>.<\/p>\n<p>I personally like to connect to Azure DevOps using <a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fcode.visualstudio.com%2F&amp;data=02%7C01%7Cv-anzet%40microsoft.com%7C1a7a890bbbb34c1aae2608d6f6a76dad%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636967596314950687&amp;sdata=cVqy9ZbCH3o8kbPtBlqg%2F9G71zK5PWB4%2BC9TuoI9BIQ%3D&amp;reserved=0\">Visual Studio Code<\/a>; an open source, lightweight, and powerful source code editor. It\u2019s available for Windows, macOS and Linux. It comes with built-in support for JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other languages (such as C++, C#, Java, Python, PHP, Go) and runtimes (such as .NET and Unity).\u00a0 It also integrates wonderfully with both Azure and Azure DevOps.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-18232\" src=\"http:\/\/devblogs.microsoft.com\/azuregov\/wp-content\/uploads\/sites\/43\/2019\/06\/DevOps-TheNeedForSpeed-1.png\" alt=\"\" width=\"1800\" height=\"1306\" srcset=\"https:\/\/devblogs.microsoft.com\/azuregov\/wp-content\/uploads\/sites\/43\/2019\/06\/DevOps-TheNeedForSpeed-1.png 1800w, https:\/\/devblogs.microsoft.com\/azuregov\/wp-content\/uploads\/sites\/43\/2019\/06\/DevOps-TheNeedForSpeed-1-300x218.png 300w, https:\/\/devblogs.microsoft.com\/azuregov\/wp-content\/uploads\/sites\/43\/2019\/06\/DevOps-TheNeedForSpeed-1-768x557.png 768w, https:\/\/devblogs.microsoft.com\/azuregov\/wp-content\/uploads\/sites\/43\/2019\/06\/DevOps-TheNeedForSpeed-1-1024x743.png 1024w\" sizes=\"(max-width: 1800px) 100vw, 1800px\" \/><\/p>\n<h4>My need for speed: Why I use Azure DevOps<\/h4>\n<p><span style=\"font-size: 12.5pt; font-family: 'Segoe UI',sans-serif; color: black;\">When I first started developing applications, I quickly learned the pain of having files modified by \u201cexternal forces\u201d (I\u2019m looking at you, 1990s virus scanner!). Back then, my version control was making multiple copies of source files, compressing complete folders to ZIP, and even backing up to floppy disks. I didn\u2019t have access to free git repositories in the cloud; I didn\u2019t even have ubiquitous access to the internet! Development was slow.<\/span><\/p>\n<p><span style=\"font-size: 12.5pt; font-family: 'Segoe UI',sans-serif; color: black;\">I started my first programming job while I was in college and working for the Utah Army National Guard as a civilian in the J6 shop.\u00a0I was tasked with building various enterprise applications which I needed to have validated before they were deployed into production.\u00a0Once again, I quickly learned the pain of trying to share source files.<\/span><\/p>\n<p><span style=\"font-size: 12.5pt; font-family: 'Segoe UI',sans-serif; color: black;\">My dev team was a Windows shop and we were developing .NET and ASP.NET applications using Visual Studio.\u00a0I stood up an SVN server and we were using that for our version control.\u00a0Despite my efforts, I could not convince my extended team to use SVN.\u00a0We were back to making multiple copies of source files, compressing complete folders to ZIP, and backing up to CD.<\/span><\/p>\n<p><span style=\"font-size: 12.5pt; font-family: 'Segoe UI',sans-serif; color: black;\">In 2010, as part of my MSDN subscription, I got a DVD with a new product called Team Foundation Server.\u00a0I was intrigued by the product description and immediately stood up some servers to test it out.\u00a0It was love at first sight! And even better, my team finally found a system that worked for them. No more duplicated code files! This led to a pretty dramatic decrease in changes being deployed into production.\u00a0I didn\u2019t think things could get any better. Finally, we had some speed to our deployments.<\/span><\/p>\n<p><span style=\"font-size: 12.5pt; font-family: 'Segoe UI',sans-serif; color: black;\">Fast-forward nine years, and TFS has grown up and transformed into both a cloud service and matching on-prem offering. Azure DevOps and Azure DevOps Server are more than just version control, they\u2019re a full suite of tools that give developers end-to-end capabilities to facilitate code sharing and organization, work item tracking, CI\/CD, package management, and user testing. <\/span><\/p>\n<p><span style=\"font-size: 12.5pt; font-family: 'Segoe UI',sans-serif; color: black;\">Every tool in the suite interfaces directly with each other. Work items can be linked with build packages, change sets can be associated with user stories, user tests can generate bugs that can be linked with git commits that all roll up under a single deployment. That\u2019s a lot of collaboration! <\/span><\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-18233\" src=\"http:\/\/devblogs.microsoft.com\/azuregov\/wp-content\/uploads\/sites\/43\/2019\/06\/DevOps-TheNeedForSpeed-2.png\" alt=\"\" width=\"1294\" height=\"624\" srcset=\"https:\/\/devblogs.microsoft.com\/azuregov\/wp-content\/uploads\/sites\/43\/2019\/06\/DevOps-TheNeedForSpeed-2.png 1294w, https:\/\/devblogs.microsoft.com\/azuregov\/wp-content\/uploads\/sites\/43\/2019\/06\/DevOps-TheNeedForSpeed-2-300x145.png 300w, https:\/\/devblogs.microsoft.com\/azuregov\/wp-content\/uploads\/sites\/43\/2019\/06\/DevOps-TheNeedForSpeed-2-768x370.png 768w, https:\/\/devblogs.microsoft.com\/azuregov\/wp-content\/uploads\/sites\/43\/2019\/06\/DevOps-TheNeedForSpeed-2-1024x494.png 1024w\" sizes=\"(max-width: 1294px) 100vw, 1294px\" \/><\/p>\n<p><span style=\"font-size: 12.5pt; font-family: 'Segoe UI',sans-serif; color: black;\">My current job at Microsoft requires that I create proof of concepts to showcase various services in Azure.\u00a0Sometimes I\u2019m only given a few days\u2019 notice to prepare a working demo.\u00a0The only way to meet this condensed schedule is by reducing all overhead tasks to almost nothing.\u00a0<\/span><\/p>\n<p><span style=\"font-size: 12.5pt; font-family: 'Segoe UI',sans-serif; color: black;\">Most of the time, I can fork an existing demo and extend its functionality to include the highlighted services.\u00a0I need to keep all those demos clean, and I need to know at a glance which repos are healthy enough to form a foundation.\u00a0This is where build indicators from <\/span><a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fdevops%2Fpipelines%2Fcreate-first-pipeline%3Fview%3Dazure-devops%26tabs%3Dtfs-2018-2%23add-a-status-badge-to-your-repository&amp;data=02%7C01%7Cv-anzet%40microsoft.com%7C1a7a890bbbb34c1aae2608d6f6a76dad%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636967596314960679&amp;sdata=6yYyXJnIm3PXyGLSvzBX2oMLUT%2FdyQktg%2FNEcPCNSoU%3D&amp;reserved=0\"><span style=\"font-size: 12.5pt; font-family: 'Segoe UI',sans-serif;\">Pipeline Status<\/span><\/a><span style=\"font-size: 12.5pt; font-family: 'Segoe UI',sans-serif; color: black;\"> in Azure DevOps really comes in handy. <\/span><\/p>\n<p><span style=\"font-size: 12.5pt; font-family: 'Segoe UI',sans-serif; color: black;\">I also can\u2019t spend time pushing my code into production; that needs to happen automagically.\u00a0 <\/span><a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fdevops%2Fpipelines%2Fget-started%2Fwhat-is-azure-pipelines%3Fview%3Dazure-devops&amp;data=02%7C01%7Cv-anzet%40microsoft.com%7C1a7a890bbbb34c1aae2608d6f6a76dad%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636967596314960679&amp;sdata=xfX6SbZlzY1kbr2AtsprGzx8JhKw7szSMEIp988eQbk%3D&amp;reserved=0\"><span style=\"font-size: 12.5pt; font-family: 'Segoe UI',sans-serif;\">Azure Pipelines<\/span><\/a><span style=\"font-size: 12.5pt; font-family: 'Segoe UI',sans-serif; color: black;\"> are just what the doctor ordered!<\/span><\/p>\n<p><span style=\"font-size: 12.5pt; font-family: 'Segoe UI',sans-serif; color: black;\">Finally, since I\u2019m usually scrambling to get my demos out the door, I sometimes forget to remove sensitive strings from my code (things like SQL connection strings, Cosmos DB keys, or other API secrets).\u00a0<\/span><a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fsecdevtools.azurewebsites.net%2Fhelpcredscan.html&amp;data=02%7C01%7Cv-anzet%40microsoft.com%7C1a7a890bbbb34c1aae2608d6f6a76dad%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636967596314970672&amp;sdata=HsbEHsKLFb%2Bp%2ByXIqmHERwYVdfU10ueCccV2985kf0I%3D&amp;reserved=0\"><span style=\"font-size: 12.5pt; font-family: 'Segoe UI',sans-serif;\">Credential Scanner (CredScan)<\/span><\/a><span style=\"font-size: 12.5pt; font-family: 'Segoe UI',sans-serif; color: black;\"> has me covered. CredScan is <\/span><span style=\"font-size: 12.0pt; font-family: 'Segoe UI',sans-serif; color: #212529; background: white;\">a tool developed and maintained by Microsoft to identify credential leaks such as those in source code and configuration files. Super handy after those late-night code binges.<\/span><\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-18234\" src=\"http:\/\/devblogs.microsoft.com\/azuregov\/wp-content\/uploads\/sites\/43\/2019\/06\/DevOps-TheNeedForSpeed-3.png\" alt=\"\" width=\"1296\" height=\"352\" srcset=\"https:\/\/devblogs.microsoft.com\/azuregov\/wp-content\/uploads\/sites\/43\/2019\/06\/DevOps-TheNeedForSpeed-3.png 1296w, https:\/\/devblogs.microsoft.com\/azuregov\/wp-content\/uploads\/sites\/43\/2019\/06\/DevOps-TheNeedForSpeed-3-300x81.png 300w, https:\/\/devblogs.microsoft.com\/azuregov\/wp-content\/uploads\/sites\/43\/2019\/06\/DevOps-TheNeedForSpeed-3-768x209.png 768w, https:\/\/devblogs.microsoft.com\/azuregov\/wp-content\/uploads\/sites\/43\/2019\/06\/DevOps-TheNeedForSpeed-3-1024x278.png 1024w\" sizes=\"(max-width: 1296px) 100vw, 1296px\" \/><\/p>\n<p>Essentially, Azure DevOps gives me the tools that I need to quickly and safely get my job done.\u00a0 My job requires that I have a need for speed, and I rely on ADO to get me there.<\/p>\n<h4>Where can I learn more about Azure DevOps?<\/h4>\n<p>Here are some of the best places to learn about Azure DevOps:<\/p>\n<ul>\n<li><a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fdevops%2F%3Fview%3Dazure-devops&amp;data=02%7C01%7Cv-anzet%40microsoft.com%7C1a7a890bbbb34c1aae2608d6f6a76dad%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636967596314970672&amp;sdata=YqqG8rojB0wKdA7z9vEn%2F25gGBi9ooqhV3%2FvrDKzseY%3D&amp;reserved=0\">Azure DevOps documentation<\/a><\/li>\n<li><a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=http%3A%2F%2Fdonovanbrown.com%2F&amp;data=02%7C01%7Cv-anzet%40microsoft.com%7C1a7a890bbbb34c1aae2608d6f6a76dad%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636967596314980666&amp;sdata=pLSt1XCxkD5o8fzCc0n1yprgGuiOpOro6zoJVNEVfMc%3D&amp;reserved=0\">Donovan Brown&#8217;s blog<\/a><\/li>\n<li><a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DtlGl6I4WIcQ&amp;data=02%7C01%7Cv-anzet%40microsoft.com%7C1a7a890bbbb34c1aae2608d6f6a76dad%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636967596314980666&amp;sdata=I27CMdwyyHwj97EdZk4I1BWtTMHMKUJ%2BSLUtF460%2F%2Fs%3D&amp;reserved=0\">Getting Started with Azure DevOps video<\/a> (2018 Microsoft Ignite)<\/li>\n<li><a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fwww.youtube.com%2Fchannel%2FUC-ikyViYMM69joIAv7dlMsA&amp;data=02%7C01%7Cv-anzet%40microsoft.com%7C1a7a890bbbb34c1aae2608d6f6a76dad%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636967596314990658&amp;sdata=R4HETaM54VCKQTHFMmGe5SyslUodo8K7vZx%2FPE3pJEk%3D&amp;reserved=0\">Azure DevOps channel<\/a><\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/devops\/\">Azure DevOps blog<\/a><\/li>\n<\/ul>\n<p>You can also reach out to me on <a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fwww.linkedin.com%2Fin%2Fjoel-day%2F&amp;data=02%7C01%7Cv-anzet%40microsoft.com%7C1a7a890bbbb34c1aae2608d6f6a76dad%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636967596314990658&amp;sdata=UtOZVzXJ8uw3wwY0Qa%2BJsNAZJ%2F9JmYTeoch0CQh4KdQ%3D&amp;reserved=0\">LinkedIn<\/a> to ask me any questions. Also, I invite you to <a href=\"https:\/\/www.youtube.com\/watch?v=SsSS9ybRTBw&amp;list=PLOONVrYRytUj-6BsuCNGR4bznRJvEpHMr&amp;index=3&amp;t=0s\">watch my presentation<\/a> and join the <a href=\"https:\/\/www.meetup.com\/DCAzureGov\/\">Microsoft Azure Government DC user community<\/a> at future meetups to engage and learn about the latest in government cloud innovation.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I recently had the opportunity to discuss Azure DevOps at the Microsoft Azure Government DC Meetup. During my presentation, The Need for Speed \u2013 Azure DevOps, I demonstrated how a new member of a dev team can quickly integrate and become productive with an existing project using Azure DevOps which facilitates productivity by combining multiple [&hellip;]<\/p>\n","protected":false},"author":5443,"featured_media":18240,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[14,18],"tags":[1824,1823,95,248,1825],"class_list":["post-18231","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-learning","category-meetup","tag-ado","tag-azure-devops","tag-azure-government","tag-devops","tag-team-foundation-version-control-tfvc"],"acf":[],"blog_post_summary":"<p>I recently had the opportunity to discuss Azure DevOps at the Microsoft Azure Government DC Meetup. During my presentation, The Need for Speed \u2013 Azure DevOps, I demonstrated how a new member of a dev team can quickly integrate and become productive with an existing project using Azure DevOps which facilitates productivity by combining multiple [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/posts\/18231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/users\/5443"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/comments?post=18231"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/posts\/18231\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/media\/18240"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/media?parent=18231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/categories?post=18231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azuregov\/wp-json\/wp\/v2\/tags?post=18231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}