gerencia de projeto de software

66
Engenharia de Software Gerência de Projetos de Software Planejamento de Projetos – Conceitos Iniciais e Escopo

Upload: luan-santos

Post on 19-Dec-2015

9 views

Category:

Documents


2 download

DESCRIPTION

Gerencia de projetos em engenharia de software.

TRANSCRIPT

Page 1: Gerencia de projeto de software

Engenharia de Software

Gerência de Projetos de SoftwarePlanejamento de Projetos – Conceitos Iniciais

e Escopo

Page 2: Gerencia de projeto de software

Roteiro

● Conceitos Iniciais● Motivação● O Papel do Gerente de Projeto● Planejamento de Projeto

Produto do PlanejamentoParâmetros do PlanejamentoEscopo de Produto e de Projeto

Page 3: Gerencia de projeto de software

Roteiro

● Conceitos Iniciais● Motivação● O Papel do Gerente de Projeto● Planejamento de Projeto

Produto do PlanejamentoParâmetros do PlanejamentoEscopo de Produto e de Projeto

Page 4: Gerencia de projeto de software

Conceitos Iniciais

● O que é um projeto?● Qual a diferença entre produto, projeto e processo?● Qual a diferença entre projeto e operação?● O que é gerência de projeto?● Qual a diferença entre projeto, portfólio e programa?

Page 5: Gerencia de projeto de software

Projeto

● O que é projeto?Empreendimento temporário realizado para criar um produto, serviço ou resultado único – PMBOK Esforço com datas definidas de início e fim, gasto para gerar um produto ou serviço de acordo com requisitos e recursos estabelecidos – ISO/IEC 12207

Page 6: Gerencia de projeto de software

Projeto

Empreendimento em que recursos humanos, financeiros e materiais são organizados de forma a realizar um escopo de trabalho único sobre uma dada especificação, dentro de restrições de tempo e custo, para obter uma mudança benéfica e individualizada, através da entrega de objetivos qualitativos e quantificados - Turner, J.R. The Handbook of Project Based Management: Improving Processes for Achieving Your Strategic Objectives. 1992

Page 7: Gerencia de projeto de software

Quatro P's

PROJETO

PESSOASPROCESSO

PRODUTO

Page 8: Gerencia de projeto de software

Operação

● O que é operação?Empreendimento permanente que produz saídas repetitivas, com pessoas alocadas para fazer basicamente o mesmo conjunto de tarefas de acordo com padrões do ciclo de vida do produto – PMBOK

Page 9: Gerencia de projeto de software

Projeto x Operação

● Temporalidade x continuidade● Adaptação x repetição● Saída única x saída repetitiva

Page 10: Gerencia de projeto de software

Gerência de Projeto de Software

● A arte de direcionar e coordenar recursos humanos e materiais para atingir objetivos bem definidos, dentro de limites de tempo e orçamento, e satisfazendo os participantes do projeto

● A aplicação de conhecimento, habilidades, ferramentas, e técnicas às atividades de projeto de forma a atender ou superar as necessidades e expectativas dos participantes de um projeto – PMBOK

Page 11: Gerencia de projeto de software

Gerência de Projeto de Software

● Envolve o balanceamento de necessidades que competem entre si

Page 12: Gerencia de projeto de software

Gerência de Projeto de Software

● Propósito da Gerência de Projeto (segundo o MPS.BR):Estabelecer e manter planos que definem as atividades, recursos e responsabilidades do projetoProver informações sobre o andamento do projeto que permitam a realização de correções quando houver desvios significativos no desempenho do projeto

Page 13: Gerencia de projeto de software

Programa

● O que é programa?Grupo de projetos relacionados gerenciados de forma coordenada para obter benefícios e controle que não são possíveis por meio da gerência individualizada dos mesmos – PMBOK Com elementos de trabalho que fora do escopo dos seus projetos específicos

Page 14: Gerencia de projeto de software

