Gerenciamento de
Projetos de Software
Introdução ao Gerenciamento de Projetos de TI
Prof. Dr. Rodolfo Miranda de Barros [email protected]
Para Refletir Van Gogh escreveu certa vez: “A imagem já tomou forma na minha mente antes de eu
começá-la". Ou seja, o grande pintor impressionista usava como referência de realidade o
imaginário. E qual a importância disso para nossas vidas?
O coelho da fábula de Alice no País das Maravilhas já nos deu.
◦ "Podes indicar-me o caminho certo?- perguntou a Alice ao coelho branco.
◦ E para onde queres ir?
◦ Não sei...- respondeu a Alice envergonhada.
◦ Então qualquer caminho serve! - Resmungou o coelho apressado.“
Ou seja, se você não consegue “enxergar” para onde quer ir, ou aonde quer chegar, também
não poderá identificar que estrada tomar. Se imagine percorrendo uma estrada
desconhecida, em busca de um certo destino que você não conhece, e que também não
consegue imaginá-lo. Imagine que nesta estrada existem várias e sucessivas bifurcações.
Agora se imagine a cada novo entroncamento ou encruzilhada, tendo que tomar uma decisão
por qual direção seguir, mas sem saber onde quer chegar. A conclusão é óbvia: uma jornada
de puro estresse, inconseqüente, e recheada de insucessos e reveses etc.
Revista Eletrônica de Administração e Negócios (Julho/Agosto 2007)
Entregando o Software
Quantos produtos de software você conhece que foram entregues na data planejada?
Quantos produtos de software você conhece que custaram o planejado?
Qual o problema com o desenvolvimento e manutenção de software?
3
Mitos de Gerência
Se ficarmos atrasados, basta contratar mais gente: ◦ Adicionar pessoas a um projeto atrasado só tornará o projeto mais atrasado;
educação dessas pessoas exige pessoas do projeto.
4
Qual a solução (necessidades)?
5
Compreender o seu negócio
Gerenciar projetos de software
Melhorar continuamente a qualidade dos produtos e aumentar a produtividade do processo de
software
Compreensão do processo e dos produtos de software
Entender o seu negócio através de: ◦ estabelecer linhas básicas;
◦ estabelecer modelos de qualidade de software;
◦ identificar fatores de influência nos aspectos de qualidade;
◦ identificar características-chave do processo.
6
• Quais são os erros típicos de nossos projetos?
• Onde nós alocamos e usamos recursos? • Quanto esforço nós gastamos por tipo de manutenção?
Correção
37%
Incremento
7%
Adaptação
29%
outros
27%
Gerenciamento de projetos de software
Envolve atividades para assegurar que o software seja entregue dentro do prazo e do orçamento previsto, estando de acordo com os requisitos da organização;
Gerenciamento de projeto é necessário porque o desenvolvimento de software está sempre sujeito a restrições de tempo e orçamento, e dependem da organização que está desenvolvendo.
7
Atividades de gerenciamento
Elaboração de propostas; Planejamento e programação de projetos; Estimativa de custo de projeto; Monitoramento e revisões de projeto; Avaliação e seleção de pessoal; Elaboração de relatórios e apresentações.
8
Planejamento de projeto
O planejamento de projetos está diretamente relacionado com o desenvolvimento de um plano, que especifique o que deve ser feito, quanto tempo demorará para ser executado, quem deve realizar cada tarefa e qual é o custo previsto;
9
Continuação ... (Planejamento)
Provavelmente a atividade que demanda mais tempo do gerenciamento de projetos;
Planos devem ser regularmente revisados à medida que informações novas se tornam disponíveis;
Tipos diferentes de plano podem ser desenvolvidos para apoiar o plano de projeto principal que está mais focado na programação e no orçamento.
10
Continuação ... (Planejamento) – Visão CMMi
O objetivo do Planejamento de Projeto de Software é estabelecer planos razoáveis para a execução das atividades de engenharia de software e para a gestão do projeto de software;
O Planejamento de Projeto de Software compreende a elaboração de estimativas para o trabalho a ser realizado, o estabelecimento de compromissos necessários e a definição de planos para a realização do trabalho;
11
O Planejamento de Projeto de Software se inicia com o estabelecimento do trabalho a ser realizado e de outras restrições e metas que definem e limitam o escopo do projeto de software (aquelas estabelecidas pelas práticas da área-chave de processo Gestão de Requisitos);
O processo de planejamento de software inclui passos para estimar o tamanho dos produtos de software e os recursos necessários, para produzir um cronograma, para identificar e avaliar riscos e para negociar compromissos;
Devido a iterações destes passos, pode ser necessário estabelecer um plano para o projeto de software (ou seja, o plano de desenvolvimento de software);
Esse plano fornece as bases para execução e gestão das atividades do projeto de software e explicita os compromissos do cliente, de acordo com os recursos, as restrições e as capacidades do projeto de software.
12
Continuação ... (Planejamento) – Visão CMMi
Quando Planejar?
O Planejamento de um projeto deve ter lugar no início de seu ciclo de vida, ainda que o planejamento das fases posteriores não possa ser feito com todo o detalhe. Mesmo assim, este planejamento inicial é importante pois sua falta pode ocasionar expectativas falsas e conseqüentemente frustrações;
13
Continuação ... (Quando Planejar?)
O plano deve ser continuamente atualizado no decorrer do ciclo de vida para que ele seja realmente efetivo.
14
Embora não se possa assegurar que um projeto, pelo fato de ser bem planejado, tenha garantido o seu êxito, indiscutivelmente, projetos mal elaborados têm aumentada a possibilidade de ocorrerem dificuldades.
Como assim ?
15
Continuação ... (Quando Planejar?)
Na realidade, embora muito raramente se possa predizer o futuro com precisão e quase sempre seja necessário desviar-se do plano, o planejamento é benéfico porque reduz a probabilidade de imprevistos e conseqüentemente dos problemas daí decorrentes.
16
Continuação ... (Quando Planejar?)
Conclusão:
◦ A diferença entre projetos bem sucedidos e projetos fracassados está no modo pelo qual o projeto é gerenciado.
17
Continuação ... (Quando Planejar?)
Gerência de Projeto de Software
A Gerência de Projetos envolve o planejamento, monitoramento e controle das pessoas, processos e eventos que ocorrem conforme evolui o desenvolvimento do software.
18
Gerência de Projeto de Software
O gerente que esquece que o trabalho de engenharia de software está intensamente relacionado com as pessoas nunca terá sucesso na gerência de projetos.
19
20
Gerência de Projeto de Software
O gerente que não incentiva uma compreensiva comunicação com o cliente, logo no início do projeto, corre o risco de construir uma solução muito boa para um problema errado.
21
Gerência de Projeto de Software
22
Gerência de Projeto de Software
O gerente que não dá pouca atenção ao processo corre o risco de inserir no vácuo, métodos e ferramentas competentes;
O gerente que trabalha sem um sólido plano de projeto arrisca o sucesso do produto.
23
Gerência de Projeto de Software
Uma gerência eficaz de projeto de software tem o foco em 4 P’s: ◦ Pessoas ◦ Produto ◦ Processo ◦ Projeto
24
Gerência de Projeto de Software
Uma gerência eficaz de projeto de software tem o foco em 4 P’s: ◦ Pessoas
◦ Produto
◦ Processo
◦ Projeto
25
As pessoas devem ser
organizadas para realizar
eficientemente o trabalho
de software
Gerência de Projeto de Software
Uma gerência eficaz de projeto de software tem o foco em 4 P’s: ◦ Pessoas
◦ Produto
◦ Processo
◦ Projeto
26
Deve ocorrer comunicação
com o cliente para que o
alcance dos requisitos do
produto sejam
compreendidos
Gerência de Projeto de Software
Uma gerência eficaz de projeto de software tem o foco em 4 P’s: ◦ Pessoas
◦ Produto
◦ Processo
◦ Projeto
27
Um processo deve ser
selecionado para que seja
apropriado às pessoas e
ao produto
Gerência de Projeto de Software
Uma gerência eficaz de projeto de software tem o foco em 4 P’s: ◦ Pessoas
◦ Produto
◦ Processo
◦ Projeto
28
O projeto deve ser planejado
estimando-se o esforço e o tempo
para realizar as tarefas.
Devem ser definidos os produtos de
trabalho, estabelecidos os pontos de
checagem da qualidade e os
mecanismos para monitorar e
controlar o trabalho definido no
plano
Gerência de Projeto de Software
Plano de Fases: define o ciclo de vida e cada fase do mesmo;
Plano da Organização: define os grupos e suas respectivas funções;
Plano de Acompanhamento: define marcos e pontos para confrontar com o cronograma previsto;
Plano de Controle de Alterações: define os procedimentos de alterações;
Plano de Documentação: define os documentos a serem produzidos;
Plano de Testes: define os métodos e os procedimentos para testar o produto;
29
Continuação ... (Plano de Projeto)
30
Planejamento !!!!!!!!!!!!!!
Qual é o prazo de desenvolvimento
do produto? E o custo?
??????? $$$$$$