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ção | Significado | Exemplo |
|---|---|---|
| blocks | O item A bloqueia o item B | "Implementar API de usuários" bloqueia "Criar tela de perfil" |
| blocked by | O 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
- Abra a visualização de detalhes de um work item.
- Vá até a seção Dependências.
- Selecione Adicionar dependência.
- Procure o work item relacionado pelo título ou
taskId(e.g.,A-T-15). - Selecione o tipo de relação: "este item bloqueia..." ou "este item é bloqueado por...".
- 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
taskIde 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.
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
- Abra a visualização de detalhes do work item.
- Na seção Dependências, localize a relação a remover.
- Clique no botão de excluir ao lado da dependência.
- Confirme a exclusão.
A relação é removida dos dois items simultaneamente.
Para desenvolvedores
Ferramentas MCP
| Tool | Descrição | Parâmetros principais |
|---|---|---|
get_work_item_dependencies | Obtém as dependências de um work item | workItemId |
add_work_item_dependency | Cria uma dependência entre dois items | workItemId, dependsOnWorkItemId, type |
remove_work_item_dependency | Remove uma dependência | workItemId, dependsOnWorkItemId |
get_dependencies_batch | Obtém dependências de vários items de uma só vez | workItemIds |
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.