Gerência de Programa

● O que é gerência de programa?Gerência centralizada e coordenada de um grupo de projetos com o intuito de satisfazer os objetivos e obter os benefícios do programa – PMBOKPode envolver empreendimentos cíclicos e repetitivos

Page 15: Gerencia de projeto de software

Portfólio

● O que é portfólio?Coleção de projetos, programas e/ou outros trabalhos relacionados que são agrupados para facilitar uma gerência efetiva – PMBOK Coleção de projetos que tratam dos objetivos estratégicos da organização – MPS.BR

Page 16: Gerencia de projeto de software

Gerência de Portfólio

● O que é gerência de portfólio?Gerenciamento centralizado de um ou mais portfólios – PMBOK● Identificação, priorização, autorização, gerência e

controle● De projetos, programas e trabalhos relacionados

Page 17: Gerencia de projeto de software

Gerência de Portfólio

● O que é gerência de portfólio?Foca em garantir que● Projetos e programas são revisados para priorizar a

alocação de recursos● Consistência e alinhamento com as estratégias e

objetivos organizacionais

Page 18: Gerencia de projeto de software

Roteiro

● Conceitos Iniciais● Motivação● O Papel do Gerente de Projeto● Planejamento de Projeto

Produto do PlanejamentoParâmetros do PlanejamentoEscopo de Produto e de Projeto

Page 19: Gerencia de projeto de software

Motivação

● Porque planejar e acompanhar projetos?

Page 20: Gerencia de projeto de software

Motivação •Projetos concluídos e operacionais•Cronograma e orçamentos

estourados •Menos funcionalidades do que o

que foi inicialmente especificado

•Projetos concluídos e operacionais•Cronograma e orçamentos

respeitados •Todas as funcionalidades

implementadas

•Projetos cancelados em algum ponto do ciclo de desenvolvimento

Fonte: The CHAOS Report (1994) – Standish Group

Page 21: Gerencia de projeto de software

Motivação

Fonte: Extreme CHAOS (2001) – Standish Group

Page 22: Gerencia de projeto de software

Alguns Problemas Típicos● Custos mal dimensionados● Cronogramas não realistas● Não se atinge os objetivos definidos● Falta clareza nos objetivos● Faltam indicadores de desempenho● Faltam premissas sólidas para estimar● Faltam definições acerca de papéis e de responsabilidades● Há pouca participação e comprometimento dos níveis operacionais ou gerenciais ● Há falhas na comunicação da equipe● Os riscos (previsíveis ou não) não são contingenciados● Dificuldades técnicas não tratadas● Projetos são intermináveis por mudanças de escopo

Page 23: Gerencia de projeto de software

Dificuldades Específicas

● Projetos de software são difíceis porque software é...Complexo● Tamanho, número de estados, precisão e detalhamentoInvisível● Imaterialidade, intangibilidade, entidade conceitual e

abstrataModificável● Mudanças “simples e fáceis”, evolução constante e

contínuaCompatível● Conformidade com outros sistemas, suporte a versões

antigasNão manufaturado

Page 24: Gerencia de projeto de software

A Ideia

● Princípios técnicos e gerenciais devem guiar o planejamento e o acompanhamento de projetos de software

Planejamento ● Indica o caminho certo● Onde queremos chegar e quais os recursos disponíveis?Acompanhamento ● Indica se o plano está sendo seguido● Indica se há problemas não previstos● Falta de acompanhamento → Síndrome dos 90%

Page 25: Gerencia de projeto de software

Um Cenário da Síndrome dos 90%

Era uma vez, um jovem engenheiro que foi escolhido para “escrever” um programa de computador. Conhecia Assembly e FORTRAN, mas não sabia nada sobre engenharia de software, muito menos sobre planejamento e acompanhamento de projetos... Seu chefe lhe passou alguns manuais e uma descrição verbal do que tinha que ser feito. Também o informou de que o projeto tinha que ser finalizado em dois meses.

