1 gerência de projetos de software prof. rodrigo nin [email protected]

41
1 Gerência de Projetos de Software Prof. Rodrigo Nin [email protected]

Upload: internet

Post on 18-Apr-2015

110 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

1

Gerência de Projetosde Software

Prof. Rodrigo Nin

[email protected]

Page 2: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

2

Referências

http://www.sei.cmu.edu/cmmi/

CMMI (Capability Maturity Model® Integration)

http://www.pmi.org

PMI (Project Management Institute)

Page 3: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

3

PMI – Project Management Institute

• Associação de profissionais de Gerência de Projetos

• Sem fins lucrativos

• Fórum de excelência na área de Gerência de Projetos

• PMBOK – Project Management Body of KnowledgeDocumento contendo técnicas, métodos e processos relativos a Gerência de Projetos

• PMP - Project Management ProfessionalCertificação do PMI para indivíduos

• PMO - Project Management OfficeEstrutura organizacional para coordenação da Gerência de Projetos em organizações. Formalizam e padronizam práticas, processos e operações de Gerência de Projetos

Page 4: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

4

Projetos

Trabalho

Rotinas

Projetos

Adaptado de PMBOK 2000 - Project Management Institute

Trabalho contínuo e repetitivo com resultado sempre “igual”

Trabalho temporário com resultado único

•Executado por pessoas•Restringido por recursos limitados•Planejado, executado e controlado

Page 5: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

5

Projetos

Adaptado de PMBOK 2000 - Project Management Institute

É com projetos que coisas novas são criadas

Exemplos

• Desenvolver um novo produto

• Implementar uma mudança estrutural na organização

• Desenvolver um sistema de informação

• Adquirir um software

• Construir um prédio ou instalações

• Desenvolver um sistema de abastecimento de águas

• Realizar uma campanha política

• Implementar um novo processo ou procedimento

Projetos produzem algo que nunca foi feito antes pelas mesmas pessoas e que não se repetirá nas mesmas condições

Page 6: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

6

São Elaborados ProgressivamenteElaboração: A definição do projeto é bastante abrangente no início do projeto e vai sendo detalhada à medida que o projeto vai sendo executado

Progressiva: Executado através de passos, incrementos iterativos

Projetos

Adaptado de PMBOK 2000 - Project Management Institute

Projetos podem...• Envolver uma pessoas ou milhares

• Durar poucas semanas ou anos

• Envolver uma unidade isolada da organização ou transpor as fronteiras da organização ( consórcios, parcerias, etc.)

Pessoas e recursos materiais são alocados a um

projeto na medida das necessidades de cada etapa

Page 7: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

7

Projetos

Adaptado de PMBOK 2000 - Project Management Institute

• Custos e equipe são pequenas no início, aumentam durante a execução e voltam a cair drasticamente no final

• A probabilidade de sucesso é muito pequena no início

• A influência dos contratantes é bastante mais alta no início

Page 8: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

8

Projetos

Principais competências para o sucesso de projetos de software

Engenhariado Produtosaber projetar

e construir

Engenhariade Processossaber organizar

o trabalho

Gerênciade Projetossaber planejar

e controlar

Page 9: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

9

Gerencia de Projetos - Processos

Adaptado de PMBOK 2000 - Project Management Institute

• Processos de iniciação: Definição de responsabilidades e autorização para início do projeto ou fase

• Processos de Planejamento: Definição e refinamento dos objetivos e plano de ação para alcançar os objetivos

• Processos de execução: coordenação de pessoas e recursos para realização do plano definido

• Processos de controle: monitoramento e avaliação de progresso e implementação de ações corretivas ou preventivas

• Processos de encerramento: formalização da aceitação dos resultados e conclusão dos trabalhos

O PMBOK apresenta cinco grupos de processos para administrar um projeto.

Page 10: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

10Adaptado de PMBOK 2000 - Project Management Institute

Relacionamento entre grupos de processos em uma fase de projeto

Projetos - Processos

Page 11: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

11

A execução dos processos não é estritamente seqüencial

Adaptado de PMBOK 2000 - Project Management Institute

Projetos - Processos

Page 12: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

12Adaptado de PMBOK 2000 - Project Management Institute e de Hermano Perrelli - Centro de Informática da

UFPE

Possuem um Ciclo de Vida que...

