Eng.ª do Software - 6. Gestão de projectos

43
ENGENHARIA DO SOFTWARE I Manuel Menezes de Sequeira DCTI, ISCTE-IUL [email protected] , D6.02 As apresentações desta série baseiam-se nas apresentações disponibilizadas por Ian Sommerville , tendo sido alteradas e adaptadas primeiro por Anders Lyhne Christensen e finalmente por Manuel Menezes de Sequeira.

description

Gestão de projectos. Unidade de Engenharia do Software I para o curso de METI no ISCTE-IUL no 2.º semestre do ano lectivo de 2009/2010.

Transcript of Eng.ª do Software - 6. Gestão de projectos

ENGENHARIA DO SOFTWARE I

Manuel Menezes de Sequeira

DCTI, ISCTE-IUL

[email protected], D6.02

As apresentações desta série baseiam-se nas apresentações disponibilizadas por Ian Sommerville, tendo sido alteradas e adaptadas primeiro por  Anders Lyhne Christensen e finalmente por Manuel

Menezes de Sequeira.

Engenharia do Software I 2

Na aula anterior

Introdução ao Scrum

2009/2010

Engenharia do Software I 3

Gestão de projectos

2009/2010

Engenharia do Software I 4

Sumário

Gestão de projectosActividades de gestãoPlaneamento de projectosCalendarização de projectosGestão do risco

2009/2010

Engenharia do Software I 5

Objectivos Explicar tarefas principais executadas por gestores de

projecto

Apresentar gestão de projectos e descrever suas características distintivas

Discutir planeamento de projectos e processo de planeamento

Mostrar como gestão de projectos usa representações gráficas da calendarização

Discutir noção de risco e o processo de gestão de risco

2009/2010

Engenharia do Software I 6

Gestão de projectos de software Preocupa-se com actividades garantindo

Entrega atempada do software (de acordo com calendarização)

Respeito dos requisitos das organizações que desenvolvem e adquirem o software

Necessária porque desenvolvimento sujeito a restrições orçamentais e de calendário definidas por organização que o desenvolve

2009/2010

Engenharia do Software I 7

Particularidades da gestão de projectos de software

ProdutoIntangívelUnicamente flexível

Menos reconhecida que outras engenharias

Processo não normalizado Muitos projectos únicos

2009/2010

Engenharia do Software I 8

Actividades da gestão de projectos Elaboração de propostas Planeamento e calendarização Custeio Monitorização e revisão Selecção e avaliação de pessoal Elaboração de relatórios e

apresentações

2009/2010

Engenharia do Software I 9

Aspectos genéricos da gestão de projectos Actividades não específicas da gestão de

software

Muitas técnicas de gestão de projectos de engenharia aplicam-se também à gestão de projectos de software

Sistemas de engenharia tecnicamente complexos tendem a ter mesmos problemas que sistemas de software

2009/2010

Engenharia do Software I 10

Pessoal

Pode acontecerNão se consegue as pessoas ideaisOrçamento impossibilita pessoal bem pagoOrganização deseja desenvolver

competências de pessoal usando um projecto

Gestores têm de lidar com estes limites, especialmente quando escasseia pessoal com treino adequado

2009/2010

Engenharia do Software I 11

Planeamento de projectos Provavelmente actividade mais morosa da

gestão de projectos

Actividade contínuaDa concepção inicial à entrega do sistemaPlanos revistos regularmente quando surge nova

informação

Vários tipos de plano suportam plano principal do projecto de software (focado em calendarização e orçamentação)

2009/2010

Engenharia do Software I 12

Tipos de plano de projectoTipo de plano Descrição

Plano de qualidade Descreve procedimentos e normas de qualidade a usar.

Plano de validação Descreve a abordagem, recursos e calendarização a usar para validação do sistema.

Plano de gestão de configurações

Descreve os procedimentos e estruturas de gestão de configuração a usar.

Plano de manutenção Prevê os requisitos, os custos e o esforço de manutenção do sistema.

Plano de desenvolvimento do pessoal

Descreve forma de desenvolvimento das competências e experiência do pessoal.

2009/2010

Engenharia do Software I 13

Processo de planeamento de projectos Estabelecer restrições do projecto Aferir parâmetros do projecto Definir marcos e entregáveis do projecto Enquanto o projecto não terminar ou for cancelado

