Přesunutí pracovních položek z jednoho týmu do jiného týmu

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Když přidáte tým nebo reorganizujete existující týmy, musíte přenést pracovní položky z jednoho týmu do druhého aktualizací jejich podokruhů. Každá pracovní položka v Azure DevOps je přiřazena k cestě oblasti, která určuje, který tým je zodpovědný, a ovlivňuje zobrazení pracovních položek v backlogech a na panelech.

Pracovní položky zařazené do kategorie Požadavky se zobrazují na seznamu nevyřízených úkolů týmu dle přiřazení k úlohové oblasti týmu. Podobně přiřazení dalších pracovních položek k oblastní cestě týmu podporuje dotazy a tvorbu sestav podle vlastnictví týmem.

Návod

S touto úlohou můžete využít umělou inteligenci dále v tomto článku nebo si můžete projít Povolit asistenci umělé inteligence s Azure DevOps MCP Server začít.

Proč přesouvat pracovní položky mezi týmy

Mezi běžné scénáře přesunu pracovních položek patří:

  • Změna uspořádání týmu: Když vaše organizace restrukturalizuje týmy nebo redistribuuje povinnosti
  • Vyrovnávání úloh: Redistribuce pracovních položek za účelem vyvážení kapacity napříč týmy
  • Sladění dovedností: Přesun položek do týmů s odpovídajícími odbornými znalostmi
  • Převod vlastnictví funkce: Převod vlastnictví při změně rukou funkcí
  • Konsolidace projektů: Kombinování práce z více týmů do jednoho týmu

Požadavky

Kategorie Požadavky
Povolení – Chcete-li zobrazit, sledovat a upravovat pracovní položky: Zobrazit pracovní položky v tomto uzlu a Upravit pracovní položky v tomto uzlu oprávnění nastavená na Povolit. Ve výchozím nastavení má skupina Přispěvatelé tato oprávnění. Další informace naleznete v tématu Nastavení oprávnění ke sledování práce.
- Pro přidání značek k pracovním položkám: Oprávnění na úrovni projektu Vytvoř novou definici značky, nastavit na Povolit. Ve výchozím nastavení má skupina Přispěvatelé toto oprávnění.
Úrovně přístupu - člen projektu.
- Přidání nových značek k pracovním položkám, zobrazování nebo sledování žádostí o přijetí změn: Alespoň základní přístup.
- Zobrazení nebo sledování pracovních položek: Alespoň účastník přístup. Další informace najdete v tématu O úrovních přístupu.
- Všichni členové projektu, včetně členů ve skupině Čtenáři , mohou odesílat e-maily obsahující pracovní položky.
Oprávnění k Area Path Zobrazte a Upravte pracovní položky v uzlech cesty oblasti. Další informace naleznete v tématu Úprava pracovních položek v oblasti iterace nebo v cestě iterace.
Nakonfigurované cesty oblastí Cílový tým má správně nakonfigurované oblastní cesty. Pokud ne, nastavte požadované oblastní cesty před přenosem pracovních položek.
konzistentní procesový model Váš tým používá kompatibilní procesový model (zděděný, hostovaný XML nebo místní XML) k zajištění bezproblémového přesunu pracovních položek.
Zálohované pracovní položky Před hromadným přesunem doporučujeme zálohovat nebo exportovat pracovní položky, abyste zabránili ztrátě dat, pokud dojde k chybě.
Nástroje Použití příkazů Azure CLI: Azure DevOps CLI.
Kategorie Požadavky
Povolení – Chcete-li zobrazit, sledovat a upravovat pracovní položky: Zobrazit pracovní položky v tomto uzlu a Upravit pracovní položky v tomto uzlu oprávnění nastavená na Povolit. Ve výchozím nastavení má skupina Přispěvatelé tato oprávnění. Další informace naleznete v tématu Nastavení oprávnění ke sledování práce.
- Pro přidání značek k pracovním položkám: Oprávnění na úrovni projektu Vytvoř novou definici značky, nastavit na Povolit. Ve výchozím nastavení má skupina Přispěvatelé toto oprávnění.
Úrovně přístupu - člen projektu.
- Přidání nových značek k pracovním položkám, zobrazování nebo sledování žádostí o přijetí změn: Alespoň základní přístup.
- Zobrazení nebo sledování pracovních položek: Alespoň účastník přístup. Další informace najdete v tématu O úrovních přístupu.
- Všichni členové projektu, včetně členů ve skupině Čtenáři , mohou odesílat e-maily obsahující pracovní položky.
Oprávnění k Area Path Zobrazit a Upravit pracovní položky v rámci uzlů oblasti . Další informace naleznete v tématu Úprava pracovních položek v oblasti iterace nebo v cestě iterace.

