430 likes | 698 Views
Gestão de Projetos de Software. Gerenciamento de Projeto. É uma tarefa importante de planejamento, direção, motivação e coordenação de grupos profissionais para acompanhar o desenvolvimento de um software. São usados Conceitos gerais Conceitos específicos - Visibilidade. O que gerenciar?.
E N D
Gerenciamento de Projeto • É uma tarefa importante de planejamento, direção, motivação e coordenação de grupos profissionais para acompanhar o desenvolvimento de um software. • São usados • Conceitos gerais • Conceitos específicos - Visibilidade
O que gerenciar? • Gerenciamento orientado ao processo • Gerenciamento de pequenas tarefas no ciclo de vida do software é enfatizado. • Gerenciamento de Projeto • Ênfase no Projeto • Sucesso ou fracasso são diretamente atribuídos à equipe.
Gerenciamento de Projeto • Projeto de Software bemsucedidodepende de umaeficazGerência de Projeto • Gerência de Projetos • Abrangetodo o processo de desenvolvimento. • Envolve: • o escopo do trabalho a ser feito • osriscos a que se incorre • osrecursosexigidos • as tarefas a seremexecutadas • o esforço (custo) despendido • a programação a ser seguida
ElementosChavedaGerência de Projetos • Objetivos e Escopo do Projeto • Medidas e Métricas • Estimativa • Análise de Riscos • Determinação de Prazos • Monitoração e Controle
Mas antes temos que Planejar ... • Atividade fundamental do PROCESSO DE GERENCIAMENTO e ADMINISTRAÇÃO de projetos “Planejar é preciso ... “ • Planejar é a primeira camada do processo de desenvolvimento do software.
Objetivos do Planejamento • fornecer uma estrutura que possibilite ao gerente • fazer estimativas razoáveis de recursos, custos e prazos • estimar recursos necessários ao desenvolvimento do software: • - recursos humanos • - de hardware • - de software • identificar tarefas a serem efetuadas • elaborar cronogramas • estimar esforço (custo) despendido
Planejamento • Estabeleça as restrições do projeto • Faça a avaliação inicial dos parâmetros do projeto • Defina os marcos do projeto e os produtos a serem entregues • While projeto não estiver terminado ou cancelado • Faça a programação do projeto • Inicie as atividades de acordo com programação • Aguarde • Examine o progresso do projeto • Revise as estimativas de parâmetros do projeto • Atualize a programação do projeto • Reanalise as restrições do projeto e os produtos a serem entregues • If surgirem problemas then • Inicie revisão técnica • End if • End While
5W2H • Why – por que o sistema está sendo desenvolvido? • Justifica gastos com recursos, ... • What – o que vai ser feito? • Conjunto de tarefas • When – quando vai ser feito? • Cronograma • Who – quem é o responsável por uma função?
5W2H • Where – onde está na organização? • How – Como o trabalho será conduzido? • Uma vez estabelecido escopo deve se estabelecer estratégia gerencial e técnica • How much – quanto vai custar? • estimativas
possibilita Objetivos e Escopo do Projeto PLANEJAMENTO DO PROJETO início • estabelecer objetivos e escopo • considerar soluções alternativas • identificar restrições administrativas e técnicas • Definir estimativas de custo razoáveis (e precisas) • Divisão realística das tarefas de projeto • Programação de projeto administrável que ofereça indícios significativos de progresso
Objetivos e Escopo do Projeto • O desenvolvedor e o cliente reunem-se para definir os objetivos e o escopo do projeto. Objetivos: • identificam as metas globais do projeto sem levar em consideração como essas metas serão atingidas • Escopo: • identifica as funções primárias que o software deve realizar e tenta delimitar essas funções de uma forma quantitativa.
Escopo do Software • Primeira atividade • O escopo do software descreve • a função • o desempenho • processamento e tempo de resposta • as restrições • limites impostos ao software pelo hardware externo, memória disponível, outros sistemas
Escopo do Software • as interfaces • hardware que executa o software e dispositivos que são indiretamente controlados pelo software • software que já existe e deve ser ligado ao novo produto (banco de dados) • pessoas que fazem uso do software (periféricos de E/S) • a confiabilidade • menos preciso • não é possível quantificar a confiabilidade do software tão precisamente no escopo • sistema de controle de tráfego aéreo, controle de estoque, processador de texto, etc...
Recursos • Segunda atividade: estimativa dos recursos exigidos para desenvolver o software • recursos humanos • recursos de hardware • recursos de software
Recursos Humanos • Tanto os profissionais (engenheiros, gerentes) quanto as especialidades são definidas • Projetos Pequenos: uma única pessoa por ano • consulta a especialistas quando necessário
Recursos Humanos • Projetos Grandes: participação varia através do ciclo de vida • estimativa de esforço de desenvolvimento (pessoas-mês, pessoas-ano) • técnicas • estimativas de linha de código (LOC): contar linhas de código • estimativa pontos por função (FP - functionpoint): concentrar na funcionalidade ou utilidade do software • medidas indiretas • relação empírica baseada em medidades de informações e complexidade
Recursos de Hardware • Três categorias • o hardware de desenvolvimento (host system) • um computador e os periféricos relacionados que serão usados durante o desenvolvimento do software • o hardware de produção (target machine) • máquina que o software será executado • multi-usuário, distribuído • elementos de hardware do novo sistema • software de cálculo numérico deve ter um recurso específico
Recursos de Software (Ferramentas) • Usamos hardware para construir um novo hardware • Usamos software para auxiliar no desenvolvimento de um novo software
Medidas e Métricas • As medições e as métricas ajudam-nos a entender o processo técnico usado para se desenvolver um produto, como também o próprio produto. • O processo é medido num esforço para melhorá-lo. • O produto é medido num esforço para aumentar sua qualidade.
Estimativas • guiadas pela experiência passada • projetos semelhantes • tamanho e funções • mesma quantidade de esforço • mesmo tempo no calendário • custo mesmo • novos projetos • Experiência passada não é suficiente • técnicas de estimativa disponibilizadas para o desenvolvimento de software
Estimativas • Primórdios da computação • um erro nas estimativas de custo de software tinha pouco impacto • Atualmente • software é um elemento “caro” • custo pode ser desastroso para o desenvolvedor • Oferece ao planejador as informações necessárias para concluir as atividades de planejamento do projeto
Estimativas • Nunca serão exatas, são afetadas por variáveis humanas, técnicas, ambientais e políticas • Para se ter estimativas com graus aceitáveis de risco, opções: 1) retardar as estimativas do projeto L 2) usar técnicas de decomposição (dividir o problema complexo em pequenos problemas) 3) desenvolver modelo empírico 4) adquirir ferramentas de estimativa
Análise de Riscos • áreas de “incerteza” • as necessidades são entendidas? • técnicas e ferramentas computacionais • é crucial para um bom gerenciamento de projetos • Segundo Gilb (1988): “Se você não atacar ativamente os riscos (técnicos e de projeto), eles atacarão ativamente”
Determinação de Prazos • programação de atividades para sua realização • cronograma das atividades • tarefas • pessoas • recursos
Monitoração e Controle • Monitorar as atividades e controlar as atividades, a fim de que as atividades: • Dentro do prazo • Dentro dos custos • Se foram executadas
Qualidade de Software "Concordância com os Requisitos Funcionais e deDesempenho explicitamente colocados, Padrões de Desenvolvimento explicitamente documentados e características implícitas que são esperadas de todo profissional que desenvolve software”