locked
Product Manager - new to TFS and a bit frustrated RRS feed

  • Question

  • After a decade of using Word documents to capture requirements we've finally decided to use TFS. My experience prior to that was using CaliberRM, which pales in comparison to TFS.

    I've read "A Guide for Visual Studio and Team Foundation Server Users - A Visual Studio ALM Rangers Project" and am familiar with many of the concepts therein; however there are a few questions left unanswered in the guide and in the documentation provided by the TFS tool.

    1. Some of my functional requirements can more aptly be described as attributes, dependencies, or constraints, such as "the widget mechanism shall be disabled if such and such module is missing or unregistered". How do the TFS designers envision the creation of these types of requirements within TFS? I don't see a constraint, attribution, or assumptions tab, and it doesn't appear to match any of the provided Requirement types.

    2. Where and how do I specify user interface requirements? For example, I want to specify a requirement such that “the toggle for widget XYZ shall be placed on such and such dialog”, and perhaps also state that “the toggle shall react in such and such way dependent on such and such factor”. My first guess was to use the "Interface" type of requirement, but I have a feeling that that type was intended for external interfaces, i.e. programmatic or other external interface requirements. Am I wrong? How do the TFS designers envision UI requirements being added to a project?

    3. What is the Requirement type: "Scenario" mean? I understand the Agile concept of User Stories, which translate to Functional requirement in CMMI, but where does a requirement type of "Scenario" fit in?

    4. How can I reuse (through inheritance) requirements from other projects? Specifically I would like to create generic sets of requirements in a “Generic” project, that would contain generic features such as password complexity rules, that can be inherited by other projects. I can see how to COPY requirements, but I cannot see how to inherit them so that a change to the generic requirements will affect all linked child projects.

    5. What is the best way for engineering to discuss a requirement? In some cases we work with offshore staff and written communications are the only way to communicate. Traditionally we use Change Tracking and comments in MS Word and then rev the doc (docs are stored in Star Team). What is the best way to discuss a requirement in an interactive fashion using TFS? Analysis tab of a requirement? Seems untidy as it's simply a text box which can become unwieldy once there are multiple conversations with multiple stakeholders. Or is it the "Review" work item? What do others use? What do the TFS designers envision as the ideal solution for iterative discussions?

    6. It would be great if TFS came with a sample project with a full set of requirements, including UI requirements, for a small Windows app so that we can learn by example. Are there any sample projects available to new users?

    Thanks and sorry for the many questions. I can post each to a separate thread if it helps.

    Thursday, September 1, 2011 8:20 PM