Přesunutí pracovních položek pomocí webového portálu

Nejúčinnější způsob, jak přesouvat více pracovních položek mezi týmy, je hromadné úpravy na webovém portálu.

Krok 1: Vytvoření dotazu pro identifikaci pracovních položek

Vytvořte dotaz pro vyhledání všech pracovních položek, které chcete přesunout do nového týmu:

  1. Přejít na Tabule>Dotazy>Nový dotaz
  2. Definujte kritéria dotazu pro identifikaci pracovních položek, například:
    • Cesta oblasti týmu = Cesta oblasti aktuálního týmu
    • Typ pracovní položky = Uživatelský scénář (nebo jiné relevantní typy)
    • State = Aktivní (nebo jiné relevantní stavy)
  3. Spuštěním dotazu ověřte, že vrací správné pracovní položky.
  4. Uložení dotazu pro budoucí referenci

Krok 2: Hromadná úprava Area Path

Přesunutí pracovních položek do nového týmu:

  1. Vytvořte dotaz na všechny pracovní položky, které chcete znovu přiřadit.

  2. Vyberte více položek, které patří každému týmu, a hromadně upravte cestu oblasti.

    Snímek obrazovky s webovým portálem, stránkou Dotazy a hromadnou úpravou pracovních položek

  3. V dialogovém okně hromadné úpravy:

    • Výběr cesty oblasti z rozevíracího seznamu pole
    • Vyberte oblastní cestu cílového týmu
    • Volitelně můžete aktualizovat další pole, jako je Přiřazeno nebo Cesta iterace.
  4. Po hromadné úpravě položek je hromadně uložte.

    Snímek obrazovky s hromadným uložením upravených pracovních položek

Krok 3: Ověření přesunu

Po uložení ověřte, že se pracovní položky teď zobrazují v backlogu cílového týmu:

  1. Přejděte do backlogu cílového týmu.
  2. Ověřte, že se přesunuté pracovní položky zobrazují ve správném backlogu.
  3. Zkontrolujte, jestli pole Area Path odráží nové přiřazení týmu.

Přesunutí pracovní položky pomocí Azure CLI

K přesunutí jedné pracovní položky můžete použít az boards work-item update a aktualizovat cestu k oblasti.

az boards work-item update --id
                           [--area]
                           [--assigned-to]
                           [--description]
                           [--discussion]
                           [--fields]
                           [--iteration]
                           [--open]
                           [--reason]
                           [--state]
                           [--title]

Parametry

  • ID: Povinné. ID pracovní položky, kterou chcete aktualizovat.
  • oblast: Volitelná. Absolutní cesta oblasti Příklad: --area "\ProjectName\Area\AreaName".
  • přiřazeno k: Volitelné. Jméno osoby, ke které se pracovní položka přiřadí, například "Jamal".
  • popis: Nepovinný. Popis pracovní položky
  • diskuze: Volitelné. Komentář pro přidání do diskuze v pracovní položce
  • pole: Nepovinný. Páry "field=value" oddělené mezerou pro vlastní pole, která chcete nastavit.
  • iterace: Volitelné. Absolutní cesta iterace Příklad: \ProjectName\Iteration\IterationName.
  • open: Volitelné. Otevřete pracovní položku ve výchozím webovém prohlížeči.
  • důvod: Nepovinný argument. Důvod stavu pracovní položky
  • stav: Nepovinný. Stav pracovní položky, například Aktivní.
  • title: Volitelné. Název pracovní položky

Příklad

Pomocí rozhraní příkazového řádku Azure DevOps můžete přesunout jenom jednu pracovní položku najednou. V tomto příkladu přesuneme pracovní položku ID=148 pod oblastní cestu Fabrikam Fiber\Plánování výroby.

az boards work-item update --id 148 --area "Fabrikam Fiber\Production Planning" --output yaml

