Skip to content

Instantly share code, notes, and snippets.

@llaughlin
Last active May 9, 2018 17:27
Show Gist options
  • Select an option

  • Save llaughlin/ea0d02c2bb4737ac933c5836f2662ded to your computer and use it in GitHub Desktop.

Select an option

Save llaughlin/ea0d02c2bb4737ac933c5836f2662ded to your computer and use it in GitHub Desktop.
VSTS Migration

Migrating to VSTS Online from TFS On-Premises

Test Environment

There is a test VSTS account set up at penlink-test.visualstudio.com.

graph TD
Andrew --> China((China))

Loading
sequenceDiagram
st=>start: Start:>http://www.google.com[blank]
e=>end:>http://www.google.com
op1=>operation: My Operation
sub1=>subroutine: My Subroutine
cond=>condition: Yes
or No?:>http://www.google.com
io=>inputoutput: catch something...
para=>parallel: parallel tasks

st->op1->cond
cond(yes)->io->e
cond(no)->para
para(path1, bottom)->sub1(right)->op1
para(path2, top)->op1
Loading

There is a migration tool at visualstudio.com/team-services/migrate-tfs-vsts, but I haven't been able to successfully test it out yet.
If it works, it should pull over most, if not all, of our items and customizations into VSTS.

Pros/Cons

Pros Cons
Microsoft hosted and supported Migration cost
No maintenance/upgrade time cost Reduced customization support
Cost based on usage Cost based on usage
Latest features / bug fixes Newer features may cause bugs
Larger set of customers Potentially slower
More community support Azure/AD integration

Planning

Projects

I assume we'll want to move Xnet, I, Pen-Link 8/9, and the other projects over as well. It may be possible to move all of them at the same time. If not, each project should take roughly 1/3 of the original migration time for just the PLX project.

Git

This is arguably the easiest migration. It was the first thing I did in our test environment, and is also the most fault-tolerant. Simply adding the git url ot the list of remotes in a local git repository and pushing is sufficient.

Users

Migrating users and user information over may be tricky. It requires having Azure Active Directory already set up for the TFS users to have something to map over to.

Work Items

The TFS Migration assistant should be able to port over our existing work items (PBIs, Bugs, Tasks, etc).

Work Item Customizations

I'm not sure how well the TFS Migration assistant will take our existing customizations and port them over to VSTS.
This will take further research in our testing environment.

Process Customizations

This includes changes we've made to dashboards, work item states, and queries.

  • Dashboards will be simple but slow to move over.
  • Work item states will be easily moved over
  • Queries will take a long time due to the sheer number of queries. This should be automated if at all possible.

Wiki

Moving the wiki over, since it's currently not very large, shouldn't be difficult.

Builds

I was able to manually copy over our Develop CI build to the test environment, but it was painful initially. I'm hoping the TFS Migration assistant will make that transition easier.

Tests

There is a lot of data here. In order to preserve history for all our test plans, this would almost certainly have to be automated.

We will be able to fairly seamlessly continue using our existing build machines against the VSTS environment without issue.

Estimation

These units are in hours

Resource Time Estimate - Automatic Time Estimate - Low Time Estimate - High
Git 2 2 4
Users 3 6 20
Work Items 4 20 60
Work Items Customizations 4 30 60
Process Customizations 4 10 25
Wiki 1 2 4
Builds 4 10 40
Tests 4 30 90
Total 26 110 303
gantt
dateFormat HH:mm
title Migration Timeline

section Automatic
Git: g1, 2h
Users : u1, 3h 
Work Items :  wi1, 4h
Work Items Customizations : wic1, 4h
Process Customizations : pc1, 4h
Wiki :  wk1, 1h
Builds :  b1, 4h
Tests : t1, 4h

section Low 
Git: g2, 0, 2h
Users : u2, after g2, 6h 
Work Items :  wi2, after u2, 20h
Work Items Customizations : wic2, after wi2, 30h
Process Customizations : pc2, after wic2, 10h
Wiki :  after u2, 2h
Builds :  after u2,  10h
Tests : after wi2, 30h

section High 
Git: g3, 0, 4h
Users : u3, after g3,  20h 
Work Items :  wi3, after u3, 60h
Work Items Customizations : wic3, after wi3, 60h
Process Customizations : pc3, after wic3, 25h
Wiki :  after u3,  4h
Builds :  after u3, 40h
Tests : after wi3, 90h
Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment