UENP - FALM Análise e Projeto de Sistemas III Prof. José Reinaldo Merlin
Ementa Planejamento de Projeto de Software Garantia de Qualidade de Software Testes de Software Manutenção Reengenharia e Gerenciamento de Configuração
Livro texto: Engenharia de Software – Ian Sommerville 1ª Prova: 28/03/2008 Capítulos 4 e 24 Norma ISO 9126 e CMMI 2ª Prova: 06/06/2008 Teste de software Manutenção e reengenharia Gerenciamento de configuração
Capítulo 4 – Gerenciamento de Projetos Sumário: Atividades de Gerenciamento Planejamento de Projeto Programação de Projeto Gerenciamento de Riscos
Ponto de vista da disciplina: Projetos médios e grandes Vistos sob a óptica gerencial Foco na qualidade do software (produto e processo)
Introdução Crise do software (década de 60 e 70): evidenciou necessidade de gerenciamento Custo – os projetos custavam mais do que o previsto Prazo – os projetos duravam mais do que o previsto Qualidade – muito abaixo do esperado Razão do fracasso: mau gerenciamento Problemas foram resolvidos? 16,2% dos projetos foram entregues no prazo (Chaos Report, 2004) Os problemas continuam presentes no desenvolvimento de software
Introdução Papel do gerente: Planejar e programar o desenvolvimento Supervisionar o trabalho
Introdução O que é um projeto de software? Empreendimento temporário que resulta no produto de software Dificuldades no gerenciamento de projetos de software: O produto é intangível Difícil “ver” (medir, quantificar) o progresso Não há processo de software padrão ES é uma disciplina “nova” Grandes projetos de software são, geralmente, projetos únicos
Atividades de Gerenciamento O trabalho do gerente varia de acordo com a organização e o produto a ser desenvolvido No entanto, algumas atividades são básicas: Elaboração de propostas Planejamento e programação de projetos Custo do projeto Monitoramento e revisões Seleção e avaliação de pessoal Elaboração de relatórios e apresentações
Planejamento de projeto Gerenciamento eficaz depende de um bom planejamento Início do planejamento: avaliação das restrições Prazo, pessoal disponível, orçamento, outros Uma programação é traçada e o projeto começa Periodicamente o andamento é monitorado e as discrepâncias são examinadas e corrigidas
Planejamento de projeto Plano de projeto Documento resultado do planejamento Deve conter: Introdução Organização: equipe e o papel de cada um Análise de riscos Requisitos de hardware e software Estrutura analítica: atividades, marcos e produtos Programação: dependências, tempo, alocação de pessoas Mecanismos de monitoramento
Planejamento de projeto Marcos e produtos a serem entregues: Marco é um ponto final em uma atividade do processo Produto a ser entregue: resultado do projeto entregue ao cliente ao final de uma fase importante (especificação, projeto) Produto é um marco Um marco nem sempre é um produto (pode ser resultado interno do projeto que pode ser utilizado para verificação do andamento sem ser entregue ao cliente)
Planejamento de projeto Marcos e produtos a serem entregues:
Programação do projeto Os gerentes estimam o tempo e os recursos para completar as atividades e os organizam em uma seqüência coerente. Programação do projeto: Dividir o trabalho total em atividades distintas Avaliar o tempo necessário para completar essas atividades
Programação do projeto Os gerentes devem ser pessimistas ao fazerem estimativas Programação geralmente é apresentada em um conjunto de diagramas (Microsoft Project, jxProject)
Programação do projeto Diagramas de barras e redes de atividades: Notações gráficas utilizadas para ilustrar a programação do projeto Diagrama de barras: quem é o responsável e quando é o início e término Redes de atividades: mostram as dependências entre as atividades
Programação do projeto Diagramas de barras e redes de atividades: A tarefa 3 depende da conclusão da tarefa
Programação do Projeto Rede de atividades
Programação do Projeto flexibilidade
Programação do Projeto Alocação de pessoas às tarefas
Programação do Projeto Tarefas e dependências
Gerenciamento de riscos Identificar os riscos e traçar planos para minimizar seus efeitos Risco: probabilidade de que um alguma circunstância adversa venha a ocorrer Riscos relacionados ao projeto: Programação e recursos Riscos relacionados ao produto: Qualidade e desempenho Riscos para os negócios: Afetam a organização
Gerenciamento de riscos Por que é importante? Incertezas inerentes a maioria dos projetos Requisitos mal definidos Dificuldade em se estimar os prazos Processo de gerenciamento de riscos Identificação de riscos Análise de riscos Planejamento de riscos Monitoramento de riscos
Para finalizar... Com relação ao planejamento [de projeto] de software, a definição das atividades do negócio do cliente que serão suportadas pelo software e os dados quantitativos, tais como o tempo de resposta e o número de usuários, deve ocorrer: a) na estimativa do custo b) no estabelecimento do escopo a ser realizado c) no estabelecimento do cronograma d) na estimativa dos recursos necessários e) no planejamento organizacional