1. Engenharia do Software I Manuel Menezes de Sequeira DCTI, ISCTE-IUL Manuel.Sequeira@iscte.pt, D6.02 As apresentações desta série baseiam-se nas apresentações disponibilizadas por IanSommerville, tendo sido alteradas e adaptadas primeiro por Anders Lyhne Christensen e finalmente por Manuel Menezes de Sequeira.
2. Na aula anterior Introdução ao Scrum 2009/2010 2 Engenharia do Software I
4. Sumário Gestão de projectos Actividades de gestão Planeamento de projectos Calendarização de projectos Gestão do risco 2009/2010 4 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 5 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 6 Engenharia do Software I
7. Particularidades da gestão de projectos de software Produto Intangível Unicamente flexível Menos reconhecida que outras engenharias Processo não normalizado Muitos projectos únicos 2009/2010 7 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 8 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 9 Engenharia do Software I
10. Pessoal Pode acontecer Não se consegue as pessoas ideais Orçamento impossibilita pessoal bem pago Organizaçã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 10 Engenharia do Software I
11. Planeamento de projectos Provavelmente actividade mais morosa da gestão de projectos Actividade contínua Da concepção inicial à entrega do sistema Planos 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 11 Engenharia do Software I
12. Tipos de plano de projecto 2009/2010 12 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 13 Engenharia do Software I
14. Plano (principal) do projecto Estabelece Recursos disponíveis Divisão do trabalho Calendário do trabalho 2009/2010 14 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 15 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 16 Engenharia do Software I
17. Marcos do processo de eliciação de requisitos Estudo de viabilidade Actividades Análise de requisitos Desenvolvimento de protótipo Relatório de viabilidade Estudo de desenho Requisitos do utilizador Especificação de requisitos Relatório de avaliação Desenho arquitectural Marcos (e entregáveis) Requisitos do sistema 2009/2010 17 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 18 Engenharia do Software I
19. Processo de calendarização de projectos Requisitos do software Identificar actividades Identificar dependências Estimar recursos Afectar pessoal Criar gráficos Gráficos de actividades e de barras 2009/2010 19 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 20 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 tarefas Não definir tarefas demasiado pequenas De 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 21 Engenharia do Software I
24. Linha do tempo de actividades 2009/2010 24 Engenharia do Software I 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 início A4 A1 A2 M1 A7 A3 M5 A8 M3 M2 A6 A5 M4 A9 M7 A10 M6 A11 M8 A12 fim
25. Afectação de pessoal 2009/2010 25 Engenharia do Software I 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 João A4 A8 A11 A12 Joana A1 A3 Ana A2 A6 A10 Jorge A7 Maria A5
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 adversa De projecto: afecta calendário e recursos De produto: afecta qualidade ou desempenho do software em desenvolvimento Do negócio: afecta organização desenvolvendo ou adquirindo o software 2009/2010 26 Engenharia do Software I
30. Processo de gestão de risco Identificação de risco Análise de risco Lista de riscos potenciais Planeamento de risco Lista de riscos prioritizada Monitorização de risco Planos de prevenção de riscos e de contingência Aferição de riscos 2009/2010 30 Engenharia do Software I
31. Identificação de risco Riscos Tecnológicos De pessoal Organizacionais De ferramentas De requisitos De estimativa 2009/2010 31 Engenharia do Software I
32. Riscos e tipos de riscos 2009/2010 Engenharia do Software I 32
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 Engenharia do Software I 33
39. Monitorização de risco Aferir regularmente Probabilidade dos riscos identificados Impacte dos riscos identificados Discutir cada um dos riscos durante reuniões de gestão sobre progresso do projecto 2009/2010 Engenharia do Software I 39
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 significativas Planeamento Estimação Calendarização Planeamento e estimação iterativos e durante todo o projecto 2009/2010 Engenharia do Software I 41
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 projecto Planeia para garantir que riscos não se tornam ameaças sérias 2009/2010 Engenharia do Software I 42
43. A ler IanSommerville, Software Engineering, 8.ª edição, Addison-Wesley, 2006 Capítulo 5 2009/2010 Engenharia do Software I 43