1 / 20

Melhoria de Processos de Software

Melhoria de Processos de Software. Análise de Sistemas de Software Prof. Rodrigo Ribeiro. Organizações. Maturidade das organizações Sintomas da imaturidade Projetos não são definidos com clareza Desenvolvimento disfarçado de manutenção Pessoas sem treinamento necessário

olwen
Download Presentation

Melhoria de Processos de Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Melhoria de Processos de Software Análise de Sistemas de Software Prof. Rodrigo Ribeiro

  2. Organizações • Maturidade das organizações • Sintomas da imaturidade • Projetos não são definidos com clareza • Desenvolvimento disfarçado de manutenção • Pessoas sem treinamento necessário • Sem regras para recrutamento, treinamento • Não há comunicação entre as pessoas • Ferramentas não ajudam ou não sabem usá-las • Processo muito burocrático • Na prática, acaba não sendo seguido • Gerentes são os primeiros a não seguir processo

  3. Organizações • Prejuízos da imaturidade • Problemas se repetem em todo projeto... • Trabalho excessivo e stressante • Compromissos • Organizações imaturas • Assumem compromissos não realistas • Desejam assumir compromissos, mas não sabem estimar • Outras possuem técnicas para estimar, mas não dados.

  4. Organizações • Sem processos definidos... • O controle de projetos é confuso • Prazos não dão tempo para pensar • Na falta de opção... • Força bruta! • Apelo místico • Magia • Balas de prata • Gurus • Assumem muitos compromisso e depois... • Heróis • Com esforço próprio tentam concertar tudo. • Problema: Um dia eles chegam ao seu limite

  5. Organizações • Escala • Quanto maior, mais complexo... • Medida: LOC • Agravantes • Falta de documentação do código • Programas tem vida muito longa • Ausência de desenho torna código frágil • Software é um castelo de cartas • Hardware, outros softwares, dados, operação • Leigos não aceitam a importância da engenharia de software

  6. Organizações • Comunicação • Tamanho da equipe é um problema • Comunicação difícil. • Desorganização completa - Pior caso: O(n2)  • Hierarquia • Muitas pessoas no nível gerencial • Comunicação lenta • Problemas de distorção • “Telefone sem fio” • Possível solução: documentar! • Para grandes projetos... • Padrões • Controle de qualidade • Gestão de configurações • Treinamento de desenvolvedores...

  7. Organizações

  8. Organizações • Construção em estágios • Solução para produtos complexos • Desenvolvimento de versões • Similar à entrega incremental • Cada nova versão é o resultado de um projeto • Liberação • Resultado intermediário na produção de uma versão • Mas o que implementar? Determinado pelos usuários. • Cada liberação • É avaliada por usuários • Fornecimento de feedback para desenvolvedores

  9. Organizações • Vantagens da Construção em estágios • Prazos reduzidos para fornecer produto • Redução da incerteza de requisitos • Possibilidade de atender as ordens de prioridade • Redução da incerteza do desenho • A cada versão ou liberação • Problemas são levantados pelos usuários • Desenho elaborado com base em experiências anteriores.

  10. Organização • Desvantagens da construção em estágios • Divisão em partes deve ser planejada • Não é simples integrar diversas partes • Estrutura de testes provisória • Testar funcionalidades possivelmente incompletas • Desenvolvimento de um estágio • Pode iniciar-se antes do anterior ser aceito • Problema: Difícil gerência de diversas versões

  11. Organizações • Riscos • Com base em 4.000 projetos... • 70% dos projetos sofre de instabilidade de requisitos • Requisitos crescem em média 1% ao mês... • Pelo menos 50% dos projetos... • São executados com níveis de produtividade baixos. • Pelo menos 25% dos software de prateleira • Apresentam níveis de defeitos acima do razoável • Produtos feitos sobre pressão tem 4X mais defeitos • 50% de grandes projetos estouram orçamento e prazos • 2/3 de grandes projetos são cancelados antes do final • Atritos entre TI e gerência ocorrem em + de 30% das empresas

  12. Organizações • Organizações imaturas... • Cometem erros clássicos Pessoas Processos Tecnologias

  13. Organizações • Erros relativos ao produto • Introdução de características interessantes mas dispensáveis. • Adição descontrolada de requisitos • Desenvolvimento orientado a pesquisa • Erros relativos ao processo • Esperdício de tempo no início do projeto • Pressões causadas por prazos otimistas • Planejamento insuficiente • Falta de controle gerencial.

  14. Organização • Erros de processo(continuação) • Abandono dos planos para cumprir prazos • Codificação desenfreada • Estratégia “Guerra do vietnã” • Erros de pessoas • Falta de participação na etapa de requisitos • Atritos entre desenvolvedores e usuários • Falta de motivação • Erros de tecnologia • Balas de prata • Mudança de ferramentas no meio do projeto • Falta de automação de atividades

  15. Melhoria de Processos • Motivação • Onde investir • Tecnologia? • Pessoas? • Processos? • Antes de efetivamente usar um processo • A organização deve ser capacitada para isso • Treinamento • Problema • Custo elevado em treinamento

  16. Melhoria de Processos • Organizações imaturas • Processos informais • Só existe na cabeça das pessoas... • Processo definido • Possui documentação detalhada • O que é feito? • Quando? • Por quem? • O que usa e produz? • Como documentar? • Texto • Tabelas • fluxogramas

  17. Melhoria de Processos • Alguns mal entendidos... • Qualidade de software pode ser medida... • Qualidade, em software, é algo subjetivo • Problemas de produção de software são técnicos • Não! Tecnologia não resolve tudo! Balas de prata. • Problemas são causados por deficiência de pessoas... • Erros de pessoas se devem a... • Informações imprecisas • Métodos e padrões mal definidos • Falta de treinamento • Não sabem seguir os procedimentos

  18. Melhoria de Processos • Benefícios • Requisito correto é 50 a 200 x mais barato • Desenho correto é 10 x mais barato • Refazer defeitos leva de 40% a 50% • Cada hora gasta em prevenção de defeitos representa de 3 a 10 horas a menos de correção. • Reusar artefatos de qualidade proporciona um retorno de 4375%

  19. Melhoria de Processos • Para evitar o fracasso da melhoria... • Apoio da administração da empresa • Gerentes de projeto devem participar • Todos devem estar envolvidos • Investimentos significativos • Divisão da melhoria em etapas definidas.

  20. Melhoria de Processos • Para continuar depois do sucesso... • Grupo cuja função é melhorar os processos • Estrutura organizacional adequada • Desenvolvimento de padrões, modelos, exemplos, etc... • Treinamento • Mecanismos de controle e verificação • Modelo para melhoria de processos • Modelo IDEAL • Desenvolvido pela Carnegie-Mellon University

More Related