View
45
Download
0
Category
Preview:
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
Melhoria de Processos de Software
Análise de Sistemas de SoftwareProf. 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 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
Organizações Prejuízos da imaturidade
Problemas se repetem em todo projeto...Trabalho excessivo e stressante
CompromissosOrganizaçõ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.
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
Organizações Escala
Quanto maior, mais complexo...Medida: LOCAgravantes
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
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...
OrganizaçõesEscala LOC Como ser feitoMuito pequena
Até 100 Um bom programador pode fazer intuitivamente
pequena Até 1.000 Um bom programador consegue fazer com processos informais
média Até 10.000 Um bom programador consegue fazer com processos definidos
Grande Até 100.000 Uma equipe consegue fazer com processos definidos
Muito grande
Até 1.000.000 Uma organização consegue fazer com processos definidos
Múltipla Mais de 1.000.000
Conjunto de organizações cooperantes
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
Organizações Vantagens da Construção em estágios
Prazos reduzidos para fornecer produtoRedução da incerteza de requisitosPossibilidade 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.
Organização Desvantagens da construção em estágios
Divisão em partes deve ser planejada Não é simples integrar diversas partesEstrutura de testes provisória
Testar funcionalidades possivelmente incompletasDesenvolvimento de um estágio
Pode iniciar-se antes do anterior ser aceito Problema: Difícil gerência de diversas versões
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
Organizações Organizações imaturas...
Cometem erros clássicos
Pessoas
TecnologiasProcessos
Organizações Erros relativos ao produto
Introdução de características interessantes mas dispensáveis.
Adição descontrolada de requisitosDesenvolvimento orientado a pesquisa
Erros relativos ao processoEsperdício de tempo no início do projetoPressões causadas por prazos otimistasPlanejamento insuficienteFalta de controle gerencial.
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
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
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
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
Melhoria de Processos Benefícios
Requisito correto é 50 a 200 x mais barato Desenho correto é 10 x mais baratoRefazer 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%
Melhoria de Processos Para evitar o fracasso da melhoria...
Apoio da administração da empresaGerentes de projeto devem participarTodos devem estar envolvidos Investimentos significativosDivisão da melhoria em etapas definidas.
Melhoria de Processos Para continuar depois do sucesso...
Grupo cuja função é melhorar os processosEstrutura organizacional adequadaDesenvolvimento de padrões, modelos,
exemplos, etc...TreinamentoMecanismos de controle e verificação
Modelo para melhoria de processosModelo IDEAL
Desenvolvido pela Carnegie-Mellon University
Recommended