Gerência de projetos de software

61
Gerência de projetos de software PUC-SP / TIDD / TIDA - Nivaldo Silva

description

Conceitos e dicas a respeito da atividade de Gerência de Projeto de Software. Apresentação criada para seminário na disciplina de Estado da Arte em Tecnologia da Informação e Desenvolvimento de Aplicações, do programa de mestrado TIDD, da Puc-SP

Transcript of Gerência de projetos de software

Page 1: Gerência de projetos de software

Gerência de projetos de software

PUC-SP / TIDD / TIDA - Nivaldo Silva

Page 2: Gerência de projetos de software

Vou falar sobre:

4Ps de Pressman

21 Regras de Ouro de McCarthy

Meu projeto de pesquisa

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 2

Page 3: Gerência de projetos de software

4Ps da Gerência de projeto de softwarepor Roger Pressman

Page 4: Gerência de projetos de software

4Ps de Pressman

A gerência de projeto de software trabalha com 4 fatores:

PessoasProdutoProcessoProjeto

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 4

Page 5: Gerência de projetos de software

Pessoas

Page 6: Gerência de projetos de software

Pessoas - Categorias

As pessoas envolvidas em um projeto de software

podem ser categorizadas em:

Senior managers

Project (technical) managers

Practitioners

Customers

End-usersPUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 6

Page 7: Gerência de projetos de software

Pessoas – Habilidades do líderEspera-se que um líder de projeto de software seja

capaz de:

Solucionar problemas.

Assumir o controle.

Promover conquistas.

Unir e influenciar a equipe.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 7

Page 8: Gerência de projetos de software

Pessoas – Habilidades do líder

Bons desenvolvedores nem sempre se tornam bons gerentes.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 8

Page 9: Gerência de projetos de software

Pessoas – A equipe

Três possíveis estruturas de equipe:

Democratic decentralized (DD)

Controlled decentralized (CD)

Controlled Centralized (CC)

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 9

Page 10: Gerência de projetos de software

Pessoas – A equipe

Democratic decentralized (DD)

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 10

Page 11: Gerência de projetos de software

Pessoas – A equipe

Controlled decentralized (CD)

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 11

Page 12: Gerência de projetos de software

Pessoas – The software team

Controlled Centralized (CC)

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 12

Page 13: Gerência de projetos de software

Pessoas – A equipe

Sete fatores a considerar quando planejar a estrutura do time:

1. A dificuldade do problema a ser resolvido;

2. O tamanho do(s) programa(s) a serem desenvolvidos;

3. O tempo que o time ficará junto;

4. O grau de modularização do problema;

5. A exigência de qualidade e confiabilidade do sistema;

6. A rigidez do prazo;

7. O grau de comunicabilidade exigido pelo projeto.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 13

Page 14: Gerência de projetos de software

Pessoas – Coordenação

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 14

Page 15: Gerência de projetos de software

Produto

Page 16: Gerência de projetos de software

Produto – Tipos de Aplicações

System software

Real-time software

Business software

Engineering and scientific software

Embedded software

Personal computer software

Web-based software

Artificial intelligence softwarePUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 16

Page 17: Gerência de projetos de software

Produto – Escopo

O escopo pode ser definido respondendo essas

questões:

Contexto.

Objetivo da informação.

Função e desempenho.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 17

Page 18: Gerência de projetos de software

Processo

Page 19: Gerência de projetos de software

Processo

O Processo é o caminho para o desenvolvimento de um produto de

software de alta qualidade.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 19

Page 20: Gerência de projetos de software

Processo

O Processo é o caminho para o desenvolvimento de um produto de

software de alta qualidade.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 20

Page 21: Gerência de projetos de software

Processo - Paradigmas

the linear sequential model the prototyping model the RAD model the evolutionary model

the incremental model the spiral model the WINWIN spiral model the concurrent development model

the component-based development model the formal methods model the fourth generation techniques model

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 21

Page 22: Gerência de projetos de software

Processo - Linear

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 22

Page 23: Gerência de projetos de software

Processo - Linear

É o mais antigo e mais usado paradigma de desenvolviemento de software.

Problemas: Projetos reais raramente seguem o

encadeamento sequencial que ele sugere. Dificilmente todos os requisito são

identificados no início do projeto. Uma versão funcional só será vista perto do

final do projeto. Mais riscos, menos motivação.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 23

Page 24: Gerência de projetos de software

Processo - Prototipagem

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 24

Page 25: Gerência de projetos de software

Processo - Prototipagem