• Estabelece uma seqüência de fases com o objetivo de realizar algo e garantir um bom gerenciamento

• Determina o início e fim do projeto

• Oferece uma seqüência de pontos de decisão no planejamento

• Oferece pontos de sincronização para o trabalho colaborativo da equipe

• Tem pontos de aprendizado para melhoria dos próximos passos

Fases com produtos explicitamente aprovados

Projetos - Fases

Page 13: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

13Adaptado de Hermano Perrelli - Centro de Informática da UFPE

Inicialmente um conjunto de funcionalidades são especificadas, implementadas, construídas e aprovadas.

Em seguida o mesmo ciclo se repete até que

todas as funcionalidades

previstas na solicitação do

sistema tenham sido atendidas.

Estratégia Incremental

Projetos - Fases

Page 14: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

14Adaptado de PMBOK 2000 - Project Management Institute

Relacionamento entre as fases

Projetos - Fases

FASE 1

FASE 2

FASE 3

Page 15: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

15Adaptado de Hermano Perrelli - Centro de Informática da UFPE

Gerencia de Projetos – Áreas do Conhecimento

O que se tem que gerenciar para ter sucesso em um projeto?

Page 16: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

16

Gerencia de Projetos – Processos X Áreas do Conhecimento

Adaptado de PMBOK 2000 - Project Management Institute

Page 17: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

17

Gerencia de Projetos – Processos X Áreas do Conhecimento Adaptado de PMBOK 2000 - Project Management Institute

Page 18: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

18Adaptado de Hermano Perrelli - Centro de Informática da UFPE

Gerencia de Projetos Grupos de Processos X Áreas do

Conhecimento

Page 19: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

19Adaptado de CMMI-SE&SW V1.1 (Staged Representation)

Gerencia de Projetos – CMMI

• Planejamento de Projetos

• Monitoramento e Controle de Projetos

• Gerenciamento de Acordos com Fornecedores

• Gerenciamento Integrado de Projetos

• Gerenciamento de Riscos

• Integração de Equipes

• Gerenciamento Quantitativo de Projetos

Áreas de processo de Gerenciamento de Projetos do CMMI

• Gerência de Requisitos (escopo)

• Gerência de Configuração (conteúdo produzido)

Page 20: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

20

Gerencia de Configuração

Software em constante evolução

Software com múltiplas versões

Diversas alterações concorrentes e em estágios diferentes

Situações típicas no desenvolvimento de software

Page 21: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

21

Gerencia de Configuração

Um desenvolvedor alterando um código

Outro desenvolvedor alterando outro código

Um terceiro criando código novo com alterações no banco de dados

Uma alteração em homologação

Outra alteração sendo instalada em alguns clientes

Um usuário reportando um bug que exige correção emergencial

Uma demonstração de “customização” sendo elaborada

Et coetera…

Simultaneamente temos ...

Page 22: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

22

Gerencia de Configuração

Bugs já corrigidos reaparecem em versão posterior

Funcionalidades já implementadas que desaparecem em versão posterior

Impacto de mudanças mal avaliado acarretando em retrabalho, atrasos, erros, etc.

Não se sabe com certeza qual versão está instalada no usuário

Não se consegue reproduzir problema reportado pelo usuário

Sintomas da perda de controle sobre a configuração de software

Page 23: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

23

Gerencia de Configuração

Conseqüências ...

Cópias dos mesmos arquivos (?) em servidores e estações de trabalho

Arquivos perdidos ou com falhas de integridade

Arquivos sobrescritos

Inconsistências: código X código X DLLs X banco de dados X ...

Dificuldade de saber quem está alterando o que

Impossibilidade de saber qual arquivo foi utilizado na elaboração de outro

...PERIGO!

Page 24: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

24

Gerencia de Configuração

Software é complexo

Software é intangível

Software é sofre muitas alterações

Software é fácil de alterar,

o que é difícil é alterar certo

Razões para a perda do controle sobre o software

Page 25: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

25

Gerencia de Configuração

Abordagem sistemática e disciplinada do problema de gerenciar

a evolução de produtos de software, visando manter a

integridade e a rastreabilidade durante todo o ciclo de vida dos

produtos

Adaptado de CMMI-SE&SW V1.1 (Staged Representation)

Conceito

