views:

142

answers:

3

I am currently a single BI developer over a corporate datawarehouse and cube. I use SQL Server 2008, SSAS, and SSIS as my basic toolkit. I use Visual Studio +BIDS and TFS for my IDE and source control. I am about to take on multiple projects with an offshore vendor and I am worried about managing change. My major concern is manging merges and changes between me and the offshore team. Merging and managing changes to SQL & XML for just one person is bad enough but with multiple developers it seems like a nightmare. Any thoughts on how best to structure development knowing that sometimes there is no way to avoid multiple individuals making changes to the same file?

A: 

http://code.google.com/p/support/wiki/DVCSAnalysis

maybe a better tag is DVCS? http://stackoverflow.com/questions/tagged/dvcs

adolf garlic
TFS is the only tool allowed at my employer. Switching to a completely different source control system is not an option.
Kevin D. White
sorry after rereading you original post, I understand your question to be more about merging and less about how to source control the packages and cubes. I have edited my response, hopefully you find it useful.
JasonHorner
A: 

As long as both teams are using bids and TFS this should not be a problem.

assuming that your tsql code is checked in to source control in a single file per object, merging TSQL code is straight forward since it is text based. I have found the VSTS Database projects help with this.

Merging the XML based source files of SSIS and the MSAS can be cumbersome as you indicate below. to alleviate some of the pain, I find that keeping each package limited to a single dataflow or logical unit of work helps reduce developer contention on packages. I then call these packages from one or more master packages. I also try to externalize all of my tsql source queries using sprocs, view or udfs so that the need to edit the package is further reduced. using configuration files and variables also helps to a smaller extent.

MSSAS cubes are a little bit tougher. My best suggestion is to look into a 3rd party xml differencing tool. I have been able to successfully merge small changes use the standard text based tools but it can be a daunting task.

JasonHorner
If you think merging SSIS packages is no different than any other type of source code then you have not used SSIS or large XML documents in a team environment.
Kevin D. White