domingo, 5 de agosto de 2012

Desperdício em Desenvolvimento de Software


Baseado em Oliveira (2004).

Produtividade é algo que buscamos todo momento, fazer mais com menos e sem perder a qualidade percebida por nossos clientes, aliás  conforme Armand Vallin Feigenbaum, “se deseja saber o que é qualidade, pergunte ao seu cliente, ele irá lhe dizer”.

No caso de software, algumas verdades são absolutas e sempre defendidas por meus clientes, sistema sem erro, sistema fácil de usar.

Um dos maiores pontos a serem trabalhados para aumento da produtividade estão relacionados a redução de desperdício e segundo Oliveira (2004), o desperdício pode ser definido como “qualquer atividade que não agregue valor ao produto/serviço”.

Conforme suas pesquisas, temos sete tipos de desperdício. O que vou fazer é uma breve analogia com a produção de software:

1)      Superprodução: O próprio nome já diz, se trata de produzir mais do que realmente é necessário para o momento. No caso de software devemos evitar “pintar de ouro” nossas entregas aos clientes, ou seja, entregar além do que foi solicitado ou contratado.

2)     Tempo de espera: Equipe ociosa é algo que devemos evitar a todo momento. Um bom planejamento é essencial para isto e, aliado à uma boa metodologia de trabalho, este desperdício pode ser evitado. É aqui que o modelo Kanban entra e cabe como uma luva para fábricas de software.

3)     Transporte: A logística para projetos tem que ser muito bem avaliada. Certos projetos podem ser fechados no calor do momento da negociação e acabam por gerar mais prejuízos do que resultado.  

4)     Processo: Processos existem para apoiar o trabalho das pessoas e não para que as pessoas fiquem presas à eles. Processo bom é aquele que reduz custo, aumenta a percepção de qualidade do cliente, otimiza o trabalho da equipe... Papel aceita tudo!

5)     Movimentação: A movimentação das pessoas certas para os papeis certos é um ponto fundamental para evitar desperdícios.

6)     Produtos Defeituosos: Pense no tempo que vai ser gasto dando manutenção em algo que está errado. Falhas em software crescem exponencialmente, logo, adote boas práticas e ferramentas de apoio.

7)      Estoque: no caso de software house, o estoque existente é hora/homem. Cada hora homem disponível tem que estar alocada para algo que agregue valor à instituição, caso contrário, a “torneira” está vazando em algum ponto.