Question

we have multiple features that needs to be developed but management decides which features go into Live.. this requires us to have a script for each User Story/Change . But how can I link a DB schema change to a User story in TFS?

What we have now:

TFS with User Story/Task CC.net Buildserver

I've done research for SSDT, looks awesome! but how can i Link this with TFS?

thanks for reading,

Andy.

Was it helpful?

Solution

As long as your database scripts (or SSDT projects if you choose to move that direction) are checked into TFS version control, there is a deep connection between changesets and work items. When looking at your pending changes before checking in code, there is an option to associate a work item (i.e. a User Story or a Task). If you are using Visual Studio 2012, this is what associating a work item would look like:

Related Work Items on pending changes window

And this is what it would look like if you are checking in via Windows Explorer:

Associating a work item when checking in via Windows Explorer

OTHER TIPS

There can be a lot of complexity associated with making changes to a system independent of each other. The best solution I've found involves creating "feature toggles" so that you enable or disable a feature after it has been deployed. Take a look at continuous delivery as a topic. Jez Humble wrote a great book on the subject.

Database schema changes can be more complex in some cases than just enabling or disabling a feature. I would suggest using an expand / contract model. You would add any new structure to the database in advance and get that deployed into production in a non-breaking way. Then when you enable the feature that has a dependency on that structure, it's already there. If you need to clean up the database schema after you've removed something then you could do the "contract" cycle out of band with other software changes to reduce the surface area of test.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top