Subodh is a Trainer and consultant on Azure DevOps and Scrum. He has an experience of over 33 years in team management, training, consulting, sales, production, software development and deployment. He is an engineer from Pune University and has done his post-graduation from IIT, Madras. He is a Microsoft Most Valuable Professional (MVP) - Developer Technologies (Azure DevOps), Microsoft Certified Trainer (MCT), Microsoft Certified Azure DevOps Engineer Expert, Professional Scrum Developer and Professional Scrum Master (II). He has conducted more than 300 corporate trainings on Microsoft technologies in India, USA, Malaysia, Australia, New Zealand, Singapore, UAE, Philippines and Sri Lanka. He has also completed over 50 consulting assignments - some of which included entire Azure DevOps implementation for the organizations.

He has authored more than 85 tutorials on Azure DevOps, Scrum, TFS and VS ALM which are published on is a regular speaker at Microsoft events including Partner Leadership Conclave.You can connect with him on LinkedIn .

Subodh Sohoni has written 93 articles, which have been read 7134414 times.
Abstract: Azure DevOps has a new feature called Delivery Plan (2.0) which enhances and replaces Delivery Plan extension. In this article, we will explore some new features introduced in Delivery Plan 2.0.
Abstract: This tutorial is about the architectural pattern of Microservices. We will learn how the microservices architecture pattern evolved, what are the benefits of microservices architecture pattern and an overview of the evolution process of microservices architecture. We will also understand some implementation details of microservices. These details will include the access methods, communication patterns and an introduction to containers.
Abstract: In Azure DevOps, it is possible to use the same tools provided for managing agile development of one team, to manage parts of a single product being developed by multiple teams.This tutorial is about Azure Boards which gives us portfolio management features to manage a single product developed by multiple teams.
Abstract: This tutorial demonstrates how to use Azure DevOps and GitHub collaboratively. You will learn to connect and integrate Github with Azure Boards, integrate Github in Visual Studio, and use Azure Pipelines to build and deploy code under Github.
Abstract: Azure Pipelines has been used to describe a workflow for build, multiple workflow branches in release and deployment, as well as in the licensing and pricing terminology of Azure Pipelines. This tutorial aims to clear this ambiguity associated with Azure Pipelines.
Abstract: This tutorial demonstrates how to use Azure Monitor. We are going to study a case of an ASP.NET application that is already deployed. Using Azure Monitor service, we will monitor the application for any bugs or misbehaviour as well as monitor the performance counters of the hosting environment. We will monitor the alerts raised by that service and take appropriate automated actions so that application and hosting environment is brought back to healthy state.
Abstract: Azure services and Azure DevOps can be used in combination in such a way that the code can be edited by developers without it being copied on the physical computer. In this tutorial, I will demonstrate how to implement Conditional Access on Azure DevOps to prevent access to it from any computer other than the controlled VMs in Azure
Abstract: Azure Application Insights can monitor the health of a deployed web application without any code change. This tutorial shows how to do health monitoring, along with the various features of Application Insights.
Abstract: DevOps concepts can be understood if we first have a clarity about Agile development and activities in its timeline. In this tutorial, I have shown how the activities and strategies of Agile engineering can be brought on the same timeline so that each team member playing any role in DevOps team knows their responsibilities.
Abstract: This tuorial teaches how to continuously integrate and deploy an ASP.NET Core application (Docker support enabled) to Azure Kubernetes Service (AKS) using Azure DevOps.
Abstract: Azure Key Vault is a service from Azure that allows storage of keys, secrets and certificate in a safe and encrypted repository. In this tutorial, I am going to show you different ways that Azure Key Vault can be used by Azure DevOps Pipelines.
Abstract: How to use Azure DevOps services of version control, build and deployment for an Angular 6 app. We will also test the deployed app using Protractor.
Abstract: This tutorial will walk you through the creation of a React.JS app using TypeScript and do the build and deployment to an Azure App Service as a web app.
Abstract: Azure DevOps provides all the necessary support to build, deploy and test React.JS apps. It allows us to use multiple frameworks like Mocha and Selenium to be used in collaboration to run automated tests after the app is deployed to an Azure App Service as a web app.
Abstract: Using Azure DevOps to perform the build of a NodeJS app and deploy it to Azure App Service as a web app.
Abstract: In this walkthrough of using Azure DevOps for the build and deployment of NodeJS application, you will learn how to create NodeJS app, add it to a git repository under the team project of Azure DevOps and use pipelines service of Azure DevOps to do the build, deployment and testing of that app.
Abstract: Understand what is DevOps, along with some best practices and the pillars of DevOps which includes team mindset, seamless collaboration, Automation tools.
Abstract: NuGet can be used to create, distribute and consume packages. Learn how to do NuGet Package Management in Visual Studio Team System.
Abstract: A walkthrough of the DevOps Project service of Azure to automatically create a CI / CD pipeline in VSTS for a containerized ASP.NET Core application
Abstract: Walkthrough of using Microsoft VSTS services for doing Continuous Integration – Continuous Deployment (CICD) of a Java Web Application.
Abstract: Creation virtual machines and provision them using the Release Management Service of TFS and VSTS
Abstract: Using VSTS Release Management to create a VM in Azure using Azure Resource Manager (ARM) Template.
Abstract: An overview of Application Insights, an Azure based service which makes it possible to monitor any application to know about its availability, failures and performance.
Abstract: Overview of a feature in VSTS Git called Pull Request which enables code review. We also look at a scenario where a solution in local repository needs to be added to a remote repository.
Abstract: What is Visual Studio Team System (VSTS)? This article gives an overview of the services available in VSTS, and how they can be used.
Abstract: Use VSTS to create a DACPAC and deploy it on a VM in Azure Resource Group to make it immediately available to the application
Abstract: How a team can use VSTS for developing a cross platform mobile application in Xamarin on the Azure Platform
Abstract: Agility and contractual development against a fixed price are conceptually two ends of a spectrum. In this article, we will see an option for companies to be agile even when they are executing a contractual fixed bid project
Abstract: Use the WinRM service to execute PowerShell script on a remote machine in Azure that is under ARM
Abstract: Overview of a basic scenario for continuous integration, continuous deployment of web apps in Azure VM, which is part of the DevOps
Abstract: Microsoft now allows limited customization of Process in Visual Studio Team Services. This article explores the different options available.
Abstract: Visual Studio Team Services and TFS 2015 has given us a new way to customize the Welcome page and the dashboard. Let us explore how to do it in this article.
Abstract: Explore ways in which Azure supports the tasks of operations team as part of DevOps. We also deploy our App on a Linux VM created on Azure using Chef and Puppet
Abstract: Visual Studio Online and TFS 2015 provide RESTful APIs that allow you to extend the functionality of VSO from your apps and services. This article talks about accessing VSO using a client that uses RESTful services of TFS and the security challenges we face while accessing these services.
Abstract: TFS and Visual Studio Online (VSO) have embraced Git as one of the default options for version control while creating a new team project. In this article, I will attempt to explain the concepts of Git as implemented by TFS / VSO.
Abstract: Microsoft Team Foundation Server 2013 provides features for implementing both Continuous Integration (CI) and Continuous Deployment (CD). In this article, we will use the component of Release Management and explore the same.
Abstract: Agile is a way teams think, behave and work. In this article, we will see how Team Foundation Server (TFS) 2013 and Visual Studio 2013 are designed to facilitate implementation of Agile practices in teams.
Abstract: Team Foundation Server provides API's which makes it extensible in a number of ways. This article discusses some of these methods taking some case studies as a base.
Abstract: This article explores a unique scenario for TFS data access using an Android Client and presents an innovative use case for the recently launched TFS OData Services
Abstract: Visual Studio 2013 comes with some code optimization tools that enables developers to write consistently high quality code with high productivity
Abstract: This article discusses how strongly Team Foundation Server 2012 supports the implementation of SCRUM and CMMI processes
Abstract: Subodh Sohoni, VS ALM MVP, shares his views on how the Visual Studio Application Lifecycle Management (ALM) suite can be used for improvement in productivity of software development and in turn lead to high profit
Abstract: In our previous article, Using TFS 2012 and SCRUM for Iteration Capacity Planning for Software Development, we had seen how to plan the sprint and balance the work to be done during the sprint. In this article, we will take a look at how to run the sprint till the finish line. We will use TFS 2012 and its task board capability to do that.
Abstract: In this article, I will explain how the sprint planning is done by the SCRUM Team using Team Foundation Server 2012 a.k.a TFS 2012. I will also show you how to consider capacity of the team while planning the sprint backlog.
Abstract: In this article we will explore how to debug and run a custom check-in policy using TFS SDK 11 and then deploy it on a developer’s machine.
Abstract: In this article, I will take you through the process of creating and deploying a custom check-in policy using TFS SDK 11 for Java.
Abstract: In this article, we will explore how the local workspaces concept works in Team Explorer Everywhere in TFS 11
Abstract: In this article, we will take a first look at Team Explorer Everywhere Beta 11 plugin for Eclipse from the point of view of how to install it and how to use it.
Abstract: In this article, we will explore how to use TFS 2010 for Build Management of Java Projects. We will use Eclipse based plug-in named Team Explorer Everywhere for creating a build definition that encapsulates an ant script and provides manageability to it.
Abstract: In this article, I am going to walk you through the entire process of how to use the Team Explorer Everywhere plug-in in Team Foundation Server 2010 (TFS) for version control of a Java project .
Abstract: There are many new features that Microsoft intends to introduce in VS11 / TFS 11. In this article I am going to take an overview of the code review feature which is one of the new standard features. Till TFS 2010, we used to implement code review workflow with the custom work item, custom check-in policy and a server side event handler. With TFS 11, we will not need to do some parts of this customization since Microsoft has also provided these parts built-in.
Abstract: In this article, we will see how to link ‘Defect’ work item with Microsoft Test Manager 2010 and how to Create Custom Queries based upon the ‘Defect’ work item type.
Abstract: With Team Foundation Server (TFS), Microsoft introduced a much better mechanism for source control. In fact, TFS can do much more than just source control. In this article, I have listed 8 reasons to upgrade your SCM from Visual Source Safe (VSS) to using TFS 2010.
Abstract: We began a series of articles on Customize work item type definition in TFS 2010. In the first part of this series we had seen how to use a tool WitAdmin to export the work item type definition of Bug work item and then import it back in TFS after making a small modification in it, as Defect work item type definition. In this article, we will do a non-trivial modification in the Defect work item, using Team Foundation Power Tool.
Abstract: With this article, we will start a series of articles to review the customization of work item type definition in the context of changes that we observe in work item tracking in TFS 2010. In this article, we will cover the tools and process to export work item type definition from an existing team project and then import it back with some modifications. We will use command line tools and XML editing in the notepad. We will also see how to export and import Global Lists from TFS.
Abstract: In this article, we will take an overview of the Lab Management feature of Team Foundation Server (TFS) 2010 and Microsoft Test Manager 2010, in a nice Q & A format.
Abstract: I have been conducting corporate trainings since 2001 and so far I have conducted more than 300 successful corporate trainings on Microsoft technologies. Today I am going to open my thoughts about why I think that I have been able to maintain such a high rate of success for so many years.
Abstract: "Team Explorer Everywhere" (TEE) is an Eclipse plug-in that is being provided by Microsoft with the Visual Studio 2010. In my previous article, I started out with the exploration of TEE and covered the grounds of Installation, configuration, accessing Team Project by connecting to a TFS and using source control of TFS for Java Project. In this article, I will wander deeper in the woods of using Team Build for Java projects created using Eclipse
Abstract: Team Explorer Everywhere is an Eclipse plug-in that is being provided by Microsoft with the Visual Studio 2010. The purpose of this plug-in is to provide access to Team Foundation Server 2010 from Eclipse which is one of the most popular IDEs for Java development.
Abstract: IntelliTrace is a new feature that is introduced by Microsoft in Visual Studio 2010 for putting the debugging in the fast track. It will reduce the time taken by debugging an application by reducing the number of debugging passes required to be executed by the developer.
Abstract: In the earlier articles, we studied some of the artifacts that are required for planning the testing for a project. In this article we will study the remaining artifact types.
Abstract: In this article, we will explore Test Plan and Test Run Settings in VSTS 2010 as different artifacts that are used to define the testing efforts.
Abstract: In this article, we will study the Visual Studio 2010 test case workitem type in detail.
Abstract: Microsoft offered the testing tools built in Visual Studio Team System since 2005. Although these tools were probably not as rich and mature as some of the competitors in the field, they provided quite high ROI wherever they could be used.
Abstract: In the first part of this article we have seen some of the features which were present in VSTS 2008 but may have been enhanced in Team System 2010. In this second part we will study two new features which are added in Team System 2010.
Abstract: In this two part article we will take an overview of various features and tools of Team System 2010 for Developers.
Abstract: This article demonstrates how to ensure that files are built locally before they can be checked in.
Abstract: In this article we will take an overview of diagrams, features and tools provided in Team System 2010 for Architects. Although we will not cover the concepts of UML and other architectural concepts in details, we will refer to them time to time.
Abstract: In the first part of this article we have started with the case for creating code for an application which will allow the Build and Release Managers to configure a custom build and execute that. We have now come to the heart of the program where we will set the label to the files which are either in the base build or are added later on.
Abstract: Recently I came across a customer requirement which was quite peculiar. Due to certain compulsion, customer has only one branch in which everyone keeps on checking the code in. Code being simultaneously developed is for bug fixes as well as new feature additions in the product.
Abstract: Hierarchical workitems is one of the most fascinating concepts introduced with TFS 2010.
Abstract: In my earlier article on “Spawn ‘Tasks’ in response to creation of ‘User Story’” we had seen how to use the Team Foundation Object Model in general and WorkItem Tracking APIs of TFS 2010 in particular.
Abstract: One of the features of TFS 2008 I found interesting is ability to view branch hierarchy. The way branching process behaves in TFS 2010 is different than the way it behaves in 2008.
Abstract: In this article let us delve into the case of workitems spawning. We will check on how we can create a set of children work items through an automated process when a workitem of certain type is added by the user.
Abstract: Visual Studio Team System exposes number of opportunities to extend its features and functionality. Responding to events published by the Team Foundation Server (TFS) is one of the extensibility opportunities which may be used most extensively. In this two part series, we will take an overview of the events raised by TFS and how to subscribe to those events. This article is an update on my earlier article which I had written for TFS 2008. This article will cover the specifics required for TFS 2010 (at this moment Beta 1) as compared to TFS 2008.
Abstract: There are many occasions when we need to implement workflow in the environment of VSTS. In this article, we will be taking up a case of building a workflow for Code Review.
Abstract: In this article, we are going to take an overview regarding how to create and deploy custom check-in policy. We will explore these topics with an example which refers to a custom workitem type “Code Review” which was created in earlier series of articles.
Abstract: In Part 1 of this article we discussed about the general architecture of a workitem type and listed all the sections and their options which go into defining a workitem type. In Part 2 we covered the architectural and design considerations related to customization of workitem type. In Part 3 now, we will go to the brass tacks to know how this customization can be actually achieved.
Abstract: In the Part 1 of this article, we documented the structure of a typical workitem. In Part 2, we will discuss the customization of workitems.
Abstract: In VSTS terminology, workitem is the data representation of any abstract entity which needs to be tracked over a period of time. Workitems store the data in the form of records in Team Foundation Server. Each workitem once created store the status of various data elements like identification, state, creation date, change history, links, attachments, quantification of work done etc. This is the first part in the three part series on WorkItems. In this article, we will explore the Architecture and Structure of WorkItems
Abstract: This article provides information about structure of the process template in Visual Studio Team System. It shows how a simple change which is most frequently required, that of deleting and adding the activities in the process can be achieved.
Abstract: In the first part of this article we discussed about how to subscribe to the events which are published by the Team Foundation Server (TFS). Although the events published by TFS are quite extensive, there still may exist need to subscribe to the events which are not covered by TFS. To publish such events we need to create a separate event class and an application to raise that event.
Abstract: Visual Studio Team System exposes number of opportunities to extend its features and functionality. Responding to events published by the Team Foundation Server (TFS) is one of the extensibility opportunities which may be used most extensively. In this two part series, we will take an overview of the events raised by TFS and how to subscribe to those events
Abstract: Visual Studio Team System 2008 is a minor version with only some incremental changes happening over Visual Studio Team System 2005. One of the areas where some major changes can be seen is Team Build. In this article we will take a fresh look at Team Build as in VSTS 2008.
Abstract: Test Driven Development (TDD) is one of the many programming practices which are part of Agile Methodology. Visual Studio Team System encourages TDD when we select MSF Agile during the team project creation process. In this article, we will explore Test Driven Development with VSTS.
Abstract: Developers need to have feedback about the quality of code immediately after the code is written. Team Edition for Software Developers which is part of Visual Studio Team System provides an integrated tool named Code Metrics to calculate how the code is written based upon some quantifiable criterion and shows the results in a separate window. Calculations are based upon criterions like Cyclomatic complexity, number of lines in code and inheritance depth etc. all resulting in maintainability index of the code. In this article we will take an overview of Code Metrics built into VSTS.
Abstract: This article provides an overview of testing web application functionality using VSTS. It begins by providing a step-by-step approach on how to set up a Web test case and customize it without writing any code. This article demonstrates an approachability of VSTS Web Testing by all those participating in the development process, including non-developer types. Web test cases can easily be coded as well, and we will describe how to use coded Web tests or extend the built-in Web testing support.
Abstract: Microsoft has always been offereing some good tools for developing code with high productivity. Continuing in the same tradition, Visual Studio 2005, working as client for Team Foundation Server, offers abundant features for developing quality code with high productivity. Not only does it allow code creation but also enables testing of that same code. In this article we will take an overview of some of those tools and concepts
Abstract: Unit testing is to test the custom code unit immediately after it is created or even as a part of its creation process. The reason to do the unit testing is to catch the errors in the code at an early stage. This improves the overall quality of the application being created. In this article, we will explore Unit Testing using VSTS
Abstract: This article provides an overview of source control used in Visual Studio Team System (VSTS). Source Control in VSTS does, not only standard version control task but also provides very important link between the Team Project which is managed by VSTS and the technology solution which uses Microsoft .NET
Abstract: In this article we will study Team Build which is the way to create and execute a build. We will also study the engine behind Team Build called MSBuild .
Abstract: With Visual Studio Team System (VSTS), Microsoft has made available an integrated set of tools which are used by members of the software development team. All the tools used by various roles work on the same data which makes them integrated. These tools also need to access some services for managing the data. The data storage and the common services are provided by a server component of VSTS which is called Team Foundation Server (TFS).In this article we will take an overview of TFS and services offered by TFS.
Abstract: VSTS is an environment for creating and managing software projects. It integrates with Visual Studio 2005 to give a seamless environment to the team members of the development team. This article will give you an overview of VSTS and explore the various components of VSTS.