Aula5 – Gestão de Processos de Software

Propaganda
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
início



PLANEJAMENTO DO
PROJETO
estabelecer objetivos e escopo
considerar soluções alternativas
identificar restrições administrativas e técnicas
possibilita



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 - 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)

–
o hardware de produção (target machine)


–
um computador e os periféricos relacionados que serão usados
durante o desenvolvimento do software
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
19
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
–

Atualmente
–
–

um erro nas estimativas de custo de software tinha pouco
impacto
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 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”
Download