O documento descreve os conceitos gerais de gerenciamento de projetos e como aplicá-los ao desenvolvimento de software. Apresenta as etapas para gerenciar um projeto de software: 1) adotar uma metodologia de desenvolvimento, 2) comunicar-se com a equipe, 3) definir o escopo do sistema, 4) montar a equipe, 5) desenvolver o cronograma, 6) monitorar riscos, e 7) formalizar início e fim do projeto.
3. Projeto
“conjunto de atividades temporárias, realizadas em grupo,
destinadas a produzir um produto, serviço ou resultado únicos”
Project Management Institute, 2013
4. O que/por que projetamos
Desenhar uma planta baixa Para construir uma casa
5. O que/por que projetamos
Criar um plano orçamentário Para sair de férias com a família
6. O que/por que projetamos
Cursar uma universidade Para ter uma carreira de sucesso
7. Gerenciamento de Projetos
• Administração é o principal interessado
• Demanda aplicação de conhecimentos, habilidades e
técnicas na elaboração de atividades
• Define prazos, custos e qualidade
• Mobiliza recursos técnicos e humanos
8. Como gerenciar um projeto
1. Adote uma metodologia
2. Comunique-se
3. Defina o escopo
4. Monte o time
5. Desenvolva o cronograma
6. Monitore os riscos
7. Formalize o início e fim do projeto BARBI, 2013
9. Engenharia de Software
• Sistemas de Informação e Análise de Sistemas são os
principais interessados
• Gerencia o ciclo de vida dos softwares
Application Lifecycle Management – ALM
• Aplica os conceitos de Gerência de Projetos aos
sistemas de informação
• Uso constante de modelos abstratos
10. Engenharia de Software
“Engenharia de Software é a criação e a utilização de sólidos princípios de engenharia a
fim de obter software de maneira econômica, que seja confiável e que trabalhe em
máquinas reais”
BAUER, 1960
11. Como gerenciar um projeto de software
1. Adote uma metodologia de desenvolvimento
Metodologia de
Desenvolvimento
Processo
MétodosFerramentas
12. Como gerenciar um projeto de software
1. Adote uma metodologia de desenvolvimento
─ Processo
• Cascata
• Iterativo incremental
• Evolucional
• Espiral
• Ágil
13. Como gerenciar um projeto de software
1. Adote uma metodologia de desenvolvimento
─Métodos
• Análise Estruturada
• DFD – Diagrama de fluxo de dados
• MER – Modelo Entidade-Relacionamento
• Orientação a objetos
• Scrum
• XP
• FDD – Feature Driven Development
• TDD – Test Driven Develpment
• UML
14. Como gerenciar um projeto de software
1. Adote uma metodologia de desenvolvimento
─ Ferramentas
• CASE – Computer-aided software engineering
• IDE
• Editor
• Compilador
• Debug
• Testes
• Refactoring
15. Como gerenciar um projeto de software
2. Comunique-se com a equipe de desenvolvimento
Sei não Frank,
essas “mina”
parecem problema
“não é só o peixe que
morre pela boca!”
BARBI, 2013
16.
17.
18.
19. Como gerenciar um projeto de software
3. Defina o escopo do sistema
• O que o sistema vai fazer e o que não vai
• "O ótimo é inimigo do bom"
28. Como gerenciar um projeto de software
4. Monte o time de desenvolvimento
• Conheça os stakeholders
(qualquer um pode ser um membro)
• Enquanto se define o escopo as habilidades
necessárias para ser membro serão mais claras
• Monte equipes com competências diversificadas
29. Como gerenciar um projeto de software
5. Desenvolva o cronograma com sua equipe de
desenvolvimento
• Defina as atividades a serem desenvolvidas
• Defina quem executará a atividade e o tempo
• Verifique a progressão das atividades
31. Como gerenciar um projeto de software
6. Monitore os riscos que podem atrasar o desenvolvimento
• Recursos
Orçamento, ferramentas, pessoas...
• Funcionalidades
Alteração de requisitos...
• Cronograma
Tempo estipulado foi pouco...
32. Como gerenciar um projeto de software
7. Formalize o início e fim do projeto do sistema
─ Por que formalizar o início?
• Expressa autoridade para envolver pessoas e recursos
─ Por que formalizar o fim?
• Momento de avaliar erros e acertos (Know-how)
• Clientes acham que podem mudar o tempo todo
• Novas necessidades? Novo projeto!
“Quero colocar minha foto no perfil”
33.
34.
35. Como gerenciar um projeto de software
1. Adote uma metodologia de desenvolvimento
2. Comunique-se com a equipe de desenvolvimento
3. Defina o escopo do sistema
4. Monte o time de desenvolvimento
5. Desenvolva o cronograma com sua equipe de desenv.
6. Monitore os riscos que podem atrasar o desenv.
7. Formalize o início e fim do projeto do sistema