Planejamento e Gerenciamento Iterativo de Projetos de Software

Documentos relacionados
Visão Geral do RUP.

Planejamento Iterativo

INF014 Análise e Projeto de Sistemas Processos Unificado -RUP

Base de Alcântara, 22 agosto 2003

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

Escolhendo um Modelo de Ciclo de Vida

Engenharia de Software II

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Visão Geral do RUP (Rational Unified Process)

QUALIDADE DE SOFTWARE ISO/IEC Segunda Edição Prof. Edison A M Morais

Rational Unified Process (RUP)

Engenharia de Software

RUP. Prof. Edison A M Morais.

Halison Miguel Edvan Pontes

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP

MODELAGEM DE SISTEMAS Unidade 5 Ciclo de Vida Iterativo e Incremental. Luiz Leão

PDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno

Prof. Dr. Thiago Jabur Bittar

Engenharia de Software II

ISO/IEC Processo de ciclo de vida

Guia do Processo de Teste Metodologia Celepar

Organização para Realização de Teste de Software

CICLO DE VIDA DE SOFTWARE

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Áreas de Conhecimento, Técnicas de Análise de Negócio e Conceitos-Chave

Projeto de Desenvolvimento de Software

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil

Processo Unificado (PU) Unified Process

Instituto Federal Sul-rio-grandense. Placa universal para controle de máquinas de lavar roupa Plano de Projeto - versão 1.0

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU)

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Processos de. Desenvolvimento de Software

Concepção lança o projeto

Desenvolvimento de Projetos

Processo de Desenvolvimento de Software

Modelos de Ciclo de Vida (Parte 1)

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno

Gestão da Tecnologia da Informação

Engenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia

Ciclo de vida do projeto x do

4 Caso de Uso no Ambiente Oracle

METODOLOGIA ÁGEIS FDD FEATURE DRIVEN DEVELOPMENT. Prof. Fabiano Papaiz IFRN

Processos de Software

RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp

Sistema Mobi-Lar Engenharia de Software

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Gerenciamento da Integração de Projetos. Parte 03. Gerenciamento de Projetos Espaciais CSE-301. Docente: Petrônio Noronha de Souza

Gerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016

Levantamento, Análise e Gestão Requisitos. Aula 02

Workflow Genérico de Iteração

Métodos Ágeis e Programação Extrema (XP)

Princípios da Engenharia de Software aula 03

RUP Rational Unified Process

O que ele não é? Um método ou técnica definitiva para desenvolvimento de um produto.

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Gerenciamento de Requisitos de Software

O ciclo de vida do projeto

Gerenciamento de Projetos

Conceitos: Implementação de um Processo em uma

Scrum e Extreme Programming

Desenvolvido pelo Software Engineering Institute-SEI em 1992 Possui representação por estágios (5 níveis)e contínua (6 níveis)

Visão Geral RUP (Rational Unified Process) Professor: Tiago Reis RUP

IMPLANTAÇÃO DE ITIL. Fonte:

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE UNIVERSIDADE FEDERAL DO PARANÁ PDS-UFPR

SUPORTE TÉCNICO. Processo de implantação e atendimento do Suporte Técnico

PLANO DO PROJETO. WebZine Manager. Versão 1.0

TC045 Gerenciamento de Projetos

Engenharia de Software II

Gestão Negócios OBJETIVO NESTA AULA. Gestão eficaz - Aula 18

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

PROCESSO RUP. Progessora Lucélia

Processos de software

CONTPATRI Plano de Garantia de Qualidade. Versão 1.1

Estágio II. Aula 04 Testes Ágeis. Prof. MSc. Fred Viana

14/11/2014. Engenharia de Software. Modelos de software. Modelo Clássico - Cascata

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Engenharia de Software

Definição e Melhoria de Processo na Produção de Software Web

UNIVERSIDADE FEDERAL DO PARANÁ UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Projeto Integrador. <Projeto Integrador> Documento Visão. Versão <1.0>

QUESTÕES TESTES. Questão 1. O modelo de ciclo de vida em cascata:

Processos de Software

Verificação e Validação (V & V)

ARQUITETURA E DESENHO

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

ENGENHARIA DE SOFTWARE

PROCESSOS DE SOFTWARE

TS03. Teste de Software ESTÁGIOS DO TESTE DE SOFTWARE. COTI Informática Escola de Nerds

30% a 50% dos custos desenvolvimento A complexidade torna impossível teste completo (cobertura total) Mas...

Gerência e Planejamento de Projeto. Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015

