Pular para o conteúdo principal

Dependências entre items

Quando vários agentes trabalham em paralelo, eles interferem uns nos outros a menos que você defina o que bloqueia o quê. As dependências tornam isso explícito para que os agentes respeitem automaticamente a ordem de execução. Sem dependências claras, você termina com conflitos de merge, trabalho duplicado e agentes implementando features sobre código que ainda não existe.

As dependências permitem definir relações de bloqueio entre work items. Quando um item depende de outro, o Almirant torna essa relação visível para que tanto a equipe quanto a IA possam tomar decisões informadas sobre a ordem de execução do trabalho.

Tipos de dependência

O Almirant usa um modelo de dependência bidirecional baseado nas relações blocker/blocked:

RelaçãoSignificadoExemplo
blocksO item A bloqueia o item B"Implementar API de usuários" bloqueia "Criar tela de perfil"
blocked byO item B é bloqueado pelo item A"Criar tela de perfil" é bloqueada por "Implementar API de usuários"

As duas relações são faces da mesma dependência. Ao criar uma dependência a partir de qualquer um dos items, a relação inversa é estabelecida automaticamente.

Criar uma dependência

Pela interface

  1. Abra a visualização de detalhes de um work item.
  2. Vá até a seção Dependências.
  3. Selecione Adicionar dependência.
  4. Procure o work item relacionado pelo título ou taskId (e.g., A-T-15).
  5. Selecione o tipo de relação: "este item bloqueia..." ou "este item é bloqueado por...".
  6. Confirme.

A dependência aparece na visualização de detalhes dos dois items envolvidos.

Via MCP

Use a tool add_work_item_dependency, informando os IDs dos dois items e o tipo de relação.

Ver dependências

As dependências de um work item são visualizadas em:

  • Visualização de detalhes -- Seção dedicada que mostra items bloqueadores e bloqueados.
  • Cartão do board -- Indicador visual quando um item tem dependências ativas.

Cada dependência mostra:

  • O taskId e o título do item relacionado.
  • O tipo de relação (blocks / blocked by).
  • O estado atual do item relacionado, derivado de sua coluna.

Consulta em lote

Quando você precisa revisar as dependências de vários items de uma só vez, por exemplo, ao planejar um sprint, pode usar a consulta em lote para obter todas as relações de um conjunto de work items em uma única operação.

Impacto no fluxo de trabalho

As dependências fornecem informações essenciais para o gerenciamento do trabalho:

  • Visibilidade de bloqueios -- Identifica rapidamente quais items não podem avançar porque dependem de outros que ainda não foram concluídos.
  • Priorização informada -- Os items que bloqueiam outros devem ser priorizados para desbloquear trabalho pendente.
  • Contexto para a IA -- Quando a IA consulta o contexto de um item, as dependências ajudam a determinar se faz sentido começar a trabalhar nele ou se ela deve se concentrar primeiro nos items bloqueadores.
Boa prática

Um item bloqueado não deve ser movido para "In Progress" enquanto seus items bloqueadores não estiverem concluídos. Embora o Almirant não impeça a movimentação, as dependências servem como indicador visual e contextual para evitar trabalho prematuro.

Remover uma dependência

  1. Abra a visualização de detalhes do work item.
  2. Na seção Dependências, localize a relação a remover.
  3. Clique no botão de excluir ao lado da dependência.
  4. Confirme a exclusão.

A relação é removida dos dois items simultaneamente.

Para desenvolvedores

Para desenvolvedores

Ferramentas MCP

ToolDescriçãoParâmetros principais
get_work_item_dependenciesObtém as dependências de um work itemworkItemId
add_work_item_dependencyCria uma dependência entre dois itemsworkItemId, dependsOnWorkItemId, type
remove_work_item_dependencyRemove uma dependênciaworkItemId, dependsOnWorkItemId
get_dependencies_batchObtém dependências de vários items de uma só vezworkItemIds

Exemplo: adicionar uma dependência

Tool: add_work_item_dependency
Parametros:
workItemId: "uuid-item-bloqueado"
dependsOnWorkItemId: "uuid-item-bloqueante"
type: "blocked_by"

Isso define que o primeiro item é bloqueado pelo segundo. A relação inversa, em que o segundo bloqueia o primeiro, é criada automaticamente.

Exemplo: consultar dependências em lote

Tool: get_dependencies_batch
Parametros:
workItemIds: ["uuid-1", "uuid-2", "uuid-3", "uuid-4"]

Retorna um mapa com as dependências de cada item, útil para visualizar o grafo de bloqueios de um sprint completo.

Exemplo: ver as dependências de um item

Tool: get_work_item_dependencies
Parametros:
workItemId: "uuid-del-item"

Retorna duas listas:

  • blocks: items que este item bloqueia.
  • blockedBy: items que bloqueiam este item.