Estabelecer e manter a integridade dos artefatos (produtos de

trabalho) ao longo de todo o ciclo de vida do software

Objetivo

Page 26: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

26

Gerencia de Configuração

Page 27: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

27

Gerencia de Configuração

Page 28: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

28

Gerencia de Configuração

Page 29: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

29

Gerencia de Configuração

Page 30: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

30

Gerencia de Configuração

Page 31: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

31

Gerencia de Configuração

Adaptado de CMMI-SE&SW V1.1 (Staged Representation)

Selecionar e identificar os itens de configuração

Definir baselines de configuração

Controlar sistematicamente as mudanças na configuração

Manter a integridade dos itens de configuração

Manter a rastreabilidade dos itens de configuração

Prover dados precisos sobre o estado da configuração ao longo de toda a vida do software

A Gerência de Configuração envolve ...

Page 32: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

32

Gerencia de Configuração

Adaptado de CMMI-SE&SW V1.1 (Staged Representation)

Cronogramas Descrições de processo Regras de negócio Requisitos Modelos e especificações de artefatos Código fonte Código executável Estruturas e scripts de banco de dados Compiladores e componentes adquiridos Manuais Casos de teste etc… (qualquer coisa que se decida controlar)

Exemplos de itens de configuração

Page 33: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

33

Gerencia de Configuração

Adaptado de CMMI-SE&SW V1.1 (Staged Representation)

São conjuntos de artefatos formalmente definidos que

servem de base para desenvolvimento posterior e que só

podem ser alterados através de procedimentos

controlados e formalmente estabelecidos

Baselines

Page 34: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

34

são planejados

Gerencia de Configuração

Adaptado de CMMI-SE&SW V1.1 (Staged Representation)

Baselines

Page 35: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

35

Gerencia de Configuração

Adaptado de CMMI-SE&SW V1.1 (Staged Representation)

O processo de desenvolvimento de software segue de baseline em baseline, acumulando

itens de configuração novos ou alterados

Os baselines são os marcos de referência no desenvolvimento de um software

Os baselines são versões estáveis e consistentes de um software contendo todos os artefatos que o compõem em um dado momento

Baselines

Page 36: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

36

Gerencia de Configuração

Adaptado de CMMI-SE&SW V1.1 (Staged Representation)

Uma descrição aprovada de um software que contém internamente versões consistentes de requisitos, matrizes de rastreabilidade, planos, etc.

Uma versão completa de um software para ser instalado

Uma versão completa de um software que foi adequado a uma nova tecnologia

Exemplos de baselines

Page 37: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

37

Gerencia de Configuração

Adaptado de CMMI-SE&SW V1.1 (Staged Representation)

Versionamento

Indentificação de uma nova versão (ou revisão) dos itens a cada alteração

1.2

1.1

1.0

Versão atual do item(topo da pilha)

Page 38: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

38

Gerencia de Configuração

Adaptado de CMMI-SE&SW V1.1 (Staged Representation)

Cada baseline é constituída de versões específicas de cada item de configuração

Item A

1.21.11.0

1.3

Item B

1.0

Item C

1.21.11.0 Baseline 1

Baseline 2

Versionamento X Baseline

Page 39: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

39

Gerencia de Configuração

Adaptado de CMMI-SE&SW V1.1 (Staged Representation)

Versionamento: Check-out

Disponibiliza a última versão do item na área de trabalho do desenvolvedor bloqueando check-outs posteriores

1.21.11.01.2

Área do Sistema

Área do Desenvolvedor

Versão atual do item(topo da pilha)

Page 40: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

40

Gerencia de Configuração

Adaptado de CMMI-SE&SW V1.1 (Staged Representation)

Retira o item da área de trabalho do desenvolvedor, adiciona como uma nova versão na área do sistema e libera p/check-out

Área do Sistema

Área do Desenvolvedor

1.21.11.0

1.2

1.3Versão atual do item

(topo da pilha)

Versionamento: Check-in

Page 41: 1 Gerência de Projetos de Software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

41

Gerencia de Configuração

Adaptado de CMMI-SE&SW V1.1 (Staged Representation)

Distribuições: Versões entregues ao cliente

Baseline 1

Baseline 2

Baseline 3

Baseline 4

Baseline 5

Baseline 6

Baseline 7

Distribuição 1

Distribuição 2

Distribuição 3

Versionamento: Distribuições