Comparativo PMBOK. Prof. Gilberto Porto

Project Builder: Apoio a Gestão de Projetos do Nível G ao C do MPS.BR

Transcrição:

Planejamento e Gerenciamento Iterativo de Projetos de Software 1

1. Introdução Motivação e Conceitos Básicos 2

Preocupações do Gerente de TI Melhorar a qualidade do desenvolvimento de software Principais riscos e incertezas no desenvolvimento de sistemas 3

O que faz um gerente de projetos? Aloca recursos Define prioridades Coordena as interações com clientes e usuários Procura manter a equipe de projeto focada na meta do projeto Resolve conflitos Gerencia riscos Estabelece um conjunto de práticas para assegurar a qualidade dos artefatos do projeto 4

Qual é o objetivo do gerente de projetos? Desenvolver o produto esperado dentro do prazo, custo e nível de qualidade desejados 5

Algumas estatísticas 31% dos projetos são abortados 53% dos projetos extrapolam o prazo em mais de 50% % de projetos que são finalizados dentro do prazo e custo esperados em grandes empresas: 9% em empresas medianas: 16% em pequenas empresas: 28% Fonte: Standish Group, 1995. 6

Planejamento e gerenciamento é para torná-lo parte do % de sucesso!!! Fator Humano Engenharia de Software Estratégias do Negócio 7

Parkinson s effect O trabalho se expande de modo a preencher todo o tempo disponível para executá-lo Se a equipe sentir que tem tempo disponível vai gastá-lo, contribuindo para elevar os riscos do projeto! 8

2. Considerando os Riscos 9

Não se preocupe; eu vou pensar em algo, Indiana Jones 10

Gerenciamento de riscos Relaciona-se com a análise de aspectos desconhecidos do projeto são esses aspectos que podem fazer com que o projeto fracasse! Risco fator, elemento, acontecimento, qualquer coisa que, se concretizada, pode interferir no sucesso do projeto 11

Gerenciamento de riscos Identificação Análise Acompanhamento e controle 12

Identificação dos riscos Para levantar os riscos podemos usar: o conhecimento do negócio estudo de viabilidade, documento de requisitos e plano do projeto brainstormings checklists Os riscos podem ser classificados de acordo com sua natureza em: riscos de projeto riscos do negócio riscos técnicos 13

Riscos de projeto Normalmente ameaçam o plano de projeto, prejudicando o cronograma e/ou custo Estão relacionados ao uso de recursos organizacionais financiamento ambiente de desenvolvimento processo de desenvolvimento humanos equipe cliente/usuários tempo cronograma escopo 14

Riscos do negócio Normalmente ameaçam a distribuição ou implantação do produto, prejudicando o retorno do investimento Muitos são riscos indiretos 15

Riscos técnicos Normalmente ameaçam a qualidade do produto, prejudicando o tempo de conclusão do projeto São relacionados ao uso da tecnologia necessária para implementar o sistema 16

Análise dos riscos Encontrados os riscos, é preciso decidir o que fazer com eles Para tanto, vamos considerar a magnitude ou prioridade do risco e criar a lista dos 10 mais Magnitude = probabilidade * impacto 17

Estratégias para tratar os riscos Evitar reorganizar o projeto de modo que ele não seja afetado pela concretização do risco Transferir reorganizar o projeto de modo que outra pessoa/instituição fique responsável pelo risco Aceitar decidir conviver com o risco 18

Aceitando riscos Determinar um Plano de contingência (Plano B) Estabelecer ações para mitigar ou atenuar o risco Muitas vezes, resume-se a uma melhor investigação de algum ponto específico. Por exemplo: Risco: o protocolo escolhido para comunicação com o servidor pode não atender aos requisitos de desempenho do sistema Ação: implementar a comunicação com o servidor e testar o seu desempenho 19

Acompanhamento e controle dos riscos Definir um responsável por cada risco ou pelo grupo de riscos do projeto o pessimista Monitorar os indicadores relatórios de status dos riscos Deixar o caminho livre para notícias ruins Revisitar a lista de riscos periodicamente semanalmente ao final de cada iteração A gerência de riscos deve ser uma atividade contínua! 20

Os riscos no planejamento das iterações 21

Riscos e casos de uso A realização dos casos de uso é usada para eliminar riscos Para facilitar a visualização do relacionamento entre casos de uso e riscos, pode-se usar uma matriz de riscos 22

Matriz de Riscos UC 1 UC 2 UC 3 UC 4 Risco X Risco Y Risco Z 23