Page 26: Gerencia de projeto de software

Um Cenário da Síndrome dos 90%

O jovem engenheiro leu os manuais e começou a escrever código. Depois de duas semanas o seu chefe queria saber como estava o projeto. “Está muito bem!” - disse o engenheiro com entusiasmo juvenil - “Era bem mais simples do que eu pensava! Estou provavelmente perto de 75% do fim.” O chefe sorriu e o encorajou a continuar naquele ritmo. Combinaram um novo encontro dentro de uma semana.

Page 27: Gerencia de projeto de software

Um Cenário da Síndrome dos 90%

Depois de uma semana o chefe chamou novamente o engenheiro para saber sobre o andamento do projeto. “Tudo está indo bem!” - disse o jovem - “Mas eu tive alguns pequenos problemas. Vou tratá-los e logo tudo estará nos trilhos novamente.” “Mas como fica o nosso prazo?” - perguntou o chefe. “Não haverá problemas. Estou perto de 90% do fim do projeto.”

Page 28: Gerencia de projeto de software

Roteiro

● Conceitos Iniciais● Motivação● O Papel do Gerente de Projeto● Planejamento de Projeto

Produto do PlanejamentoParâmetros do PlanejamentoEscopo de Produto e de Projeto

Page 29: Gerencia de projeto de software

Papel do Gerente de Projeto

● A visão de alguns:

Page 30: Gerencia de projeto de software

Papel do Gerente de Projeto

● O gerente de um projeto deve eliminar todos os obstáculos que afastam os desenvolvedores do trabalho realmente importante:

Melhorar a qualidade do produto

Page 31: Gerencia de projeto de software

Preocupações do Gerente de Projeto

Formação da equipe

Estimativa de custo

Definição de cronograma

Monitoramento do projetoDisponibilidade de recursos

Comunicação com cliente

Avaliação de riscos

Qualidade do produto

Medição

Page 32: Gerencia de projeto de software

Trabalho do Gerente de Projeto

● Fatores críticos de sucessoDefinir corretamente o escopo do problemaNegociar com todos os envolvidosManter a motivação inicialAcompanhar o progressoTomar decisões adequadas e em tempoGuardar histórico do projeto

Page 33: Gerencia de projeto de software

Trabalho do Gerente de Projeto

● Sem estes fatores críticos o projeto pode enfrentar problemas● Infelizmente não há muitas opções de correção...

Page 34: Gerencia de projeto de software

Roteiro

● Conceitos Iniciais● Motivação● O Papel do Gerente de Projeto● Planejamento de Projeto

Produto do PlanejamentoParâmetros do PlanejamentoEscopo de Produto e de Projeto

Page 35: Gerencia de projeto de software

Roteiro

● Conceitos Iniciais● Motivação● O Papel do Gerente de Projeto● Planejamento de Projeto

Produto do PlanejamentoParâmetros do PlanejamentoEscopo de Produto e de Projeto

Page 36: Gerencia de projeto de software

Produto do Planejamento

● Plano de ProjetoDefine objetivos e compromissosEstabelece como serão satisfeitos

Page 37: Gerencia de projeto de software

Produto do Planejamento

Plano de ProjetoPlano de Projeto

ExecuçãoExecução

ProblemasProblemas

Acompanhamento Acompanhamento

Page 38: Gerencia de projeto de software

Roteiro

● Conceitos Iniciais● Motivação● O Papel do Gerente de Projeto● Planejamento de Projeto

Produto do PlanejamentoParâmetros do PlanejamentoEscopo de Produto e de ProjetoEstimativas

Page 39: Gerencia de projeto de software

Parâmetros do Planejamento