Muito defendidopor Fred Brooks Ajuda a perceber riscos

Problemas: O cliente pode gostar do protótipo, e

pedir para ficar com ele mesmo, com poucas correções.

Escolhas precipitadas podem ser levadas para o produto final

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 25

Page 26: Gerência de projetos de software

Processo - Espiral

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 26

Page 27: Gerência de projetos de software

Processo - Espiral

Mais realista Usa protótipos como estratégia de

redução de riscos

Problemas: Pode ser difícil de convencer clientes

que este processo é controlável.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 27

Page 28: Gerência de projetos de software

Processo - Incremental

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 28

Page 29: Gerência de projetos de software

Processo - Incremental

Diferente da prototipagem, entrega um produto operacional a cada interação.

Cada release pode ser usado e avaliado por usuários reais

Pode ser útil quando não há equipe suficiente para entregar o software completo em um prazo curto

A equipe pode crescer à medida que o produto cresce, e é aceito pelo público

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 29

Page 30: Gerência de projetos de software

Projeto

Page 31: Gerência de projetos de software

Projeto

Cinco práticas comuns de condução de projetos de

software:

Comece com o pé direito

Mantenha o ritmo

Acompanhe o progresso

Tome decisões inteligentes

Faça uma análise posteriorPUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 31

Page 32: Gerência de projetos de software

Projeto - Métricas

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 32

Page 33: Gerência de projetos de software

21 REGRAS DE OURO PARA ENTREGAR BOM SOFTWARE NO PRAZOpor Jim McCarthy

Page 34: Gerência de projetos de software

NO PRAZO

Page 35: Gerência de projetos de software

1. Não saiba o que você não sabe.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 35

Page 36: Gerência de projetos de software

2. Saiba aonde você está.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 36

Page 37: Gerência de projetos de software

3. Lembre-se do triângulo.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 37

Page 38: Gerência de projetos de software

4. Não fique no escuro.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 38

Page 39: Gerência de projetos de software

5. Use marcos de Defeito Zero.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 39

Page 40: Gerência de projetos de software

6. Cuidado com o cara na sala.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 40

Page 41: Gerência de projetos de software

7. Não troque um prazo ruim por

outro igual

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 41

Page 42: Gerência de projetos de software

8. Quando escorregar, não

caia

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 42

Page 43: Gerência de projetos de software

9. Baixa tecnologia é boa.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 43

Page 44: Gerência de projetos de software

10. Projete o tempo.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 44

Page 45: Gerência de projetos de software

11. Se você desenvolver, vai

entregar.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 45

Page 46: Gerência de projetos de software

12. Portabilidade é para canoas.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 46

Page 47: Gerência de projetos de software

BOM SOFTWARE

Page 48: Gerência de projetos de software

13. Conquiste os clientes.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 48

Page 49: Gerência de projetos de software

14. Lembre-se de uma coisa: Unidade.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 49

Page 50: Gerência de projetos de software

15. Defina seu tema.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 50

Page 51: Gerência de projetos de software

16. Varie seu tema.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 51

Page 52: Gerência de projetos de software

17. Equilibre seu tema.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 52

Page 53: Gerência de projetos de software

18. Evolua seu tema.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 53

Page 54: Gerência de projetos de software

19. Seu produto deve possuir uma

hierarqia.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 54

Page 55: Gerência de projetos de software

20. Estabeleça uma visão

compartilhada.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 55

Page 56: Gerência de projetos de software

ENTREGANDO

Page 57: Gerência de projetos de software

21. Coloque a equipe em “modo

de entrega”.

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 57

Page 58: Gerência de projetos de software

Meu projeto de pesquisa

Page 59: Gerência de projetos de software

Meu projeto de pesquisa

Identificar e comparar processos de design abertos a participação

Open Source Software

Metadesign

Open Innovation

Crowdsourcing

Co-creation

Open Business

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 59

Page 60: Gerência de projetos de software

Referências

Fred Brooks no silver bullet (1995) the mythical man-month (1975) The Design of Design: Essays from a Computer Scientist (2010)

Jim McCarthy 21 Rules of Thumb for Shipping Great Software on Time Dynamics of Software Development (1995)

Roger Pressman Software Engginering (5ªed. 2001)

Steve McConnell Open Source Methodology: Ready for Prime Time?(1999)

Alan MacCormack Innovation through Global Collaboration (2007)

PUC-SP / TIDD / TIDA - Gerência de Projeto de Software - Nivaldo Silva 60

Page 61: Gerência de projetos de software

Obrigado= )[email protected]@narrowcast