nbplopes

Hi all,

We are currently evaluating TS for our purposes. Regarding work items this is what we would like to do.

The project we have at the moment consists of 3 different but complementary sub projects.

What we would like is the following regarding workitems

1- Relate workitems of multiple projects. For instance, a bug arrives to Project A / Team A, is analysed and the problem comes from an assembly developed by Team B (Project B). The developer opens a bug in Project B but links his/her workitem to that the one created for team B and vice versa;

2 - Workitems to have a state called "Blocked". This state expresses that work on the workitem is in a stall due to some reason. One of them can be due the fact that some work needs to be done by some other team in another project (see 1). We would like to track when items are blocked (date time) and the reason pertaining its state (comments and related workitems);

3 - Finnally we would like to enforce the rule throught automation that no workitem can be "closed" or "resolved" while there are any related items to be "closed" or "resolved";

Analysing blocking and unblocking of items and its rational is central to us to detect bottlenecks during active development. We are open to suggestions regarding the necessity or not of multiple projects, but usually EAI Team works autonomously in our company so does the UI, SAP, COGEN and others. We get together to discuss interfaces but each team is managed with some degree of independence even in political terms, so we like the idea that each team as its own project althought interconnected with other projects to achieve the overall goal. There is always a team that leads the all process, usually the "UI" Team (after all its what clients see and experience first hand).

Is this possible with "little" effort If yes, how can we achieve this with TS

Thanks in advance for any help,

Nuno



Re: Team Foundation Server - Work Item Tracking Work Items, Multiple Projects and Blocking Items

Gregg Boer MSFT

On #1 - You can relate work items across projects. That is, a work item on Project A can be linked to a work item on Project B.

On #2 - This would be possible with the work item customization. You can add fields for blocked date/time and blocked reason. These fields can be made required when State=blocked. This is not a lot of effort to do.

On #3 - This is not possible out of the box V1, although it is being considered for a future release. In order to do that, you could write an event handler that would detect when a work item has changed, and then check if any rules are violated, then it could send a warning message, and/or change the work item back to the proper state. This requires code, unfortunately.

Let us know if you have any other questions.






Re: Team Foundation Server - Work Item Tracking Work Items, Multiple Projects and Blocking Items

nbplopes

On #2 - If I understand the purposed solution, the problem we have with it is that blocking can happen several times along the time line. For instance, an WorkItem can be blocked due to some reason, reason is resolved some time after and the item is unblocked by the programmer, and then blocked again due to some other reason ans so on ... We would like to track all blocking actions. We were thinking that this could be solved somewhat with WorkItem revisions and tracking workitem state field change and revision time stamps, but then is the reporting mechanism prepared to deal with revisions so that we can track progress along the line

We don't mind coding, but we are still too green regarding TS development to make any development decisions, furthermore we are worried about the maintenance/deployment of such customizations over TS so any solid information regarding these issues is welcome.

Again thanks,

Nuno





Re: Team Foundation Server - Work Item Tracking Work Items, Multiple Projects and Blocking Items

Gregg Boer MSFT

First, on your original #3 - I just saw a demo from a code plex project (http://www.codeplex.com/wicreator) where someone has created a program that seems to do what you are looking for. You might check it out.

On #2 - All history is imported into the data warehouse. However, I'm not sure how easy a reporting task it would be. It seems what you are looking for is that each time a work item is blocked, you want to track that blocking event as a separate, discrete event, then go back and look at the list of events that blocked a work item at one time or another.

I'll ask my co-worker, who specializes in reporting, to take a look at this forum post.






Re: Team Foundation Server - Work Item Tracking Work Items, Multiple Projects and Blocking Items

nbplopes

Thank you once again sir,

"you want to track that blocking event as a separate, discrete event, then go back and look at the list of events that blocked a work item at one time or another. "

In abstract terms yes. I was under the impression that this could be done by customizing the WorkItem State Flow. Anyway, as you are taking the time to ask your co-worker let me be more precise around our intent in logical terms ...

[WorkItem:1] - [N:Blocked]

One work item can be blocked several times along the time line. The information we want to capture is the following:

Blocked: [User], [DateTime], [Reason: Comment, Related WorkItems]

Reports:

* List of blocked items and their reasons

* An ordered list of WorkItems that are blocking other Items. The list is ordered by the number of blocked Workitems that a WorkItem blocks (Does this make sense to you let me know).

* CFD (Commulative Flow Diagram) around blocked workitems

Any suggestions around how TS could be customized would be extremely appreciated.

Thanks in advance for any help,

Nuno





Re: Team Foundation Server - Work Item Tracking Work Items, Multiple Projects and Blocking Items

nbplopes

Thank you once again sir,

"you want to track that blocking event as a separate, discrete event, then go back and look at the list of events that blocked a work item at one time or another. "

In abstract terms yes. I was under the impression that this could be done by customizing the WorkItem State Flow. Anyway, as you are taking the time to ask your co-worker let me be more precise around our intent in logical terms ...

[WorkItem:1] - [N:Blocked]

One work item can be blocked several times along the time line. The information we want to capture is the following:

Blocked: [User], [DateTime], [Reason: Comment, Related WorkItems]

Reports:

* List of blocked items and their reasons

* An ordered list of WorkItems that are blocking other Items. The list is ordered by the number of blocked Workitems that a WorkItem blocks (Does this make sense to you let me know).

* CFD (Commulative Flow Diagram) around blocked workitems

Any suggestions around how TS could be customized would be extremely appreciated.

Thanks in advance for any help,

Nuno





Re: Team Foundation Server - Work Item Tracking Work Items, Multiple Projects and Blocking Items

Gregg Boer MSFT

You can add fields to store that it is blocked, and the user/datetime/reason/comment.

This would give you all the work items that are currently blocked, but you could necessarily go to the work item and see all the past blockages without sifting through the work item history. However, this seems like it meets your needs.

As for an ordered list of work items that are blocking other items, this is getting a little more tricky. If a work item can only block one other work item, then you could add a "Blocked Work Item" field to the work item. I'm guessing this is not the case. So that you are looking at creating links to represent the work items being blocked. In V1 there is only 1 type of link, called Related. You can programmatically extend the link types to add new link types. If you are interested in that, poke around on http://blogs.msdn.com/narend. Naren does a good explanation of that.

As for the CFD, it looks like a reporting exercise once you have the links in place.






Re: Team Foundation Server - Work Item Tracking Work Items, Multiple Projects and Blocking Items

nbplopes

"... but you could necessarily go to the work item and see all the past blockages without sifting through the work item history. However, this seems like it meets your needs."

Sorry I'm not understanding the statement. How can I see the past blockages

Thanks for the help

Nuno





Re: Team Foundation Server - Work Item Tracking Work Items, Multiple Projects and Blocking Items

Gregg Boer MSFT

You would see the past blockages as individual history revisions to the fields:

  • Blocked State
  • Blocked Owner
  • Blocked Date/Time
  • Blocked Reason
  • Blocked Comment

But you would not see them as a record, that is, they would not be grouped together as a single unit.

Does that answer the question