● Qual o escopo do produto a ser gerado?● Quais são os objetivos do projeto?● Quais são as restrições associadas ao projeto?● Quais são as premissas relacionadas ao plano?● Qual o tamanho do produto final?● Qual o esforço necessário para satisfazer os objetivos?● Quais os recursos necessários para a execução?● Quais os envolvidos e interessados no projeto?● Quais são os custos para a execução do projeto?● Quais atividades devem ser executadas?● Quais os relacionamentos entre as atividades?● Qual o tempo necessário para executar as atividades?

Page 40: Gerencia de projeto de software

Parâmetros do Planejamento

● Quais são os produtos gerados em cada atividade?● Como será mantida a integridade destes produtos?● O que é relevante o suficiente para ser comunicado aos envolvidos e interessados?● Como será feito o acompanhamento do projeto?● Quais são os principais pontos de controle e marcos de progresso?● Em quais situações será necessário rever o planejamento?● Quais são os riscos associados ao projeto?● Qual a viabilidade de satisfazer os objetivos do projeto com o plano definido?

Page 41: Gerencia de projeto de software

Roteiro

● Conceitos Iniciais● Motivação● O Papel do Gerente de Projeto● Planejamento de Projeto

Produto do PlanejamentoParâmetros do PlanejamentoEscopo de Produto e de Projeto

Page 42: Gerencia de projeto de software

Escopo de Produto

● Planejar exige compreensão do problema a ser tratado no projeto

Descoberta de informaçõesBase para as estimativas

● Escopo do ProdutoNarrativa que delimita o problema

Page 43: Gerencia de projeto de software

Escopo de Produto

● Descreve, em alto nível:Dados e controles a serem processadosFunçõesInterfacesRestriçõesDesempenho, confiabilidade e outras características de qualidade

● Decomposição funcionalExcesso → mais tempo e maiores custosInsuficiente → mais riscos

Page 44: Gerencia de projeto de software

Escopo de Projeto

● Em projetos de softwareNecessidades, expectativas, requisitosAlém daqueles do escopo do produto!

● Formam o escopo do projeto:

Escopo do projeto Escopo do projeto Escopo do produtoEscopo do produto

Page 45: Gerencia de projeto de software

Escopo de Projeto

● Além do escopo do produto:Objetivos/metas● Justificativas para a execuçãoRestrições● Limitações impostasPremissas● Fatores externos necessários para a execução● Não estão sob o controle do gerente de projeto

Page 46: Gerencia de projeto de software

Objetivo

● Resultado específico que deve ser alcançado● Expressa uma intenção descrita

Como uma mudança proposta● Deve ser

Observável Mensurável

● Clareza nos objetivos é fator crítico para o sucesso do projeto

Page 47: Gerencia de projeto de software

Hierarquia de Objetivos

● Meta: Razão do projeto; justifica a sua existênciaEscopo: Os objetivos específicos para atingir a meta do projeto● Requisitos: Necessidades específicas atendidas pelo

projeto● Restrições: Limitações impostas ao projeto● Premissas: Fatores externos (fora do controle do

Gerente de Projeto) necessários para realizar o projeto

Page 48: Gerencia de projeto de software

Exemplos● Meta:

Adaptar o sistema às mudanças ocorridas na lei 8045/2006 do ICMS

● Escopo: Registrar notas fiscais interestaduais segundo as alíquotas definidas na lei

● Requisitos:O sistema deve permitir o cadastro das alíquotas de cada estadoO sistema deve calcular o imposto devido na nota fiscal de acordo com a alíquota do estado destino

● Restrições:O sistema deve operar de acordo com a nova legislação a partir de 20/09/2006

● Premissas:Deve haver a contratação de um Projetista de Software

Page 49: Gerencia de projeto de software

Escrita de Objetivos

● Utilize verbos fortes Fraco

CoordenarParticiparContribuir

AssistirApoiar

MelhorarIntegrar

FomentarColaborarAumentarOrganizarOrientarControlar

Harmonizar

FORTE

EstabelecerCadastrarInstalar

ErradicarRegistrar