Riscos e iterações Lista de riscos Planejamento das iterações Atenuação dos riscos 24

3. Planejamento Iterativo Planejando as Fases e Iterações 25

Fluxos de atividades Planejamento e Gerenciamento Contratante Iniciar Projeto Aprovar Projeto Atestar Conclusão do Projeto Desenvolver Estudo de Viabilidade Identificar Riscos Executar Plano de Iteração Desenvolver Plano de Projeto Desenvolver Plano de Iteração Avaliar Iteração Finalizar Projeto Gerente de Projeto Reavaliar Riscos Arquiteto Priorizar casos de uso 26

Como definir a quantidade e duração das iterações? Iterar é bom, mas acrescenta certo overhead! planejamento avaliação sincronização de atividades A agilidade para iterar depende basicamente de: tamanho da equipe experiência com o processo A complexidade e conhecimento do produto também pesam padrões de ciclo de vida 27

Padrões de ciclo de vida Ferramenta para auxiliar no planejamento das fases Dependem das características do projeto Exemplos: Incremental Entrega incremental Evolucionário Híbridos 28

Para começar, não esqueça! Concepção Escopo, objetivos Elaboração Arquitetura Construção Operacionalidade (beta-releases) Transição Release (produtos) 29

Ciclo de vida incremental O domínio do problema é conhecido, familiar Os riscos estão bem entendidos e razoavelmente controlados A equipe é experiente C E Co Co Co Co T T 30

Ciclo de vida evolucionário O domínio do problema é novo ou desconhecido A equipe é inexperiente C E E E E Co T T 31

Entrega incremental O domínio do problema é conhecido, familiar Os requisitos e a arquitetura podem ser estabilizados bem cedo, durante o desenvolvimento (não existe muita novidade no sistema) A equipe é experiente É preciso liberar Releases incrementais do produto C E Co T T T T T 32

Grande Projeto Um pequeno conjunto de funcionalidades vai ser adicionado a um produto já estável As novas funcionalidades são bem conhecidas e entendidas A equipe é experiente, tanto no domínio do problema quanto no produto já existente E C Co T T 33

Estratégias Híbridas Na prática, poucos projetos seguem apenas uma dessas estratégias de ciclo de vida A regra geral é para sistemas: onde existe alto risco associado ao negócio do desenvolvimento: Ênfase na Concepção complexos ou onde não se tem domínio do problema: Ênfase na Elaboração onde se espera maior complexidade/esforço na produção de código: Ênfase na Construção onde é preciso entregar o produto em uma série de releases incrementais: Ênfase na Transição 34

Quantidade de iterações Projetos simples: 3/4 iterações [0/1, 1, 1, 1] Projetos típicos: 6 iterações [1, 2, 2, 1] Projetos grandes: 10 iterações [2, 3, 3, 2] Resumindo Em geral, planeja-se de 3 a 10 iterações! Na maioria dos casos temos de 6 a 8 iterações! 35

Duração das iterações Normalmente variam de fase para fase, de acordo com as características do projeto Iterações pequenas são típicas da Construção, com pouca ou nenhuma atividade formal de análise e projeto Iterações grandes demandam marcos (milestones) intermediários O tamanho da equipe e sua experiência com o processo é um dos fatores determinantes 36

Duração das iterações Alguns dados da Rational: Linhas de código Equipe Duração de 1 iteração 10.000 5 1 semana 50.000 15 1 mês 500.000 45 6 meses 1.000.000 100 1 ano 37

O quanto realizar de cada fluxo de atividades em cada fase/iteração? De maneira geral, em cada iteração um subconjunto do trabalho total é realizado levantado/especificado analisado e projetado implementado testado preparado para a distribuição/distribuído Como escolher esse subconjunto? conhecimento da equipe no domínio do problema e arquitetura a ser adotada necessidade de liberação de releases / deadline restrito 38

Estratégias para as iterações Larga e superficial Todo o domínio do problema é analisado, sem muitos detalhes Casos de uso: todos são definidos e a maioria é detalhada Arquitetura: definida amplamente todas as interfaces, serviços, etc. Pouca implementação até a Construção, onde fica o maior número de iterações Estreita e profunda Um pedacinho do domínio é analisado em detalhes Os casos de uso relacionados com este pedacinho são detalhados A arquitetura necessária para suportar esse pedacinho é definida Esse pedacinho é implementado, testado e possivelmente implantado Híbrida 39