Desenhar calendário do projectos Iniciar actividades de acordo com o calendário Esperar (algum tempo) Analisar progresso do projecto Rever estimativas de parâmetros do projecto Actualizar calendário do projecto Renegociar restrições e entregáveis do projecto Se surgirem problemas

○ Iniciar análise técnica e possível revisão

2009/2010

Engenharia do Software I 14

Plano (principal) do projecto Estabelece

Recursos disponíveisDivisão do trabalhoCalendário do trabalho

2009/2010

Engenharia do Software I 15

Estrutura do plano do projecto

Introdução Organização Análise de risco Requisitos de recursos de hardware e

software Divisão do trabalho Calendário Mecanismos de monitorização e reporte

2009/2010

Engenharia do Software I 16

Organização de actividades De modo a produzir resultados tangíveis

para gestão poder aferir progresso

Marcos ocorrem no final de actividades

Entregáveis são resultados fornecidos aos clientes

Processo em cascata facilita definição de marcos de progresso

2009/2010

17Engenharia do Software I

Marcos do processo de eliciação de requisitos

Estudo de viabilidade

Análise de requisitos

Desenvolvimento de protótipo

Estudo de desenho

Especificação de requisitos

Relatório de viabilidade

Requisitos do utilizador

Relatório de avaliação

Desenho arquitectural

Requisitos do sistema

Actividades

Marcos (e entregáveis)

2009/2010

Engenharia do Software I 18

Calendarização do projecto Dividir projecto em tarefas com duração e

recursos estimados

Organizar tarefas em paralelo optimizando ocupação do pessoal

Minimizar dependência entre tarefas evitando que tarefas esperem por outras

Assenta na intuição e experiência de gestores de projecto

2009/2010

19Engenharia do Software I

Processo de calendarização de projectos

Identificar actividades

Identificar dependências

Estimar recursos

Afectar pessoal

Criar gráficos

Requisitos do software

Gráficos de actividades e de

barras

2009/2010

Engenharia do Software I 20

Problemas de calendarização Difícil estimar dificuldade de problemas e

custo de desenvolvimento

Produtividade não proporcional a número de pessoas envolvidas em tarefa

Mais pessoas em projecto atrasado pode atrasá-lo mais (custos de comunicação)

Inesperado acontece: prever contingências

2009/2010

Engenharia do Software I 21

Gráficos de barras e redes de actividades Notações gráficas ilustrando calendário do projecto

Mostram divisão em tarefasNão definir tarefas demasiado pequenasDe uma a duas semanas

Gráficos de actividades mostram dependências e caminho crítico

Gráficos de barras mostram calendário ao longo do tempo

2009/2010

Engenharia do Software I 22

Duração e dependênciasActividade Duração (dias) Dependências

A1 8

A2 15

A3 15 A1 (M1)

A4 10

A5 10 A2, A4 (M2)

A6 5 A1, A2 (M3)

A7 20 A1 (M1)

A8 25 A4 (M5)

A9 15 A3, A6 (M4)

A10 15 A5, A7 (M7)

A11 7 A9 (M6)

A12 10 A11 (M8)

2009/2010

23Engenharia do Software I

Rede de actividades

2009/2010

Actividade Dias Dependências

A1 8

A2 15

A3 15 A1 (M1)

A4 10

A5 10 A2, A4 (M2)

A6 5 A1, A2 (M3)

A7 20 A1 (M1)

A8 25 A4 (M5)

A9 15 A3, A6 (M4)

A10 15 A5, A7 (M7)

A11 7 A9 (M6)

A12 10 A11 (M8)

InícioFim

A1

A3

A4

A5

A6

A7

A8

A9

A2A10

A11

A12

M1

M2

M5

M3M4

M7

M6M8

8

15

10

5

15

15

10

25

7

10

15

20

2003-07-04

2003-07-14

2003-07-25

2003-07-25

2003-07-18

2003-08-11

2003-08-04 2003-08-252003-09-05

24Engenharia do Software I

Linha do tempo de actividades

2009/2010

início

2003-07-04 07-11 07-18 07-25 08-01 08-08 08-15 08-22 08-29 09-05 09-12 09-19

