I am responsible for members of my own team. I am not responsible, nor do I have any control over the members of other teams who assist us in resolving our issues.
For example, once we have finished coding, the customer's test team performs acceptance testing. Even though we are temporarily done coding the issue, we don't mark it as resolved until the code is deployed. What we do instead is assign it to a member on the customer's test team, and when they are done, they assign it back. However, since they were not part of the original estimate, whatever work they do, delays our project burn down.
To resolve this issue, I suspect I need to add subtasks for every type of task that will be performed, including all tasks performed by all teams. When a subtask is ready to be performed, it can be assigned to the appropriate person. That person's team would be responsible for everything about that subtask from the moment it is created, including estimation, assignment and resolution.
Each Issue's Subtasks I suspect would include Investigate, Estimate, Write Test Driven Development Tests, Code, Development Testing, Team Review, Customer Acceptance Testing, Documentation, Deployment Planning, Deployment.
As far as statuses, I suspect Open, In Progress, Resolved, and Closed will be sufficient.
So that brings me to my question. Is this the best way to handle autonomous teams on one project and one issue?
I appreciate your experience in this matter. Thank you!