Multiple Deliveries with Delivery Controls in place.
I have a customer who has hit an issue because of the processes adopted for controlling deliveries. The scenario is :
1. Deliveries to DEV stream require an approval.
2. Work is done on an 'Experiment' stream by user A.
3. User B connects to the DEV stream and accepts changes.
4. User B connects to DEV stream and tries to deliver the change collected form the Experiment stream. Since this work item is closed it cannot have an approval applied and so the delivery fails.
How do you deliver work items from stream to stream to stream where approvals are required and the work items are closed ?
1. Deliveries to DEV stream require an approval.
2. Work is done on an 'Experiment' stream by user A.
3. User B connects to the DEV stream and accepts changes.
4. User B connects to DEV stream and tries to deliver the change collected form the Experiment stream. Since this work item is closed it cannot have an approval applied and so the delivery fails.
How do you deliver work items from stream to stream to stream where approvals are required and the work items are closed ?
Accepted answer
I would say you can reopen the work item to add the approvals. It might make more sense to have the work item open until it is delivered to the DEV stream since, I assume, you don't produce any deliverable product from the experimental stream.
Or, you can require adding the approvals before the change sets are delivered to the experimental stream. That might work if you intend to eventually deliver everything from experimental to DEV.
Another option is removing the requirement that a work item be open to add an approval. You could use the SCM precondition on change set linking to prevent linking to closed work items. Then you can still add your approvals but nobody can add change sets unless the work item is reopened.
It sounds like your streams are running different process configurations so remember that when configuring your preconditions. Sometimes you can configure it in a different way to get what you want without having to create a custom precondition.
Or, you can require adding the approvals before the change sets are delivered to the experimental stream. That might work if you intend to eventually deliver everything from experimental to DEV.
Another option is removing the requirement that a work item be open to add an approval. You could use the SCM precondition on change set linking to prevent linking to closed work items. Then you can still add your approvals but nobody can add change sets unless the work item is reopened.
It sounds like your streams are running different process configurations so remember that when configuring your preconditions. Sometimes you can configure it in a different way to get what you want without having to create a custom precondition.