Gestão de Projetos de Software. Gerenciamento de Projeto É uma tarefa importante de planejamento,...
-
Upload
thomas-solorio -
Category
Documents
-
view
216 -
download
0
Transcript of Gestão de Projetos de Software. Gerenciamento de Projeto É uma tarefa importante de planejamento,...
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?
• 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 bem sucedido depende de uma eficaz
Gerência de Projeto• Gerência de Projetos
– Abrange todo o processo de desenvolvimento.– Envolve:
• o escopo do trabalho a ser feito• os riscos a que se incorre• os recursos exigidos• as tarefas a serem executadas• o esforço (custo) despendido• a programação a ser seguida
Elementos Chave da Gerê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
Objetivos e Escopo do Projeto
estabelecer objetivos e escopo considerar soluções alternativas identificar restrições administrativas e técnicas
PLANEJAMENTO DO PROJETOinício
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
possibilita
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 - function point): 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
19
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 L2) usar técnicas de decomposição (dividir o
problema complexo em pequenos problemas)3) desenvolver modelo empírico4) 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 de Desempenho explicitamente colocados, Padrões de Desenvolvimento explicitamente documentados e
características implícitas que são esperadas de todo profissional que desenvolve software”