Larga e superficial Apropriada quando: o time é inexperiente no domínio do problema ou nas tecnologias que serão usadas a arquitetura é inédita, ou é um requisito chave para as funcionalidades do sistema Possíveis problemas: analysis paralysis falta de credibilidade e confiança da equipe riscos técnicos não expostos devido a falta de detalhes (visão apenas de alto nível) 40

Estreita e profunda Apropriada quando: precisa-se de resultados muito rápido (para obter suporte, provar viabilidade ou eliminar certos riscos) os requisitos estão continuamente evoluindo o deadline é obrigatório existe alta reusabilidade Possíveis problemas: dificuldades de integração desenvolvimento de software integrado verticalmente, mas incompatível horizontalmente muito retrabalho devido a falta de uma visão geral do problema 41

Estatégia híbrida Na Concepção: larga e superficial para obter bom entendimento do escopo estreita e profunda para verificar a viabilidade de alguma tecnologia construção de um protótipo Na Elaboração: na maior parte do tempo, larga e superficial, para garantir que a arquitetura cobre todas as necessidades estreita e profunda em alguns pontos para atacar riscos específicos Na Construção: estreita e profunda, para implementar as funcionalidades do sistema, com alto grau de paralelismo e incrementalmente Na Transição: completar o que falta, de acordo com o feedback do usuário e bugs encontrados 42

Cronogramas iterativos e incrementais Bem mais complexos que os tradicionais cronogramas em cascata Normalmente organizados por fases e iterações 43

Cronogramas iterativos e incrementais Concepção Iteração 1 atividade X atividade Y atividade Z Elaboração Iteração 2 Iteração 3 Construção Iteração 4 Iteração 5 Iteração 6 Transição Iteração 7 O cronograma não é feito todo de uma vez! Lembre-se: o processo é iterativo! 44

Cronogramas iterativos e incrementais Concepção Iteração 1 atividade A atividade B atividade C Elaboração Iteração 2 atividade D atividade B atividade E Iteração 3 Construção Iteração 4 Iteração 5 Iteração 6 Transição Iteração 7 Devido a natureza do processo, várias atividades vão ficar repetidas As atividades serão as mesmas, mas com escopos/objetivos diferentes 45

Exemplo Planejamento do Innovative Rental System (IRS) 46

Características do projeto 1 Prazo total: 16 semanas Equipe de 5 pessoas, experiente no domínio do problema Equipe relativamente inexperiente no uso da metodologia Um dos objetivos do projeto é treinar os desenvolvedores no uso da metodologia Apoio de consultoria externa Estão previstos 2 releases do produto 47

Planejamento do projeto 1 Concepção Iteração preliminar de 2 semanas, larga e superficial, para iniciar o projeto Elaboração 1 iteração, de 5 semanas, para eliminar os principais riscos Estratégia híbrida: larga e superficial para modelar a arquitetura e estreita e profunda para eliminar o risco de alguns cenários Construção 2 iterações de 2 semanas cada, estreitas e profundas, para produzir a versao beta do sistema Transição 1 iteração de 2 semanas para finalizar a primeira versão do sistema, com parte das funcionalidades previstas 1 iteração de 3 semanas para incorporar as funcionalidades restantes e lançar a versão completa do IRS 48

Características do projeto 2 Prazo total: 16 semanas Equipe de 5 pessoas, experiente no domínio do problema, com pouco domínio tecnológico Equipe relativamente inexperiente no uso da metodologia Um dos objetivos do projeto é treinar os desenvolvedores no uso da metodologia Apoio de consultoria externa Estão previstos 1 releases do produto 49

Planejamento do projeto 2 Concepção Iteração preliminar de 2 semanas, larga e superficial, para iniciar o projeto Elaboração 1 iteração, de 3 semanas, para eliminar os principais riscos e modelar a arquitetura 1 iteração, de 2 semanas, para confirmar a arquitetura e a eliminação dos riscos Estratégia híbrida: larga e superficial para modelar a arquitetura e estreita e profunda para eliminar o risco de alguns cenários Construção 3 iterações de 2 semanas cada, estreitas e profundas, para produzir a versão beta do sistema Transição 1 iteração de 3 semanas para finalizar o sistema, com todas as funcionalidades previstas (versão completa do IRS) 50

Conclusão Planejamento Iterativo Conheça os riscos Planeje as fases duração e marcos (milestones) quantidade de iterações Planeje a primeira iteração em detalhes atividades, recursos, tempo, Durante a execução da primeira iteração, planeje a segunda em detalhes E assim por diante 51

Exemplo Plano de Iteração C1 52

Exemplo Plano de Iteração E1 53