A4

A1

A2

M1

A7

A3

M5

A8

M3

M2

A6

A5

M4

A9

M7

A10

M6

A11

M8

A12

fim

25Engenharia do Software I

Afectação de pessoal

2009/2010

João

2003-07-04 07-11 07-18 07-25 08-01 08-08 08-15 08-22 08-29 09-05 09-12 09-19

A4

A1

A7

A3

A8

A6

A5

A10

A11

A12

Joana

A2

Ana

Jorge

Maria

Engenharia do Software I 26

Gestão do risco Identificação de riscos e elaboração de

planos para minimizar impacte em projecto

Risco é probabilidade de ocorrer circunstância adversaDe projecto: afecta calendário e recursosDe produto: afecta qualidade ou desempenho

do software em desenvolvimentoDo negócio: afecta organização desenvolvendo

ou adquirindo o software

2009/2010

Engenharia do Software I 27

Riscos de softwareRisco Afecta Descrição

Rotatividade do pessoal

Projecto Pessoal experiente sai a meio do projecto.

Mudanças na gestão

Projecto Alterações da gestão organizacional com diferentes prioridades.

Indisponibilidade de hardware

Projecto Hardware essencial não é fornecido atempadamente.

Alterações nos requisitos

Projecto e produto

Maior número de alterações de requisitos que previsto.

Atrasos de especificação

Projecto e produto

Especificações de interfaces essenciais não estão disponíveis atempadamente.

2009/2010

Engenharia do Software I 28

Riscos de softwareRisco Afecta Descrição

Dimensão subestimada Projecto e produto

Dimensão do sistema foi subestimada.

Desempenho medíocre de ferramentas CASE

Produto Ferramentas CASE de suporte não têm desempenho previsto.

Alterações tecnológicas Negócio Tecnologia de base do sistema ultrapassada por nova tecnologia.

Competição no produto Negócio Produto competitivo lançado antes do sistema estar terminado.

2009/2010

Engenharia do Software I 29

Processo de gestão de riscoIdentificação de risco Identificar riscos de projecto, produto e

negócio.

Análise de risco Aferir probabilidade e consequências dos riscos.

Planeamento de risco Elaborar planos para evitar e minimizar efeitos dos riscos.

Monitorização de risco Monitorizar os riscos ao longo do projecto.

2009/2010

30Engenharia do Software I

Processo de gestão de risco

Identificação de risco

Planeamento de risco

Monitorização de risco

Lista de riscos potenciais

Lista de riscos prioritizada

Planos de prevenção de riscos e de contingência

Aferição de riscos

Análise de risco

2009/2010

Engenharia do Software I 31

Identificação de risco

RiscosTecnológicosDe pessoalOrganizacionaisDe ferramentasDe requisitosDe estimativa

2009/2010

Engenharia do Software I 32

Riscos e tipos de riscosTipo de risco Possíveis riscos

Tecnológico Insuficiente desempenho da base de dados.Componentes a reutilizar têm defeitos limitativos.

De pessoal Impossível recrutar competências necessárias.Pessoas chave adoecem em alturas críticas.Indisponível formação necessária para pessoal.

Organizational Reestruturação altera gestão do projecto.Problemas financeiros reduzem orçamento.

De ferramentas Código gerado por ferramentas CASE é ineficiente.Ferramentas CASE não se podem integrar.

De requisitos Alterações de requisitos exigem redesenho completo. Cliente não entende impacte de alterações pedidas.

De estimativa Tempo para desenvolver software subestimado.Ritmo de reparação de defeitos subestimado.Dimensão do software subestimada.

2009/2010

Engenharia do Software I 33

Análise de risco Aferir probabilidade e impacte de riscos

Probabilidade○ Muito baixa○ Baixa○ Moderada○ Alta○ Muito alta

Impacte○ Insignificante○ Tolerável○ Sério○ Catastrófico

2009/2010

34

Análise de riscoRisco Probabil. Impacte

Problemas financeiros reduzem orçamento. Baixa Catastrófico

Impossível recrutar competências necessárias.

Alta Catastrófico

Pessoas chave adoecem em alturas críticas.

Moderada Sério

Componentes a reutilizar têm defeitos limitativos.

Moderada Sério

Alterações de requisitos exigem redesenho completo.