Answers

  • Hi,

    Great questions.  First (and is an answer for #6), I would highly recommend taking a look a look at the Visual Studio 2010 Samples VHD.  It is a virtual machine with TFS 2010 loaded on it with a sample project that includes a lot of good data.  Even if you don't want to use the virtual machine, you can also separately download the hands on labs which includes some good topics around requirements management.

    http://blogs.msdn.com/b/briankel/archive/2010/06/25/now-available-visual-studio-2010-rtm-virtual-machine-with-sample-data-and-hands-on-labs.aspx

    1. The TFS Work Items templates come with a look of good information but I think they don't come with every field for a more pragmatic approach.  The great things about work items templates and TFS 2010 in general if can be easily modified to fit your process (and not the other way!).  Our "add-ons" to the Agile 5.0 template include an assumptions tab.  I did a post on work item customization (mostly for state workflow) for TFS 2008.  It hasn't changed for TFS 2010.  Make sure you use the TFS 2010 Power tools to customize them.

    http://www.codesmartnothard.com/2009/11/27/StepsToModifyAWorkItemTemplateInTeamFoundationServer2008.aspx

    2. I'm not sure if this is the answer you were looking for but you could handle UI requirements a couple different ways. One is using the Areas.  You could create an Area for UI / NFR (non-functional requirements) or even be more specific about different Areas of the UI like Reports, Admin screens.  You could also add a dropdown list to the Requirement form and specify whether or not it is an interface requirement.  I usually use a specific Area or use a NFR Test Plan for the test cases to verify these.

    3. Mattias answered this one but I would like to add that I use Scenarios interchangably with Test Case.  In fact if you look into Behavior Driven Design (BDD), test cases are called Scenarios.  These test cases use the Gherkin format of Given, When, Then format that I think is a good format that works similiarly to the user story format. 

    4. I don't know of any great solution for this.  If you have a requirement bank of common requirements, you could copy these requirements to each team project by using the right click and create new item function when viewing the results of a query.  You could export the list to Excel and copy the list to another team project's export of requirements and the publish those to the new user story.    The create new item option would keep a link back to the original requirement if that would be useful for reporting.

    5.  Like Mattias said, each team project can be configured with a SharePoint project portal.  This portal is the collaboration "hub" for TFS.  This gives you the options for document libraries, WIKI, and discussion boards for this type of communication.   The history tab on the work items can also be used for communicating changes specific to a work item.  This gives you a rich text functionality.

    6. Like I mentioned above the Visual Studio 2010 samples VHD is a great example for this.  It doesn't give you the option to install on your TFS server but this keeps things clean and can give you a playground for testing things.

    Lastly, you didn't mention the Test Case Management functionality in TFS 2010 but this is a huge additional for 2010 that we have found to be very valuable in our projects.

    I hope this helps, let me know if you have any other question.

    Mike

     


    blog - http://www.codesmartnothard.com
    • Marked as answer by Thorin_2 Tuesday, September 6, 2011 1:36 PM
    Monday, September 5, 2011 1:24 AM

All replies

  • Have you seen the TFS Requirements Management Guidance from the ALM Rangers http://vstfs2010rm.codeplex.com/ ?
    I will not try to give you short answers to your questions, as they are quite large, and probably depends on your process more then on tfs.

    3) Scenario is a work Item type used in old templates from TFS2008, its been replaced with User Story in MSF for agile 5.0 .

    5) Ive seen project using the sharepoint portal and creating forums there, and other projects using WIt and the history field for keeping track of changes, thoughts and decisions.

    Thursday, September 1, 2011 9:04 PM
  • Hi,

    Great questions.  First (and is an answer for #6), I would highly recommend taking a look a look at the Visual Studio 2010 Samples VHD.  It is a virtual machine with TFS 2010 loaded on it with a sample project that includes a lot of good data.  Even if you don't want to use the virtual machine, you can also separately download the hands on labs which includes some good topics around requirements management.

    http://blogs.msdn.com/b/briankel/archive/2010/06/25/now-available-visual-studio-2010-rtm-virtual-machine-with-sample-data-and-hands-on-labs.aspx

    1. The TFS Work Items templates come with a look of good information but I think they don't come with every field for a more pragmatic approach.  The great things about work items templates and TFS 2010 in general if can be easily modified to fit your process (and not the other way!).  Our "add-ons" to the Agile 5.0 template include an assumptions tab.  I did a post on work item customization (mostly for state workflow) for TFS 2008.  It hasn't changed for TFS 2010.  Make sure you use the TFS 2010 Power tools to customize them.

    http://www.codesmartnothard.com/2009/11/27/StepsToModifyAWorkItemTemplateInTeamFoundationServer2008.aspx

    2. I'm not sure if this is the answer you were looking for but you could handle UI requirements a couple different ways. One is using the Areas.  You could create an Area for UI / NFR (non-functional requirements) or even be more specific about different Areas of the UI like Reports, Admin screens.  You could also add a dropdown list to the Requirement form and specify whether or not it is an interface requirement.  I usually use a specific Area or use a NFR Test Plan for the test cases to verify these.

    3. Mattias answered this one but I would like to add that I use Scenarios interchangably with Test Case.  In fact if you look into Behavior Driven Design (BDD), test cases are called Scenarios.  These test cases use the Gherkin format of Given, When, Then format that I think is a good format that works similiarly to the user story format. 

    4. I don't know of any great solution for this.  If you have a requirement bank of common requirements, you could copy these requirements to each team project by using the right click and create new item function when viewing the results of a query.  You could export the list to Excel and copy the list to another team project's export of requirements and the publish those to the new user story.    The create new item option would keep a link back to the original requirement if that would be useful for reporting.

    5.  Like Mattias said, each team project can be configured with a SharePoint project portal.  This portal is the collaboration "hub" for TFS.  This gives you the options for document libraries, WIKI, and discussion boards for this type of communication.   The history tab on the work items can also be used for communicating changes specific to a work item.  This gives you a rich text functionality.

    6. Like I mentioned above the Visual Studio 2010 samples VHD is a great example for this.  It doesn't give you the option to install on your TFS server but this keeps things clean and can give you a playground for testing things.

    Lastly, you didn't mention the Test Case Management functionality in TFS 2010 but this is a huge additional for 2010 that we have found to be very valuable in our projects.

    I hope this helps, let me know if you have any other question.

    Mike

     


    blog - http://www.codesmartnothard.com
    • Marked as answer by Thorin_2 Tuesday, September 6, 2011 1:36 PM
    Monday, September 5, 2011 1:24 AM
  • Hi Thorin,

     

    Thanks for your post.

     

    For these questions, our members provided us the better response, have you took them?

     

    If misunderstood anything, please describe your question in more detail and we will be able to provide the better responses.

     


    John Qiao [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Monday, September 5, 2011 9:01 AM
    Moderator
  • Yes John I have; and thank you Mr. Douglas for your detailed replies. I will review the information and links provided. Thanks again!

    Tuesday, September 6, 2011 1:35 PM