Traceability in VS2010

Always an interesting question, how does traceability work in VS2010?
To often asked without any context, or only asked from a requirements perspective. Still way too open to answer in a tweet. So, a post to canalize those questions a little bit more…

[see the image below for the numbers]
1_2 you can take two directions when talking about traceability. The first is focused on “work”, the work items repository part of TFS [on the left side of the green dotted line]. with work related traceability we can answer questions like “did we completed all tasks for that requirement?” [for more see the red list]. Information which is very important for every roll in the Application Lifecycle. A tester want to know if he can start testing, so he want to see if the developer is ready. A project manager wants to plan the work. Developers want to know if designers are ready to start with a stabile set of needs… and many more. All work related information, and information which can be tracked/ traced by using work item and its repository.

 trace

2_2 VS2010 main capability for work related traceability are the TFS work item repository [see image below from MSDN] and linking of work items, setting up a hierarchy. 

Dd286718WIT_TaskOverview(en-us,VS100)       Dd293542TreeListScenario(en-us,VS100)

We can breakdown requirements, or user stories, in tasks. 4_2 tasks that needs to be executed to get the requirement done. These tasks can have a parent-child relation [and other see Working with Link Types on MSDN]. Giving us the information we need in any kind of way, for example reports.

us

So far the work related traceability. The other kind of traceability 1_2 is based on artifacts, things we make during the application lifecycle, I will call them ALM artifacts. ALM artifacts are used to create the solution/ application. For example the source, XAML and configuration files which make the solution. But, also the diagrams which we created to make a correct, consistent and good communicated application architecture, we use them to drill down from the needs to code. And also test cases belong to the things we make during the application lifecycle [I can imaging when you get confused now, test cases are within VS2010 work item types, but they definitely belong to the artifacts section].

3_2 Use case – user story what is the difference… I often use both [see this piece of MSDN documentation for modeling requirements]. User stories are work item types and use cases are ALM artifacts. So, they are a great bridge between the ‘work-world’ and ‘artifact-world’. The good thing is the capability of VS2010 to link diagrams, and other model elements to work items. [How to: Link Work Items to Model Elements], this give us the capability to create a trace.

domainFrom the description and diagrams of the requirements, the often called problem domain, we have to make a big jump into the solution domain.8 Diagrams are created like the component diagram and layer diagrams visualizing the high level pieces of the solution with the dependency and interfaces between these components and layers. [used this image in this post; the modeling world].

It is also a big gap for traceability, to get this a little bit better a solution can be the replaying of scenarios written down in the user stories and drawn in activities as described in this post; VS2010 Modeling; Create Lifeline from Component.

A trace back from component/layer to requirement can be a link from model element to the user story work items in where he is used. Never did this, it’s a manual process and probably people will forget the links, maybe with some kind of notification this would be valuable…

6 An interesting VS2010 capability is the connection between the layer diagram and the sources. This makes a trace possible between the high level design and the sources. See image below.

layer val

7 Because test cases are work item types in VS2010 they can be connected to any other ALM artifact, giving us the possibility to connect for example test cases to use case diagrams. Easier to accomplish and to maintain is the connection with test tasks and corresponding user story. But this doesn’t answers questions like; “which code is touched by this test”. VS2010 answers this question with Test Impact, see “Determining Which Builds Have Bug Fixes, New Features, or Requirements”, “Recommending Tests to Run That are Affected by Code Changes” and “Developing Tests from a Model”.

Another interesting traceability scenario can be build with test case generation, see this ‘old’ Model Based Testing beta 1 video. [some more info on MBT can be read on Rob’s blog]

Next, 3_25786 all have a work related task. So, not only traceability within the two sections is possible also traceability between the two sections is possible. answering questions like; “which task created this line of code?”… creating this link / trace is a manual task but it can be controlled by a check-in policy.

workitem

So, when someone asks you the question; “what about traceability in VS2010?” you now can canalize this and guide him/ her to the real traceability question they want to have answered [and tell the solution]….

< probably more to come on this interesting topic, also because the extensibility model of the diagrams is powerful enough to create your own required traceability between artifacts with notifications and work item linking… very very interesting >

Comments (13) -

Advantageously, the article is actually the greatest on this worthw hile topic. I fit in with your conclusions and will eagerly look forward to your  forthcoming updates. Just saying thankx will not just be enough, for the fantasti c clarity in your writing. I will at once grab your rss feed to stay abreast of any updates. Solid work and much success in your business enterprise! Best regards, Jack.

You got great honest points here. I done a search on the issue and learnt most peoples will agree with your blog.

Thank you for this article! I've just found a  certainly   true   news archive  <A href="http://aggressivemarketing.info/">about  seo </A> Try it!

Wow, great article. I bookmarked this and sent it to my brother, think he'll find this interesting.

You made fantastic nice points here. I performed a search on the issue and discovered almost all peoples will agree with your blog.

I've really enjoyed reading your articles.  More and more people are switching over to the idea of a raw food diet plan for a longer and healthier life. Even those people who don't switch to 100% raw food diets find that by increasing the amount of raw fruits and vegetables in their diet they feel healthier and have an easier time maintaining a healthy body weight.

Democrats in the Alabama Senate will try again in the new year to invest $1 billion from a state savings account in a 10-year boom in road and bridge construction that would be nearly twice the size of the federal stimulus funding for highways.

Good informations, keep up the good work.

According to my developer experience traceability for complex projects as always been an issue. The post is interesting, but I'm afraid that when moving from theory to practice thing would change a little Frown

I like you post but I wouldn't comment it untill I had the chance to test it

This is to be honest a Nice knowledge gaining news and all thanks to bing search engine get me on here. I enjoyed reading your writing and added to the bookmarks. The points you tried to put up was clearly visible. My hubby also appreciated after reading this writing. I will read for more sooner. cya - Sim

There's a huge amount of information out there on this.  Getting the information you want however, is not always easy.  We've collected all the data available and compiled it here.  

Good article here, I really got a lot out of it. I have been teaching myself <a href="alsoincludes.com/.../">iPhone programming</a> for a few of months now. I'm thinking of switching to Android, though, because dealing with Apple's paradigm is kind of a hassle.

Add comment