domingo, 19 de setembro de 2010

Erros clássicos do desenvolvimento de software

mistake

Erros relacionados as pessoas:

  • Motivação prejudicada;
  • Pessoal técnicamente fraco;
  • Profissionais não controlam seus próprios problemas;
  • Profissionais heróis geralmente fazem mal;
  • Adicionar pessoas ao projeto atrasado;
  • Escritórios lotados;
  • Atrito entre desenvolvedores e clientes;
  • Expectativas irrealistas;
  • Falta de patrocínio ao projeto de software: O patrocínio ao projeto de software é necessário para muitos aspectos de desenvolvimento rápido, incluindo planejamento realista, controle de mudanças e a introdução de novas práticas de desenvolvimento;
  • Falta de interessados em comprar o software;
  • Falta de colaboração do usuário ao projeto;
  • Política colocado sobre a substância;
  • Pensamento positivo: É fechar os olhos esperando que algo funcione, quando não tem nenhuma base razoável para pensar que sim. O pensamento positivo no início do projeto leva a grandes ampliações no final do projeto. Isto prejudica o planejamento significativo e pode estar na raiz dos problemas de software mais do que todas as outras causas combinadas.

Erros relacionados ao processo:

  • Estimativa de tempo excessivamente otimista;
  • Insuficiência de gestão de risco;
  • Prestador de serviço falha;
  • Planejamento insuficiente;
  • O abandono do planejamento sobre pressão;
  • O tempo perdido durante o fuzzy front end:  O fuzzy front end é o tempo antes do início do projeto, o tempo normalmente gasto no processo de aprovação e de orçamento;
  • Shortchanged upstream atividades: São projetos que estão com pressa para cortar as atividades que não são essenciais: Análise de requisitos, arquitetura e design que não produzem diretamente o código;
  • Desenho inadequado;
  • Garantia de qualidade Shortchanged: São projetos que estão com pressa em cortar custos, eliminando design, revisões de código, eliminando o planejamento de testes e realizando somente testes superficiais;
  • Os controles de gestão insuficientes;
  • Convergência prematura ou com muita freqüência;
  • Omitir tarefas necessárias a partir de estimativas;
  • Planejamento para apanhar depois;
  • O código de programação como o inferno.

Erros relacionados à forma como o produto é definido:

  • Requisitos gold-plating: Alguns projetos têm mais requisitos  do que necessitam;
  • Fluência de recursos;
  • Desenvolvedor gold-plating: Desenvolvedores são fascinados por novas tecnologias e às vezes são ansiosos para experimentar novos recursos da linguagem, ambiente ou para criar a sua própria implementação. Isto poderá manchar o produto senão é necessário;
  • Push me, pull me de negociação;
  • O desenvolvimento orientado a investigação.

Os erros remanescentes tem haver com uso e abuso da tecnologia:

  • A síndrome de Silver-Bullet: Houve muita confiança sobre os benefícios das tecnologias utilizadas (gerador de relatório, projeto orientado a objeto, etc.) e  poucas informações sobre como elas ajudariam neste ambiente de desenvolvimento em particular;
  • Poupanças superestimadas de novas ferramentas ou métodos: Organizações raramente melhoraram sua produtividade em saltos gigantes, não importando quão bom ou quantas novas ferramentas ou métodos que adotam;
  • Ferramentas de comutação no meio de um projeto:  Esta é uma velha espera que quase nunca funciona. Às vezes, pode fazer sentido para atualização incremental na mesma linha de produtos, a partir da versão 3 para a versão 3.1 ou às vezes até a versão 4. Mas a curva de aprendizado, retrabalho e erros inevitáveis feita com uma ferramenta totalmente nova, geralmente anula qualquer benefício quando está no meio de um projeto;
  • A falta de controle automatizado do código fonte:  A falha no uso de controle automatizado do código fonte expõem projetos aos riscos.

Fonte: 

Classic Mistakes Enumerated 1996 by Steven C. McConnell http://www.stevemcconnell.com/rdenum.htm

Bye see you next post

Um comentário: