gerencia de projeto de software
DESCRIPTION
Gerencia de projetos em engenharia de software.TRANSCRIPT
Engenharia de Software
Gerência de Projetos de SoftwarePlanejamento de Projetos – Conceitos Iniciais
e Escopo
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
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
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?
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
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
Quatro P's
PROJETO
PESSOASPROCESSO
PRODUTO
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
Projeto x Operação
● Temporalidade x continuidade● Adaptação x repetição● Saída única x saída repetitiva
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
Gerência de Projeto de Software
● Envolve o balanceamento de necessidades que competem entre si
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
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
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
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
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
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
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
Motivação
● Porque planejar e acompanhar projetos?
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
Motivação
Fonte: Extreme CHAOS (2001) – Standish Group
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
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
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%
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.
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.
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.”
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
Papel do Gerente de Projeto
● A visão de alguns:
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
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
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
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...
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
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
Produto do Planejamento
● Plano de ProjetoDefine objetivos e compromissosEstabelece como serão satisfeitos
Produto do Planejamento
Plano de ProjetoPlano de Projeto
ExecuçãoExecução
ProblemasProblemas
Acompanhamento Acompanhamento
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
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?
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?
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
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
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
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
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
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
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
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
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
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
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?
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?
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?
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)
Registro do Escopo do Produto
● Documentado na forma de:Conceitos de OperaçõesDocumento Visão
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
ConOps
ConOps
● Modos de operaçãoNominalDegradadoEm manutençãoEm backupEm treinamentoEm sítios alternativosEm modo ocioso
ConOps
● Classes de usuáriosDistinguem-se por● Responsabilidades comuns● Níveis de habilidades● Atividades executadas● Modos de operação
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.
ConOps
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
ConOps
ConOps
ConOps
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