a equipe de desenvolvimento produzir falhas, nossa equipe de testes podera detecta-las antes mesmo de entregarmos o produto para o cliente ...""Temos uma equipe de manutencao dedicada somente a correcao de falhas ...""Todas as falhas detectadas na fase de testes sao registradas e gerenciadas num sistema de controle de nao conformidades, cujas correcoes serao planejadas a fim de serem incorporadas em releases futuros ...""Toda essa burocracia e necessaria devido ao nivel de complexidade de nossa empresa ... "Desperdicios das Ineficiencias Operacionais (Muda Tipo I)Este e outro assunto controverso, pois trata de todas as atividades que nao agregam diretamente valor sobre o produto de software (funcionalidades percebidas pelo cliente), mas que nao podem ser eliminadas do processo pois estao relacionadas a praticas de engenharia de produto, engenharia de sistemas, engenharia de software e gerencia de projetos. Ele esta diretamente relacionado a um dos sete desperdicios do pensamento enxuto que fala da necessidade de um processamento adicional devido as ineficiencias operacionais de nossa organizacao. A familia Poppendieck faz referencia a este desperdicio como sendo resultante de um deficit tecnologico, que tambem pode ser entendido como limitacoes na capacidade de processamento da equipe.Costumo dizer que se nao podemos nos livrar dessas praticas, pois elas sao intrinsecas da natureza do nosso trabalho, devemos realiza-las no menor tempo possivel, pois nao resultam em produto de software potencialmente entregavel ao cliente. Ou seja, quanto mais tempo eu me dedicar a estas atividades (perceba que os outros seis desperdicios ainda assombrarao este tipo de atividade), menos tempo eu terei para produzir o software desejado. Estas atividades podem ser tanto de apoio e gestao quanto de preparacao de ambientes e investigacao de novas tecnologias.Por que este assunto e controverso? Vou dar alguns exemplos de atividades que geram desperdicios por ineficiencia operacional e voce tira suas conclusoes:Captacao e Analise de Requisitos - existem tecnicas de comunicacao humana que podem diminuir consideravelmente o tempo de realizacao dessas atividades;Especificacao e Validacao de Requisitos - existem padroes de documentacao, baseados em arranjos logisticos da producao Just in Time (JIT), que podem triplicar a capacidade produtiva de uma equipe de software;Planejamento de Projeto - existem tecnicas extremamente simples, baseadas no balanceamento da producao e na capacidade produtiva da equipe, que permitem estimar o tempo e o esforco necessarios para a execucao do projeto;Controle de Projeto - e possivel desenvolver equipes autogerenciadas;Inspecao da Qualidade de Codigo - existem ferramentas de software que inspecionam de forma automatizada a qualidade do codigo fonte gerado por todos os membros da equipe;Testes de Unidade e de Sistema - existem ferramentas que automatizam a realizacao dos mais diferentes tipos de testes para comprovar tanto a eficacia quanto a eficiencia de sua aplicacao;Integracao e Deployment - existem ferramentas que podem automatizar o "empacotamento e entrega" do produto de software em ambientes de producao complexos;Setups de Ambientes de Trabalho - existem ferramentas de analise, design, codificacao, testes e implantacao que permitem realizar de forma rapida e efetiva as atividades de desenvolvimento, manutencao e operacao de software;E muitos outros exemplos!Veja bem como e delicado definirmos um nivel otimo de esforco para esse tipo de