DirigirEliminarImprimir

ApresentarExcluir

Reduzir de X para YAumentar de X para

Y

Page 50: Gerencia de projeto de software

Problema do Projeto

● Exemplos de técnicas para obter compreensão:Reuniões e entrevistas preliminares com especialistas na áreaEstudo de literatura básica sobre a área

Page 51: Gerencia de projeto de software

Perguntas Relevantes

● Quem está por trás do pedido desse trabalho?● Quem vai utilizar a solução?● Qual será o benefício econômico de uma solução de sucesso?● Existem outras alternativas de solução?● Quais são as fontes de informação sobre o problema?● Como o cliente caracteriza “boas” saídas geradas por uma solução de sucesso?

Page 52: Gerencia de projeto de software

Perguntas Relevantes

● Que problemas essa solução vai atacar?● Existe alguma restrição que afetará a solução? Algum limite de desempenho, por exemplo?● Em que ambiente a solução será utilizada?● Existem outras alternativas de solução?● Com quais outros sistemas será preciso interagir?

Page 53: Gerencia de projeto de software

Meta Perguntas

● Você é a pessoa mais indicada para fornecer essas respostas?● Há outras pessoas que eu deveria consultar?● Suas respostas são “oficiais”?● Minhas questões foram relevantes?● Estou fazendo perguntas demais?● Deveria ter feito alguma outra pergunta?

Page 54: Gerencia de projeto de software

WBS e PBS

● É possível incluir, como parte do escopo do projetoUma WBS (Work Breakdown Structure – Estrutura Analítica do Projeto) Uma PBS (Product Breakdown Structure – Estrutura Analítica do Produto)

Page 55: Gerencia de projeto de software

Registro do Escopo do Produto

● Documentado na forma de:Conceitos de OperaçõesDocumento Visão

Page 56: Gerencia de projeto de software

ConOps

● Conceito de OperaçõesNorma da IEEE● IEEE Std 1362-1998 – IEEE Guide for Information Technology

– System Definition – Concept of Operations (ConOps) Document

Seis grandes partes● Descrição do sistema ou situação corrente● Descrição da natureza e justificativa das mudanças● Descrição dos conceitos do sistema proposto● Cenários operacionais● Resumo do impacto● Análise do sistema proposto

Page 57: Gerencia de projeto de software

ConOps

Page 58: Gerencia de projeto de software

ConOps

● Modos de operaçãoNominalDegradadoEm manutençãoEm backupEm treinamentoEm sítios alternativosEm modo ocioso

Page 59: Gerencia de projeto de software

ConOps

● Classes de usuáriosDistinguem-se por● Responsabilidades comuns● Níveis de habilidades● Atividades executadas● Modos de operação

Page 60: Gerencia de projeto de software

ConOps

● Classes de usuáriosDistinguem-se por● Responsabilidades comuns● Níveis de habilidades● Atividades executadas● Modos de operação

Usuário é aquele queinterage com o sistema,

que o opera.Não deve ser confundido

com cliente.

Page 61: Gerencia de projeto de software

ConOps

Page 62: Gerencia de projeto de software

ConOps

● PriorizaçãoCaracterísticas● Essenciais – tem que ser implementadas● Desejáveis – deveriam ser implementadas

● Devem ser priorizadas● Mais importantes são implementadas primeiro

● Opcionais – pode ser que sejam implementadas● Mudanças consideradas e não incluídas

Descrever razões para a não inclusãoRequisitos futuros

Page 63: Gerencia de projeto de software

ConOps

Page 64: Gerencia de projeto de software

ConOps

Page 65: Gerencia de projeto de software

ConOps

Page 66: Gerencia de projeto de software

Referências

Sommerville, I. (2007) Software Engineering. Oitava Edição. Addison-WesleyPressman, R. S. (2005) Software Engineering – A Practitioner's Approach. Sexta Edição. MCGraw-Hill