gerenciamento de projeto de softwaremaria/arqan/2012-1/cap4-cronograma.pdf · gerenciamento de...
Post on 06-Dec-2018
216 Views
Preview:
TRANSCRIPT
Gerenciamento de Projeto de Software
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 1Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
Leitura:Sommerville - Pressman
Gerenciamento de Projeto de Software(Planejamento)
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 2Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
� Elaboração de propostas (planejar)
� Planejamento de atividades e cronogramas (planejar)
� Elaboração de custos (planejar)
Gerenciamento de Projeto de Software(Atividades de Gerenciamento)
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 3Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
� Monitoramento e revisões (controlar, revisar)
� Seleção e avaliação de pessoal (garantir)
� Elaboração de relatórios e apresentações.
Gerenciamento de Projeto de Software(Rede de dependências)
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 4Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
Gerenciamento de Projeto de Software(Planejamento de Projeto)
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 5Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
Gerenciamento de Projeto de Software(Planejamento de Atividades)
• O planejamento deve ser baseado em estimativas de tempo (duração entre 1 e 3 semanas, não sendo aconselhável ultrapassar 10 semanas).
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 6Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
• O planejamento deve ser baseado em julgamento da complexidade das tarefas, que são necessariamente imprecisos.
Gerenciamento de Projeto de Software(Planejamento de Atividades)
• As estimativas devem considerar que problemas irão ocorrer:
• O Sommerville ���� aumento de 50% sobre a estimativa original (totalmente arbitrária).
• Pressman sugere a seguinte fórmula para estimar
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 7Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
• Pressman sugere a seguinte fórmula para estimar valores esperados:
S = (Spes + 4 x Smed + Sotm) / 6
( Spes = estimativa pessimista / Smed = estimativa provável / Sotm = estimativa otimista).
� Um risco pode ser entendido como a probabilidade de ocorrência de alguma circunstância adversa.
• Riscos do projeto. Afetam o cronograma ou os recursos.
Gerenciamento de Projeto de Software(Gerenciamento de Riscos)
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 8Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
• Riscos do produto. Afetam a qualidade do produto.
• Riscos da organização. Afetam a sobrevivência da organização desenvolvendo ou contratando o software.
Gerenciamento de Projeto de Software(Gerenciamento de Riscos)
Rotatividade de Pessoal
Pessoal experiente deixa o projeto antes do tempo
Riscos no Projeto
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 9Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
Mudança de Gerenciamento
Novo gerenciamento com prioridades diferentes.
Indisponibilidade de hardware
Hardware não entregue no prazo.
Gerenciamento de Projeto de Software(Gerenciamento de Risco)
Alteração nos requisitos Maior número de mudanças nos requisitos do que o previsto.
Atrasos na especificação Interfaces essencias não
Riscos no Produto
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 10Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
Atrasos na especificação Interfaces essencias não disponíveis no prazo.
Tamanho subestimado Erro no dimensionamento do sistema.
Baixo desempenho da ferramentas CASE
Ferramentas de baixa qualidade.
Gerenciamento de Projeto de Software(Gerenciamento de Risco)
Mudanças na tecnologia A tecnologia básica sobre a qual o sistema está sendo construído foi superada por nova
Riscos de Negócios
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 11Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
superada por nova tecnologia.
Concorrência com o produto
Um produto concorrente foi lançado no mercado, antes que o sistema fosse concluído.
Gerenciamento de Projeto de Software(��������)
Evento de Risco Software necessário para implementar o banco de dados para a operação do sistema
Probabilidadedo Risco
• 75% de chance de que o software não esteja disponível.• 90% de chance de que o software, se disponível, terá um desempenho fraco
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 12Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
disponível, terá um desempenho fraco
Impacto O desenvolvimento não terminará em tempo, a qualidade final do projeto será comprometida se a tecnologia não for instalada propriamente
Resposta Encontrar uma parceiro que possa prover a nova tecnologia
Gerenciamento de Projeto de Software(��������)
Evento de Risco Indisponibilidade da infraestrutura de desenvolvimento (espaço físico, ferramentas de software e hardware) não disponível nos momentos delimitados no plano do projeto.
A sala atual permite apenas 2 pessoas. Uma nova sala ainda será construída
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 13Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
Probabilidadedo Risco
Alta: ampliação do espaço físico depende deaprovação da prefeitura e liberação do dinheiro
Impacto Alta: Impossibilidade de aumentar a equipe para trabalhar em módulos em paralelo.
Resposta Negociação de infraestrutura com a gerência da TI local
Gerenciamento de Projeto de Software(��������)
Evento de Risco Dificuldade de comunicação devido a distribuição geográfica da equipe
Probabilidadedo Risco
Média – ferramentas de comunicação indisponíveis; necessidades de reuniões presenciais.
O projeto é composto por uma equipe distribuída entre São Luis e Imperatriz
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 14Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
do Risco
Impacto Alto - Atraso no cronograma devido a coordenação do trabalho
Resposta • Reuniões presenciais e virtuais de acompanhamento do projeto;• Utilização de ferramentas para compartilhamento de documentação e interação entre os membros do projeto.
Gerenciamento de Projeto de Software(��������)
Evento de Risco Indisponibilidade dos usuários das áreas de negócio para levantamento de informações durante a fase de requisitos
Probabilidade Alta – viagens (usuários têm reuniões fora
A fase de requisitos possui entrevistas com usuários de diversos setores da organização.
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 15Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
Probabilidadedo Risco
Alta – viagens (usuários têm reuniões fora da sede da empresa), férias programadas, outras atividades.
Impacto Alto - Atraso no cronograma devido a dificuldade de agendamento e realização de reuniões.
Resposta � Garantir o comprometimento dos gerentes• Definir um responsável pela agenda de entrevistas – flexibilizar
Gerenciamento de Pessoal
• Problemas– Escolha de pessoal– Alocação de atividades (tarefas)– Estilos de trabalho– Canais de Comunicação– O mito do Pessoa-Mês
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 16Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
– Dependência entre tarefas em projetos de software
• Organização da Equipe– Clássica – programador-chefe– Extreme programming
Gerenciamento de Pessoal�� �� �� � � � ������ �
• Capacidade para desempenhar a atividade• Interesse e motivação no trabalho• Experiência com
– aplicações semelhantes– ferramentas ou linguagens semelhantes
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 17Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
– ferramentas ou linguagens semelhantes– técnicas semelhantes– ambiente de desenvolvimento semelhante
• Capacidade de comunicação• Capacidade para compartilhar responsabilidades• Habilidades de gerenciamento
Gerenciamento de Pessoal� �� � � � � � � � ��� �� � � �� �� � � ���� ��� � � �� � ���
• Exemplos de atividades de um projeto:– Levantamento de requisitos– Descrição de cenários– Modelagem de Casos de Uso– Arquitetura do sistema e do software
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 18Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
– Arquitetura do sistema e do software– Projeto do Banco de Dados– Codificação e teste de unidades de software– Integração e teste de software– Manutenção
Gerenciamento de Pessoal
Tarefas da gestão de pessoal:
– Resolver problemas � Usar o pessoal disponível;– Motivar � os membros do time, de acordo com
capacidade, experiência e estilo de trabalho;
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 19Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
– Planejar � o que as pessoas têm que fazer;– Estimar � com que rapidez elas podem produzir;– Controlar � controlar as atividades das pessoas;– Organizar � a maneira como as pessoas trabalham
Gerenciamento de Pessoal� ���� � ��� � ��� �� � � �� ���� �
Quando é possível compartilhar tarefas?
– Se um trabalhador pode colher um laranjal em 10 dias, quantos trabalhadores são necessários para colher laranjal em 1 dia?
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 20Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
– Se uma mulher produz um bebê em 9 meses, quantas mulheres são necessárias para produzir um bebê em um mês?
Gerenciamento de Pessoal� ���� � ��� � ��� �� � � �� ���� �
Tarefas da engenharia de software que podem ser compartilhadas:
– Entrevistas com diversos clientes para levantamento de requisitos ( na segunda fase)
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 21Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
levantamento de requisitos ( na segunda fase)– Elaboração dos modelos da arquitetura de software – Codificação das diferentes unidades (módulos ecomponentes) de um software– Testes de unidades
Gerenciamento de Pessoal����� � �
• Para estimar a duração de uma atividade, no lugar de uma unidade de tempo, usa-se uma medida do esforço.
• O esforço mede a relação inversa entre a quantidade de pessoas e o tempo gasto para realizar
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 22Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
quantidade de pessoas e o tempo gasto para realizar a atividade.– Função inversa:
�número_de_pessoas * unidade_de_tempo = 1Unidades: pessoa-mês, homem-hora, etc.
�Por ex., 10 homens-hora significa:– 1 homem faz a atividade em 10 hora– 10 homens fazem a atividade em 1 hora
Gerenciamento de Pessoal� ���� � � � ����� �� � �
• Pessoa-mês é uma unidade de medida do esforço humano necessário para realizar uma tarefa.
– Um esforço de 3 pessoa-mês indica que:• Se existe 1 pessoa na equipe, serão gastos 3 meses para terminar a tarefa• Se existem 3 pessoas na equipe, em 1 mês a tarefa
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 23Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
• Se existem 3 pessoas na equipe, em 1 mês a tarefa estará concluída
• Mito: este raciocínio é, na maioria das situações reais, FALSO.
– As tarefas precisam ser completamente divisíveis e independentes para que seja verdadeiro.
Gerenciamento de Pessoal� � � � �! � � � � � � �� � ���
• A organização do equipe depende:
– da experiência trabalho dos membros da equipe
– estilo de trabalho dos membros da equipe
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 24Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
– do número de pessoas na equipe
– dos estilos de gerenciamento adotado no projeto
– das atividades a serem realizadas
Gerenciamento de Pessoal� �" ��� � # ��� � � �� � �� � ���
• Equipe básica– Programador-chefe
• Capacidade gerencial associada a alta capacidade deprogramação.
• Responsável pela arquitetura do software.• Aloca as tarefas de programação e controla as interfaces, interações e sincronismos.
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 25Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
interações e sincronismos.– Programador reserva
• Substituto do Prog-chefe. Deve conhecer tanto do projeto quanto ele e ter a mesma capacidade técnica e gerencial.
– Secretário (bibliotecário)• Responsável por toda a organização dos códigos, modelos e documentos produzidos
– Programadores
Gerenciamento de Pessoal$ ���� � ��� � " �� ��
• Evita a programação egoísta:– Programador trata o código como seu– Rejeição à achar falhas no seu código
• Times democráticos– Reestrutura o ambiente social e valores dos programadores– Grupos de 10 programadores “sem-ego”– O time todo é dono do código
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 26Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
– O time todo é dono do código– Cometer erros é considerado normal– Encoraja o time a encontrar erros– Maior produtividade– Atuação colaborativa na resolução de problemas difíceis
• Problemas– Precisa desabrochar espontaneamente– Dificuldade de gerenciamento
Gerenciamento de Pessoal$ �� � � � �� �
LíderProjeto
Líder LíderLíder
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 27Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
LíderEquipe
LíderEquipe
Progra-mador
Progra-mador
LíderEquipe
Progra-mador
Progra-mador
Progra-mador
Progra-mador
Progra-mador
Gerenciamento de Projeto de Software(Elaboração de Cronograma)
• O processo de elaboração de cronograma deve ser repetido várias vezes durante o projeto.
• Identifique as atividades
• Identifique as dependências entre elas
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 28Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
• Identifique as dependências entre elas
• Estime a duração de cada atividade
• Considere a disponibilidade de pessoal
• Crie gráficos de atividades para o projeto
Gerenciamento de Projeto de Software(Elaboração de Cronograma)
PERT (Programme Evaluation Review Technique -Método de Avaliação e Revisão de Programa)
• consiste de um conjunto de nodos, representando as atividades de um projeto,
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 29Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
representando as atividades de um projeto, relacionados segundo as dependências entre estas atividades.
Gerenciamento de Projeto de Software(Elaboração de Cronograma)
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 30Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
A atividade C depende das atividades A e B, enquanto as atividades D e E dependem da atividade C
Gerenciamento de Projeto de Software(Elaboração de Cronograma)
Um nodo em um diagrama PERT possui geralmente 4 campos:
• Nom. Nome da atividade• Dur. Duração da atividade.• IMC. Data de início mais cedo.
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 31Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
• IMC. Data de início mais cedo.• IMT. Data de início mais tarde
Nom DurIMC IMT
Gerenciamento de Projeto de Software(Elaboração de Cronograma)
Um diagrama PERT é construído do seguinte modo:
1) Percorre-se o diagrama a partir das atividades iniciais,calculando-se a data de início mais cedo de cada atividade.
1.1) A IMC de cada atividade inicial é 0.
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 32Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
1.1) A IMC de cada atividade inicial é 0.
1.2) A IMC de uma atividade X é igual ao maior valor(IMCy + Dury) de todas as atividades Y das quais X depende.
1.3) A duração do projeto é igual ao maior valor (IMCy + Dury)de todas as atividades finais Y.
Gerenciamento de Projeto de Software(Elaboração de Cronograma)
1.2) ICM = 0 + 5
ICM
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 33Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
1.1) ICM = 01.3) ICM = 8 + 4
Gerenciamento de Projeto de Software(Elaboração de Cronograma)
2) Percorre-se o diagrama, de volta, a partir das atividades finais, calculando-se a data de início mais tarde de cada atividade.
2.1) A IMT de cada atividade final é igual à duração do projeto
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 34Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
2.1) A IMT de cada atividade final é igual à duração do projetomenos a duração da atividade.
2.2) A IMT de uma atividade X é igual ao menor valor (IMTy – Durx) considerando-se todas as atividades Y quedependem de X.
Gerenciamento de Projeto de Software(Elaboração de Cronograma)
IMT
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 35Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
IMT = 12 – 2IMT = 12 – 4
IMT = 8 - 3IMT = 5 – 3IMT = 5 – 5
Gerenciamento de Projeto de Software(Elaboração de Cronograma)
3) A folga de cada atividade é dada pela diferença: IMT – IMC.
4) O caminho crítico é composto pelas atividades que não tem folga.
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 36Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
Gerenciamento de Projeto de Software(Elaboração de Cronograma - Exemplo)
Atividade Duração DependênciasA 3
B 2
C 4
D 3 A
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 37Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
D 3
E 5 A,B
F 2 E
G 6 C,E
H 4 D,F
I 4 F
J 6 H
K 4 G,H,I
Gerenciamento de Projeto de Software(Elaboração de Cronograma - Exemplo)
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 38Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
Gerenciamento de Projeto de Software(Elaboração de Cronograma - Exemplo)
Cálculo do ICM
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 39Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
Gerenciamento de Projeto de Software(Elaboração de Cronograma - Exemplo)
A 3
0 0
B 2
D 3
3 7
E 5 F 2
H 410 10
I 4
J 614 14
Fim
20
Cálculo do IMT
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 40Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
B 2
0 1
C 4
0 4
3 3 8 8
G 6
8 8
10 10 K 414 16
Inicio
020
Gerenciamento de Projeto de Software(Elaboração de Cronograma - Exemplo)
A 3
0 0
B 2
D 3
3 7
E 5 F 2
H 410 10
I 4
J 614 14
Fim
20
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 41Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
B 2
0 1
C 4
0 4
3 3 8 8
G 6
8 8
10 10 K 414 16
Inicio
020
Gerenciamento de Projeto de SoftwareConclusão
Um bom gerenciamento de projeto de software é essencial para
que os projetos de engenharia de software
Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / ©Ian Sommerville 2000 Slide 42Engenharia de Software 3º Edição / Roger PressmanEngenharia de Software 1º Edição / Ariadne Carvalho
sejam desenvolvidos dentro do prazo e do orçamento.
top related