Moderada Sério

Reestruturação altera gestão do projecto. Alta Sério

Insuficiente desempenho da base de dados. Moderate Sério

Tempo para desenvolver software subestimado.

Alta Sério

2009/2010 Engenharia do Software I

35

Análise de riscoRisco Probabil. Impacte

Ferramentas CASE não se podem integrar. Alta Tolerável

Cliente não entende impacte de alterações pedidas.

Moderada Tolerável

Indisponível formação necessária para pessoal.

Moderada Tolerável

Ritmo de reparação de defeitos subestimado.

Moderada Tolerável

Dimensão do software subestimada. Alta Tolerável

Código gerado por ferramentas CASE é ineficiente.

Moderada Insignificante

2009/2010 Engenharia do Software I

Engenharia do Software I 36

Estratégias de planeamento de riscoPrevenção Reduzir probabilidade de ocorrência do risco.

Minimização Reduzir impacte do risco sobre o projecto ou o produto.

Planos de contingência

Elaborar planos para lidar com o risco no caso de este ocorrer.

2009/2010

Engenharia do Software I 37

Estratégias de planeamento de riscoRisco Estratégia

Problema financeiro organizacional

Preparar um documento destinado à gestão de topo com informação essencial mostrando que o projecto está a dar contributos importantes para os objectivos do negócio.

Problema de recrutamento

Alertar cliente sobre potenciais dificuldades e possíveis atrasos; investigar aquisição de componentes.

Doença de pessoal

Reorganizar equipa para o trabalho se sobreponha mais e, por isso, os colaboradores conheçam o trabalho uns dos outros.

Componentes defeituosos

Substituir componentes potencialmente defeituosos por componentes adquiridos com fiabilidade conhecida.

2009/2010

Engenharia do Software I 38

Estratégias de planeamento de riscoRisco Estratégia

Alterações nos requisitos

Obter informação de rastreamento para aferir o impacte das alterações nos requisitos; maximizar ocultação de dados no desenho.

Reestruturação organizacional

Preparar um documento destinado à gestão de topo com informação essencial mostrando que o projecto está a dar contributos importantes para os objectivos do negócio.

Desempenho da base de dados

Investigar possibilidade de adquirir uma base de dados com maior desempenho.

Tempo de desenvolvimento subestimado

Investigar a aquisição de componentes; investigar a utilização de um gerador de programas.

2009/2010

Engenharia do Software I 39

Monitorização de risco

Aferir regularmenteProbabilidade dos riscos identificadosImpacte dos riscos identificados

Discutir cada um dos riscos durante reuniões de gestão sobre progresso do projecto

2009/2010

Engenharia do Software I 40

Indicadores de riscoTipo de risco Indicadores potenciais

Tecnológico Fornecimento tardio de hardware ou de software de suporte; muitos reportes de problemas tecnológicos.

De pessoal Moral do pessoal em baixo; fraco relacionamento entre membros da equipa; disponibilidade de ofertas de trabalho.

Organizacional Intrigas organizacionais; gestão de topo não age.

De ferramentas Membros da equipa relutantes em usarem ferramentas; queixas acerca de ferramentas CASE; pedidos de estações de trabalho mais poderosas.

De requisitos Muitos pedidos de alteração de requisitos; reclamações do cliente.

De estimativa Ultrapassagem de prazos calendarizados; defeitos reportados não são resolvidos.

2009/2010

Engenharia do Software I 41

A reter Sucesso do projecto implica boa gestão

Software intangível gera problemas de gestão

Gestores com diferentes papéis; actividades mais significativasPlaneamentoEstimaçãoCalendarização

Planeamento e estimação iterativos e durante todo o projecto

2009/2010

Engenharia do Software I 42

A reter Marcos são estados previsíveis nos quais

relatórios formais de progresso são entregues à gestão

Calendarização envolve preparar gráficos mostrando actividades, suas durações e dependências, e afectação de recursos

Gestão do risco Identifica riscos que podem afectar projectoPlaneia para garantir que riscos não se tornam ameaças

sérias

2009/2010

Engenharia do Software I 43

A ler

Ian Sommerville, Software Engineering, 8.ª edição, Addison-Wesley, 2006

Capítulo 5

2009/2010