Engenharia de Software © 2002 Universidade do Porto Engenharia de Software 1 Uma História de Guerra - I A Equipa tinha 13 engenheiros, 9 de software e 4 de hardware. Foram encaregados para construir um novo sistema de hardware-software. Este deveria ser um novo dispositivo para as linhas de comunicações. Administração disse a Equipa que o produto deve estar pronto em 9 meses. © 2002 Universidade do Porto Engenharia de Software 2 Uma História de Guerra - II Afinal o desenvolvimento do produto levou dois anos a ser concluido. Este seria outro projeto de crise? • Concluido fora do tempo ; • Custo elevado ; • Meses de teste ; • Muitos defeitos. A Equipa poderia ter sucesso de alguma maneira? A pergunta fundamental: É esta uma Equipa de engenharia? © 2002 Universidade do Porto Engenharia de Software 3 Sumario PSP TSP Conclusões © 2002 Universidade do Porto Engenharia de Software 4 PSP Personal Software Process © 2002 Universidade do Porto Engenharia de Software 5 Sumário PSP Introdução Princípios Processos de desenvolvimento Script de lançamento Planeamento Recolha de informação e gestão de qualidade TSP Conclusões © 2002 Universidade do Porto Engenharia de Software 6 PSP - Introdução • Voltado para uma actuação individual; • Processo para melhorar a capacidade de planeamento e acompanhamento. © 2002 Universidade do Porto Engenharia de Software 7 PSP – Princípios I • Todos os Engenheiros são diferentes, e para que seja eficiente tem de planear o seu trabalho com base nas suas competências e preferências; • O Engenheiro deve ser responsabilizado pelo seu trabalho; • É mais fácil prevenir erros do que corrigi-los. © 2002 Universidade do Porto Engenharia de Software 8 PSP – Princípios II • A maneira correcta é sempre a mais fácil e barata de executar uma tarefa; • Para melhorar a sua qualidade e performance, o Engenheiro de Software deve usar processos bem definidos e bem avaliados. © 2002 Universidade do Porto Engenharia de Software 9 PSP –Processo de Desenvolvimento © 2002 Universidade do Porto Engenharia de Software 10 PSP - script © 2002 Universidade do Porto Engenharia de Software 11 PSP - Planeamento • Para se fazerem estimativas de tamanho, tempos, defeitos, recursos, é utilizado o método PROBE (PRoxy Based Estimating). © 2002 Universidade do Porto Engenharia de Software 12 PSP – Recolha de Informação Informação relativa a: • Tempo gasto em cada fase; • Tamanho do produto; • Qualidade. © 2002 Universidade do Porto Engenharia de Software 13 PSP – Gestão de Qualidade • Qualquer defeito numa pequena parte pode causar sérios problemas; • Produtos de software de qualidade tem que satisfazer os requisitos do utilizador e executar de forma fiável e consistente; • Engenheiro é pessoalmente responsável pela qualidade do programa que produz. © 2002 Universidade do Porto Engenharia de Software 14 TSP Team Software Process © 2002 Universidade do Porto Engenharia de Software 15 Sumário PSP TSP Definição Visao geral Lancamento e Planeamento Acompanhamento e Gerência Reação das Equipas Exemplos e Benifícios Conclusões © 2002 Universidade do Porto Engenharia de Software 16 TSP - Definição É um método que constrói guias funcionais para uma equipa de trabalho. Fornece: • processos bem definidos; • uma estrutura à equipa de trabalho; • um ambiente de suporte e gerência; Foi desenvolvido para uma equipa de 2 a 20 engenheiros, mas pode incluir um número maior. © 2002 Universidade do Porto Engenharia de Software 17 TSP - Visão geral O TSP começa em qualquer fase Cada fase inicia num ponto de lançamento ou de relançamento Lançamento Levantamentos Relançamento Desenho Relançamento A estratégia é • sobrepor as fases • desenvolver e incrementar • balançar a carga de trabalho • acelerar as tarefas o quanto possível © 2002 Universidade do Porto Implementação Relançamento Integração e Teste Conclusão Engenharia de Software 18 TSP - Lançamento Todos os Projectos do TSP começam com um lançamento. O lançamento demora cerca de 4 dias. • é dirigido pelo coordenador da equipa. • segue-se de imediato um treinamento de PSP. Nos lançamentos, os engenheiros • seleccionam as tarefas e definem os próprios processos • fazem o balanço dos planos • avaliam e atribuiem eventuais riscos ao projecto © 2002 Universidade do Porto Engenharia de Software 19 TSP - Plano do Projecto Em TSP o plano é executado em três níveis: • Faz-se o plano total do projecto. • Planos pessoais para fase seguinte. • Finalmente, o balanço do plano. © 2002 Universidade do Porto Engenharia de Software 20 TSP - Planeamento Produção conceptual do projecto Definição de processos e tarefas Estimativa dos defeitos Estimativa de tarefas Estimativa do tamanho Definição do plano dos engenheiros Faz-se o Balaço da carga de trabalho Estimativa do ganho Estimativa da carga horária semanal Projecto Conceptual Plano Total © 2002 Universidade do Porto Plano de Qualidade Plano Pessoal Detalhado Engenharia de Software Balanço do Plano de Equipa 21 TSP Acompanhamento do projecto - I Regularmente os membros da equipa identificam os riscos e traçam medidas correctivas. Semanalmente, as equipas apresentam o relatório do andamento do projecto. © 2002 Universidade do Porto Engenharia de Software 22 TSP Acompanhamento do projecto - II Define tempo para cada tarefa Define tarefa semanal completada Sumário do produto Estado de tarefa do Engenheiro A Actualização e programação de tarefas,. Planos de qualidade Insere defeitos por componentes e por fase Define tamanho por componente Quantidade do produto Tarefa da equipa, Sumários de programação Estado de programação do Engenheiro A © 2002 Universidade do Porto Engenharia de Software 23 TSP - Gerência do projecto Durante o projecto de lançamento as equipas: • formulam problemas; • respondem questões; • exploram alternativas. Para sustentar o TSP, a gerência deve: • rever periodicamente o projecto; • avaliar os dados das equipas; • dar ênfase à qualidade. © 2002 Universidade do Porto Engenharia de Software 24 TSP - Reacção das equipas Com uma gerência apropriada, os coordenadores do TSP podem produzir resultados extraordinários. Os engenheiros preferem utilizar TSP: • formam-se equipas coesas; • força-os a projectar e a pensar; • dá-lhes uma introspecção do desempenho do projecto; • tornam-se mais produtivos. © 2002 Universidade do Porto Engenharia de Software 25 TSP - Exemplo Comparação entre engenheiros com e sem treino de TSP no desenvolvimento de um projecto TSP Tamanho Tempo de teste Teste de aceitação Defeitos experimentais © 2002 Universidade do Porto não-TSP 89.9 2 semanas 3 semanas 0.02 Engenharia de Software 9.5 3 meses 6 meses 5+ 26 TSP – Benefícios I Tamanho do Software (Software #1) 2.36X mais # de erros detectados 75% mais detectado Treino PSP/TSP Lançamento #6 Lançamento # 7 © 2002 Universidade do Porto Lançamento # 8 Lançamento # 9 Engenharia de Software 27 TSP - Benefícios II (Software #1) Tempo de teste 32 dias 41 dias 28 dias 2.36X mais 94% menos tempo 4 dias Lançamnto # 6 © 2002 Universidade do Porto Lançamento # 7 Lançamento # 8 Treino PSP/TSP Lançamento # 9 Engenharia de Software 28 TSP - Implementação Um simples treino em PSP não garante muito grande produtividade a uma empresa. Implementar PSP/TSP numa organização requer: • planeamento rigoroso; • envolvimento e coordenação dum gerente com experiência; • mudança de comportamentos quer dos gerentes, quer das equipas. © 2002 Universidade do Porto Engenharia de Software 29 Sumário PSP TSP Conclusão © 2002 Universidade do Porto Engenharia de Software 30 Conclusão O PSP mostra aos profissionais de software como utilizar o método de engenharia nos seus trabalhos. O TSP ensina às organizações como construir e gerir uma equipa efectiva de engenheiros. A produtividade de uma equipa é extraordinária quando os profissionais utilizam esses métodos de engenharia. © 2002 Universidade do Porto Engenharia de Software 31 Para mais informações, www.sei.cmu.edu www.cert.org © 2002 Universidade do Porto Engenharia de Software 32 Obrigado! [email protected] © 2002 Universidade do Porto [email protected] [email protected] Engenharia de Software 33