Následující výstup YAML poskytuje informace o jednotlivých polích definovaných pro pracovní položku.

fields:
  Microsoft.VSTS.Common.Priority: 2
  Microsoft.VSTS.Common.StackRank: 1500000001.0
  Microsoft.VSTS.Common.StateChangeDate: '2021-11-23T22:26:28.27Z'
  Microsoft.VSTS.Common.ValueArea: Business
  System.AreaPath: Fabrikam Fiber\Production Planning
  System.AssignedTo:
    _links:
      avatar:
        href: https://fabrikamprime.visualstudio.com/_apis/GraphProfile/MemberAvatars/aad.NDEwY2FkMDQtOWQyOS03NDFlLTk2MmEtNGZlYmU2NGE1NTM4
    descriptor: aad.NDEwY2FkMDQtOWQyOS03NDFlLTk2MmEtNGZlYmU2NGE1NTM4
    displayName: Jamal Hartnett
    id: d291b0c4-a05c-4ea6-8df1-4b41d5f39eff
    imageUrl: https://fabrikamprime.visualstudio.com/_apis/GraphProfile/MemberAvatars/aad.NDEwY2FkMDQtOWQyOS03NDFlLTk2MmEtNGZlYmU2NGE1NTM4
    uniqueName: fabrikamfiber4@hotmail.com
    url: https://spsprodeus27.vssps.visualstudio.com/A5d5b8da6-3db7-4829-baf9-1e500c21cc12/_apis/Identities/d291b0c4-a05c-4ea6-8df1-4b41d5f39eff
  System.BoardColumn: Backlog
  System.ChangedBy:
   _links:
      avatar:
        href: https://fabrikamprime.visualstudio.com/_apis/GraphProfile/MemberAvatars/aad.NDEwY2FkMDQtOWQyOS03NDFlLTk2MmEtNGZlYmU2NGE1NTM4
    descriptor: aad.NDEwY2FkMDQtOWQyOS03NDFlLTk2MmEtNGZlYmU2NGE1NTM4
    displayName: Jamal Hartnett
    id: d291b0c4-a05c-4ea6-8df1-4b41d5f39eff
    imageUrl: https://fabrikamprime.visualstudio.com/_apis/GraphProfile/MemberAvatars/aad.NDEwY2FkMDQtOWQyOS03NDFlLTk2MmEtNGZlYmU2NGE1NTM4
    uniqueName: fabrikamfiber4@hotmail.com
    url: https://spsprodeus27.vssps.visualstudio.com/A5d5b8da6-3db7-4829-baf9-1e500c21cc12/_apis/Identities/d291b0c4-a05c-4ea6-8df1-4b41d5f39eff
  System.ChangedDate: '2022-05-19T22:58:52.93Z'
  System.CommentCount: 0
  System.CreatedBy:
   _links:
      avatar:
        href: https://fabrikamprime.visualstudio.com/_apis/GraphProfile/MemberAvatars/aad.NDEwY2FkMDQtOWQyOS03NDFlLTk2MmEtNGZlYmU2NGE1NTM4
    descriptor: aad.NDEwY2FkMDQtOWQyOS03NDFlLTk2MmEtNGZlYmU2NGE1NTM4
    displayName: Jamal Hartnett
    id: d291b0c4-a05c-4ea6-8df1-4b41d5f39eff
    imageUrl: https://fabrikamprime.visualstudio.com/_apis/GraphProfile/MemberAvatars/aad.NDEwY2FkMDQtOWQyOS03NDFlLTk2MmEtNGZlYmU2NGE1NTM4
    uniqueName: fabrikamfiber4@hotmail.com
    url: https://spsprodeus27.vssps.visualstudio.com/A5d5b8da6-3db7-4829-baf9-1e500c21cc12/_apis/Identities/d291b0c4-a05c-4ea6-8df1-4b41d5f39eff
  System.CreatedDate: '2021-11-23T22:26:28.27Z'
  System.Description: <div>This user story is for documentation purposes.&nbsp; </div>
  System.IterationPath: Fabrikam Fiber\Release 2\Sprint 1
  System.Reason: New
  System.State: New
  System.TeamProject: Fabrikam Fiber
  System.Title: Test the Request feedback functionality
  System.WorkItemType: User Story
  WEF_10182DA5BCCD4CE2A43629FFBD290EF2_Kanban.Column: Backlog
