Uma das principais tarefas no meu prato é a comunicação com o cliente. Uma coisa que acho particularmente difícil é lidar com os prazos, porque eles são determinados pelo cliente e, frequentemente, não sou consultado.
Se você é responsável por se comunicar com o cliente, por que não é consultado sobre agendamento (e orçamento) para poder comunicar essas informações entre as pessoas responsáveis por eles na sua organização e as contrapartes no lado do cliente? Acho que corrigir esse problema será um grande benefício para você, sua equipe e seu projeto.
O cliente cria um recurso que deseja adicionar, o Recurso X. O Recurso X ficaria bem no lançamento do aplicativo da próxima semana, que fica a cerca de 6 dias úteis. Nesse ponto, a solicitação de recurso precisa passar pela aprovação e, freqüentemente, há outras dependências que precisam ser tratadas. Eventualmente, N dias depois, a solicitação de recurso chega até minha equipe. Mesmo que o prazo final original (definido por um gerente não desenvolvedor) fosse atingível, ele não será mais.
Esse sistema de agendamento parece estranho, para dizer o mínimo.
Nas minhas experiências, o cliente assina um lançamento específico. Eles podem enviar uma lista de recursos e alterações que desejam e quando desejam e, em seguida, negociar com a equipe que cria o software. Ou eles podem fornecer uma lista priorizada de recursos à equipe de desenvolvimento, e a equipe de desenvolvimento fornece estimativas de quando eles podem enviar vários conjuntos de recursos. Existem outras variantes também.
Mas uma coisa que eu nunca vi permitido é que um cliente possa alterar o lançamento tão tarde no jogo, especialmente a menos de uma semana do lançamento. Isso não parece certo para colocar os designers, desenvolvedores e testadores sob esse tipo de pressão. Se você estiver desenvolvendo iterativamente, se for um recurso de alta prioridade, adicione-o à forma de backlog e leve-o o mais rápido possível. Se não é um recurso de alta prioridade, eles definitivamente não precisam dele durante este lançamento e podem esperar até o próximo.
Eu recomendaria definir algumas regras básicas que acomodem suas equipes de design, desenvolvimento, teste e entrega, bem como seu cliente, para apresentar congelamentos, congelamentos de código e entregas. Escreva isso por escrito, obtenha o comprometimento de todos e cumpra-o. Se você mudar uma vez, espera-se que dobre mais e perderá o controle do processo.
Infelizmente, não há muito que eu possa fazer porque não estou em posição de poder aqui.
Você pode não estar sozinho. Mas parece que seus designers e / ou desenvolvedores e / ou testadores estão sob muita pressão para cumprir os cronogramas. Você deve sentar-se com seus superiores em equipe e explicar a situação. Primeiro, faça com que sua organização se comprometa com a melhoria no processo e, em seguida, trabalhe com o cliente para entender como as coisas vão funcionar.
Parece muito que eu estou dando desculpas.
Quando você começa a dar desculpas, talvez seja hora de ter uma conversa difícil ou uma conversa crucial . Eu recomendaria um desses dois livros. A leitura deles ajudou a melhorar minhas habilidades de comunicação, especialmente quando você precisa enfrentar uma situação difícil, onde as tensões são altas por todos os lados.
Para abordar algumas das outras respostas.
Infelizmente, o poder é tomado principalmente por você e não concedido por outros.
Não sei onde Andrea está indo com isso. Sim, você precisa corrigir o fluxo de informações. Mas você precisa trabalhar com os diretores e o cliente para garantir que todos saibam o que foi (suponho, de qualquer maneira) acordado no início do projeto. Se o acordo, por qualquer motivo, não estiver dando certo, revise-o e redistribua o trabalho e as funções para as pessoas mais adequadas a eles.
Você não toma o poder ou luta contra o poder, mas trabalha com ele, tentando domá-lo e fazê-lo funcionar para todos.
O problema é: o cliente conhece principalmente o valor comercial do recurso, mas não percebe sua complexidade. Basta discutir e esclarecer. Sempre.
Esta citação de loki2302 é praticamente perfeita. Um de seus trabalhos como engenheiro de software é garantir que as pessoas certas saibam coisas como a dificuldade da tarefa, quanto tempo isso levará e que tipos de opções e riscos existem para fazer alguma coisa. Como comunicador líder da sua equipe, transmitir essas informações da sua organização para o seu cliente é, em teoria, o seu trabalho.