#ALM

Linking WorkItems to Commits

Published at February 22, 2020 ·  2 min read

This post is about linking work items to a git commit within Azure DevOps. Doesn’t it do this almost automatically, you may be thinking? Well that was why I was surprised when I linked a work item using Visual Studio and then also tried to link the work items using the # symbol and the work item Id and found that the commit was not linked. I am almost always on top of the changes that are released almost every 3 weeks in the release notes for each sprint....


Integration Testing DotNet Core

Published at January 17, 2020 ·  5 min read

It is pretty easy and straight forward to create a dotnet core application and run your unit tests during a build process. However, I also have some integration tests that I run in my Dev and QA environments where I actually hit my test database. This is not something that you would run in the build process as I do not have a database on the build machine and this is not something that would be worth the trouble to install one, especially if you are using a hosted build agent....


Red Gate tools vs SQL Server Data Tools

Published at May 16, 2018 ·  18 min read

Recently I have been tasked with showing a development team how to version their SQL databases using the Red Gate tools. Normally I mentor and give guidance in these kinds of projects using the SQL Server Data Tools but because their databases were so large they found that the SSDT approach would just not work for them. They did find in their own experiments that the Red Gate tools did not impose these limitations and worked quite well dispite their database size....


Linking the Iterations to all your Teams

Published at March 2, 2018 ·  8 min read

I am sure that there are several development teams out there that work similar to me. I am a big fan of the one TFS Project to rule them all and then using teams to separate the work. In my case I am working on my own but support several products, so I have a team for each of the products even though I am pretty much the only member on all those teams....


When Should we Move the Work Items to DONE?

Published at October 9, 2017 ·  5 min read

This is a very common question that I get asked by different software development teams as I make my rounds to helping clients with their ALM practises. There is a common pattern associated with this question and I know this is the practise when I see a lot of columns on their Kanban boards or worse yet a lot of states that they are tracking on the work items....


Master Only in Production (an Improvement)

Published at July 5, 2017 ·  3 min read

Some time ago I wrote a blog post about My New 3 Rules for Releases and one of those rules was to only release into production code that was built from the master branch. In that solution I wrote a PowerShell script that would run first thing on the deployment to only go forward if the branch from the build came from master otherwise it would fail the deployment. This gave me a guarantee that builds that did not come from master would never get deployed into Production....


One Build Definition to Support Multiple Branches

Published at June 1, 2017 ·  4 min read

Before I moved to git, I had the same situation that many of you have had when it comes to managing build definitions. I had a build definition for each branch and for a single product this could have been several all doing the same thing. Yea, sure they were clones of each other and all I really needed to do was to change the path to the source in each case....


Sending an Email to the Developer when the Build Failed

Published at May 4, 2017 ·  4 min read

Over the many versions of TFS there were existing workarounds that allowed us to send an email to the developer that queued the build and it had failed. Although these workarounds did work, I always felt that this should have been handled by the alert system within TFS. What was lacking was some sort of condition that if the build failed it should go to the developer that queued it up....


When is Waterfall a Good Choice

Published at April 19, 2017 ·  7 min read

In my work as an ALM consultant I will often be asked the question or told that a team can’t go and practice agile they have to do waterfall. I think they are looking at this in the wrong way. One of the things to think about in waterfall versus agile is what these two methodologies are really all about. Is waterfall really all that bad? The answer to that question is: No, waterfall is actually a great methodology and a great pattern that has worked for some projects....


An Argument against the Date Based Version Number

Published at February 22, 2017 ·  5 min read

In the past I have followed two types of version numbers for the products that I build and support on the side. Products that were customer facing all followed the Semantic concept of version control. If there was a big change but not breaking then the minor number incremented. If the change could have potential breaking changes then the Major number was incremented. This concept works well in that every time that code was changed the third digit, the build number was incremented....


Security Configuration for Teams

Published at November 2, 2016 ·  8 min read

Typically if it does not matter if team member’s can view the work of other teams or maybe they even work across teams which is usually the case, then having Contributor access at the TFS Project is all that is needed and desired. However, there may be those situations where you find that you need to guard data from each team so that the other teams cannot see the source or the work items of the other team and yet be within the same TFS Project so that we can get good cross team reporting that makes sense....


My New 3 Rules for Releases

Published at September 23, 2016 ·  9 min read

Everyone of my products have an automated build and a properly managed release pipeline. At the time I just thought business as usual as I was always on my way to having a well performing DevOps operation in my personal development efforts. Well something happened in the way that I started approaching things which you don’t really plan, things will just start to happen when you get into a situation where everything is automated or at least they should and that is what this post is about....


Some MSDeploy Tricks I have Learned

Published at August 3, 2016 ·  5 min read

In an earlier post I talked about Hexo the tool I use for this Blog. In that post I talked about how delighted I was with this process except for one thing that did bother me and that was the deployment to the Azure website. For this process I was using FTP to push the files from the public folder to Azure. Instead I was hoping for an MSDeploy solution but that is harder than it sounds especially when you are really not using a Visual Studio Project and MSBuild to create the application....


How I Use Chocolatey in my Releases

Published at June 10, 2016 ·  13 min read

I have been using Chocolatey for a while as an ultra easy way to install software. It has become the prefered way to install tools and utilities from the open source community. Recently I have started to explore this technology in more depth just to learn more about Chocolatey and found some really great uses for it that I did not expect to find. This post is about that adventure and how and what I use Chocolatey for....


Let the Test Plan Tell the Story

Published at April 5, 2016 ·  6 min read

This post has been the result of some discussions that I have had lately when trying to determine the work flow for a client but this often comes up with others in the past but what I had never used as an argument was the role of the test plan in all this. Besides being an eye opener and an aha moment for the client and myself I thought I would explore this thought a little more as others might also find this helpful in understanding and getting better control of your flows....


Migrate from TFVC to Git in TFS with Full History

Published at February 1, 2016 ·  7 min read

Over the last year or so I have been experimenting and learning about git. The more I learned about this distributed version control the more I liked it and finally about 6 months ago I moved all my existing code into git repositories. They are still hosted on TFS which is the best ALM tool on the market by a very, very, very long mile. Did I mention how much I love TFS and where this product is going?...


A New Start on an Old Blog

Published at January 14, 2016 ·  6 min read

It has been quite a while since I have posted my last blog so today I thought I would bring you up to speed on what I have been doing with this site. The last time I did a post like this was back in June of 2008. Back then I talked about the transition that I made going from City Desk to Microsoft Content Management System which eventually was merged into SharePoint and from there we changed the blog into DotNetNuke....


Database Unit Testing from the Beginning

Published at November 15, 2011 ·  11 min read

The concept of unit testing for a database and really this means a database project still seems like a wild idea. Of course I am still surprise how many development shops still use their production database as their source of truth which it shouldn’t be but that’s because they do not have their database in source control. In order to take you down the road to explore some of the benefits that are going to be available to you with being able to run unit tests on your database I need to get us all caught up with how to create a database project as this is where the magic happens....


Database Schema Compare where Visual Studio goes that extra mile

Published at January 27, 2011 ·  7 min read

There are a number of good database tools out there for doing database schema comparisons. I have used different ones over the years at first initially to help me write SQL differencing scripts that I could use when deploying database changes. If your background is anything like mine where you were namely a Visual Basic or a C# developer and could get by with working on SQL if you could write directly to the database....