id: 148
relations:
- attributes:
    isLocked: false
    name: Child
  rel: System.LinkTypes.Hierarchy-Forward
  url: https://fabrikamprime.visualstudio.com/854a3f67-9962-43d1-a968-2e5f2eb66c99/_apis/wit/workItems/152
- attributes:
    isLocked: false
    name: Child
  rel: System.LinkTypes.Hierarchy-Forward
  url: https://fabrikamprime.visualstudio.com/854a3f67-9962-43d1-a968-2e5f2eb66c99/_apis/wit/workItems/153
- attributes:
    isLocked: false
    name: Child
  rel: System.LinkTypes.Hierarchy-Forward
  url: https://fabrikamprime.visualstudio.com/854a3f67-9962-43d1-a968-2e5f2eb66c99/_apis/wit/workItems/151
- attributes:
    isLocked: false
    name: Child
  rel: System.LinkTypes.Hierarchy-Forward
  url: https://fabrikamprime.visualstudio.com/854a3f67-9962-43d1-a968-2e5f2eb66c99/_apis/wit/workItems/149
rev: 5
url: https://fabrikamprime.visualstudio.com/854a3f67-9962-43d1-a968-2e5f2eb66c99/_apis/wit/workItems/148

Hromadné přesouvání pomocí Azure CLI

Pokud chcete přesunout více pracovních položek pomocí Azure CLI, musíte skriptovat několik jednotlivých aktualizací. Tady je ukázkový vzor skriptu PowerShellu:

# Example: Move multiple work items to a new area path
$workItemIds = @(148, 149, 150, 151)
$newAreaPath = "Fabrikam Fiber\Production Planning"

foreach ($id in $workItemIds) {
    az boards work-item update --id $id --area $newAreaPath
    Write-Host "Moved work item $id to $newAreaPath"
}

Osvědčené postupy pro přesouvání pracovních položek

Při přesouvání pracovních položek mezi týmy zvažte tyto pokyny:

Plánování přesunu

  • Komunikace: Upozornění ovlivněných členů týmu před přesunutím pracovních položek
  • Časování: Přesouvání položek během hranic sprintů za účelem minimalizace přerušení
  • Závislosti: Před přesunutím zkontrolujte závislosti mezi pracovními položkami.
  • Kapacita: Zajištění kapacity cílového týmu pro další práci

Během přesunu

  • Dávkové zpracování: Aby byl zachován kontext, související pracovní položky se přesunují dohromady.
  • Zachování historie: Přesunutí položek zachovává jejich historii a vztahy
  • Aktualizace přiřazení: Zvažte opětovné přiřazení pracovních položek členům cílového týmu.
  • Kontrola iterací: Aktualizace cest iterace, pokud týmy používají různé plány sprintů

Po přesunutí

  • Ověřte viditelnost: Zkontrolujte, zda se pracovní položky zobrazují ve správných týmových backlogech.
  • Dokumentace k aktualizaci: Aktualizace jakékoli týmové dokumentace, která odkazuje na přesunuté položky
  • Revize sestav: Zkontrolujte, jestli týmové zprávy a řídicí panely zohledňují změny.
  • Sledování: Zajistěte, aby členové týmu věděli o převedené práci.

Řešení potíží a ověření

Po přesunutí pracovních položek z jednoho týmu do jiného týmu postupujte podle těchto kroků, pokud pracovní položky nevidíte:

Běžné problémy a řešení

Problém Solution
Pracovní položky se nezobrazují v backlogu Ověřte, že cesty oblasti odpovídají nakonfigurovaným cestám oblasti týmu.
Chyby oprávnění během přesunu Zkontrolujte, jestli máte oprávnění k úpravám pro cesty ke zdrojové i cílové oblasti.
Chybějící pracovní položky ve sprintu Aktualizace cesty iterace tak, aby odpovídala plánu sprintu cílového týmu
Filtry skrývající pracovní položky Kontrola filtrů backlogu a nastavení typů pracovních položek

Postup prověření

  • Obnovit: Obnovte panel nebo vyberte možnost Zobrazit více položek, pokud se nově přidané pracovní položky nezobrazí.
  • Ověřte tým: Zkontrolujte, že jste vybrali správný tým, abyste zajistili, že se položky zobrazí v backlogu.
  • Ověřit cestu oblasti: Ověřte, že přesunuté pracovní položky jsou přiřazeny správné oblasti, která odpovídá backlogu týmu. Každý tým má specifické oblastní cesty, které určují, které pracovní položky se zobrazují v jejich backlogu. Toto ověření je zásadní pro zajištění viditelnosti v backlogu.
  • Ověřit cestu iterace: Zkontrolujte cestu iterace pro sprint. Backlog sprintu zobrazuje jenom pracovní položky přiřazené k cestě iterace vybraného sprintu.
  • Ověřte typy a filtry pracovních položek: Zkontrolujte filtry backlogu a ujistěte se, že typy pracovních položek mají správnou kategorizaci, aby se zobrazily všechny relevantní položky.

Další informace najdete v tématu Vytvoření backlogu.

Důležité informace o přesunech ve velkém měřítku

Při přesouvání mnoha pracovních položek nebo při přeuspořádání více týmů:

Aspekty plánování

  • Posouzení dopadu: Analýza, jaké sestavy, řídicí panely a dotazy budou ovlivněny.
  • Správa změn: Vytvoření komunikačního plánu pro ovlivněné zúčastněné strany
  • Plán vrácení zpět: Příprava plánu na obrácení změn v případě, že dojde k problémům
  • Testování: Nejprve otestujte proces přesunutí s malou podmnožinou pracovních položek.

Strategie provádění

  • Fázovaný přístup: Přesunutí pracovních položek ve fázích místo všech najednou
  • Provádění mimo pracovní dobu: Velké přesuny během období s nízkou aktivitou
  • Monitorování: Sledování dopadu na výkon během hromadných operací
  • Ověření: Před pokračováním na další fázi ověřte každou fázi.

Alternativní přístupy

Přesouvání týmů místo pracovních položek

Někdy je efektivnější překonfigurovat cesty týmových oblastí místo přesouvání jednotlivých pracovních položek:

  • Když je potřeba přesunout většinu pracovních položek týmu
  • Přeuspořádání oblastí dává větší smysl z organizačního hlediska
  • Pokud je objem pracovních položek velmi velký

Použití dotazů pro postupné přechody

Vytváření dotazů pro postupné přechody pracovních položek:

  • Filtrovat podle data vytvoření a přesunout novější položky jako první
  • Používejte stavy pracovních položek k samostatnému přesunu dokončených položek.
  • Seskupování podle typu pracovní položky pro systematické přechody

Přesun pracovních položek mezi týmy pomocí AI

Pokud nakonfigurujete server Azure DevOps MCP, můžete místo ruční aktualizace cest oblasti přesouvat pracovní položky mezi týmy pomocí přirozeného jazyka.

Task Příklad výzvy
Přesunutí položek do jiného týmu Move all active user stories in area path <Contoso\\TeamAlpha> to <Contoso\\TeamBeta>
Změna přiřazení podle typu pracovní položky Change the area path for all bugs assigned to <Jamal> from <Contoso\\Frontend> to <Contoso\\Backend>
Vyhledání položek, které se mají přesunout List all work items in area path <Contoso\\OldTeam> grouped by work item type
Ověření po přesunutí Show all work items moved to area path <Contoso\\NewTeam> in the last 7 days
Náhled přesunu dopadu How many work items are currently under area path <Contoso\\TeamAlpha> and what are their states? I'm planning to move them to <Contoso\\TeamBeta>
Přesunutí a opětovné přiřazení Move all active tasks under <Contoso\\Platform> to <Contoso\\Infrastructure> and reassign them from <Raisa> to <Christie>
Najít osiřelé položky po reorganizaci List work items whose area path doesn't match any active team's configured area paths in project <Contoso>
Hromadný přesun podle sprintu Move all incomplete work items from Sprint 11 in area path <Contoso\\TeamAlpha> to area path <Contoso\\TeamBeta> and assign to Sprint 12
Audit přesunů mezi týmy Show all work items that changed area path in the last 30 days in project <Contoso>, grouped by source and destination team
Přesunutí s podřízenými položkami Move feature #4500 and all its child user stories and tasks from <Contoso\\Frontend> to <Contoso\\FullStack>

Poznámka:

Pokud používáte Visual Studio Code, agent mode je zvláště užitečný pro hromadné přesuny napříč týmy.