39
.. Daniel de Amaral | Agosto 2009 Gerenciamento Ágil de Projetos

Gerenciamento Ágil de Projetos

Embed Size (px)

DESCRIPTION

Palestra ministrada para turma MBA ATI Unisinos 2009.

Citation preview

Page 2: Gerenciamento Ágil de Projetos

Agenda • Gerência de Projetos “Tradicional” e os modelos

“Clássicos” de desenvolvimento de Software.

• Natureza dos projetos de Softwares.

• Agilidade: uma breve introdução.

• A mudança de paradigma.

• Gerenciamento Ágil de Projetos.

• O papel do Gerente de Projetos no contexto do GAP.

Page 3: Gerenciamento Ágil de Projetos

Agenda • Apresentação é sobre:

– Introdução ao conceito Ágil.

– Contextualização do GAP.

– Premissas, princípios e valores que guiam o GAP.

• Apresentação não é sobre: – Detalhamento dos Métodos Ágeis.

– Técnicas ágeis para desenvolvimento e qualificação de software.

– Exposição sobre Gerenciamento de Projetos.

Page 4: Gerenciamento Ágil de Projetos

Gerenciamento de Projetos

• Quando o projeto será finalizado?

• Quanto vai custar?

• Todos concordamos sobre o objetivo final do projeto e seus critérios de qualidade?

• Quais são os riscos que ameaçam a finalização do nosso projeto? Como podemos mitigar estes riscos?

Page 5: Gerenciamento Ágil de Projetos

Gerenciamento de Projetos “Tradicional”

• Deposita grande esforço em detalhar todo trabalho a ser feito em um projeto em seu período inicial (fase de planejamento).

Page 6: Gerenciamento Ágil de Projetos

Gerenciamento de Projetos “Tradicional” – ciclo de vida

Seqüência típica de fases no ciclo de vida de um projeto

FONTE: PMBoK, 2004, p.23

Page 7: Gerenciamento Ágil de Projetos

Gerenciamento de Projetos “Tradicional” – ciclo de vida

FONTE: PMBoK, 2004, p.21

Nível típico de custos e pessoal ao longo do projeto

Influência das partes interessadas ao longo do

tempo

Page 8: Gerenciamento Ágil de Projetos

Gerenciamento de Projetos “Tradicional” – ciclo de vida

Grupos de processos PMBoK

FONTE: PMBoK, 2004, p.40

Page 9: Gerenciamento Ágil de Projetos

Modelos “Clássicos” de desenvolvimento de Software

Modelo Cascata (Waterfall)

Definição dos

requisitos de

Sistema

Definição dos

requisitos de

Software

Análise

Design

Codificação

Testes

Implantação/

Operações

FONTE: ROYCE, 1970

Page 10: Gerenciamento Ágil de Projetos

Modelos “Clássicos” de desenvolvimento de Software

Modelo Incremental

FONTE: PRESSMAN, 2006, p.40

Definição dos

requisitos

Análise

Design

Codificação

Testes

Implantação/

Operações

Definição dos

requisitos

Análise

Design

Codificação

Testes

Implantação/

Operações

Definição dos

requisitos

Análise

Design

Codificação

Testes

Implantação/

Operações

Tempo decorrido do projeto

Fu

ncio

na

lida

de

s e

Ca

racte

rística

s d

o S

oftw

are

Incremento 1

Incremento 2

Incremento n

...

Page 11: Gerenciamento Ágil de Projetos

Modelos “Clássicos” de desenvolvimento de Software

Modelo Espiral

FONTE: BOEHM, 1988

1. Determinar objetivos,

Alternativas, restrições

2. Avaliar alternativas,

Identificar e atacar riscos

3. Desenvolvimento e Testes

Custo

Acumulado

Progresso

4. Planejar próximas fases/

iterações

Revisão

Conceituação

da operação

Planejamento

dos requisitos e

Ciclo de vida

Análise

dos riscos

Análise

dos riscos

Análise

dos riscos

Protótipo

1

Protótipo

2

Protótipo

Operacional

Requisitos

Validação dos

Requisitos

Plano de

Desenvolvimento

Design

Detalhado

Codificação

Integração e

Testes

Testes de

Aceitação

Implementação

Design

Verificação

E validação

Integração e

Plano de testes

Page 12: Gerenciamento Ágil de Projetos

Determinando o objetivo

Page 13: Gerenciamento Ágil de Projetos

Determina-se o objetivo • Normalmente fixa-se o plano, e todo esforço busca

controlar os possíveis desvios...

Ponto de partida

Alvo/Goal = Sucesso

Plano

Desvios

Esforço para controlar os desvios

Page 14: Gerenciamento Ágil de Projetos

Mas o alvo é sempre fixo?

Page 15: Gerenciamento Ágil de Projetos

Cenário • A indústria de Software opera sob constante mudança

(ambientes com alto grau de inovação – exemplo: P&D).

• Os processos do chamado Gerenciamento de Projetos “Tradicional” freqüentemente demonstram-se muito burocráticos e não atendem a natureza dinâmica do desenvolvimento de softwares.

• Neste contexto, surge a necessidade de metodologias que possam facilmente responder as mudanças.

Page 16: Gerenciamento Ágil de Projetos

Cenário • Natureza dos projetos de Software:

– Software é intangível. – Descoberta. – Investigação. – Evolução dos requisitos ao longo do

desenvolvimento do produto. – Mudança!

• Projetos complexos acabam demandando uma abordagem empírica.

Page 17: Gerenciamento Ágil de Projetos

O alvo é fixo?

Ponto de partida

Alvo/Goal = Sucesso?

Plano

Desvios

Esforço para controlar os desvios

O alvo mudou, afinal, no mundo tudo muda...

Page 18: Gerenciamento Ágil de Projetos

Agilidade • Habilidade de criar e responder a

mudanças de forma a manter a lucratividade em um turbulento ambiente de negócios. (HIGHSMITH, 2002)

Page 19: Gerenciamento Ágil de Projetos

Manifesto Ágil Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo. Através deste trabalho, passamos a valorizar:

Indivíduos e suas interações acima de processos e ferramentas Software funcionando acima de documentação abrangente Colaboração do cliente acima de negociação de contratos

Resposta às mudanças acima da execução de um plano Isto é, ainda que haja valor nos itens à direita, valorizamos mais os itens à esquerda.

(AGILLE ALLIANCE, http://agilemanifesto.org/)

Page 20: Gerenciamento Ágil de Projetos

Métodos Ágeis

Extreme Programming (XP) Scrum

Dynamic Systems Development Method (DSDM)

Crystal Methods

Feature Driven Development (FDD)

Lean Development (LD)

Adaptive Software Development (ASD)

Agile Modeling (AM)

Page 21: Gerenciamento Ágil de Projetos

Gerenciamento Ágil de Projetos (GAP)

• Conjunto de valores, princípios e práticas que auxiliam equipes de projeto a entregar produtos ou serviços de valor em um ambiente complexo, instável e desafiador. Highsmith (2004)

• Nova plataforma de gerenciamento de projetos, aplicável a ambientes voláteis e desafiadores, sujeitos a mudanças freqüentes, em que o processo prescritivo e padronizado acaba não apresentando-se como a opção mais adequada. Chin (2004)

Page 22: Gerenciamento Ágil de Projetos

Mudança de Paradigma

Fixo Escopo Custo Tempo

Variável Custos Tempo Escopo

Orientado pelo Planejamento (Plan-

Driven)

Orientado pela Visão/Valor

(Value/Vision-Driven)

Tradicional Ágil

FONTE: SLIGER & BRODERICK, 2008, p. 68

Page 23: Gerenciamento Ágil de Projetos

Declaração de Interdepêndencia (DOI)

Somos uma comunidade de líderes de projeto que é altamente eficaz entregando resultados. Para atingir estes resultados:

Aumentamos o retorno sobre o investimento fazendo com que o fluxo contínuo de valor seja nosso foco. Entregamos resultados confiáveis engajando clientes em interações freqüentes e compartilhando responsabilidades. Esperamos a incerteza e a gerenciamos a mesma através de iterações, antecipação e adaptação.

(AGILE PROJECT LEADERSHIP NETWORK, http://www.pmdoi.org/)

Page 24: Gerenciamento Ágil de Projetos

Despertamos a criatividade e a inovação através do reconhecimento que indivíduos são a fonte última de valor, e criando um ambiente no qual eles possam fazer diferença. Impulsionamos desempenho através de cobrança do grupo por resultados e responsabilidade compartilhada pela efetividade da equipe. Melhoramos a efetividade e a confiabilidade através de estratégias, processos e práticas específicas dependendo da situação.

(AGILE PROJECT LEADERSHIP NETWORK, http://www.pmdoi.org/)

Declaração de Interdepêndencia (DOI)

Page 25: Gerenciamento Ágil de Projetos

Princípios do GAP

FONTE: HIGHSMITH, 2004, p. 28

Page 26: Gerenciamento Ágil de Projetos

Framework do GAP

FONTE: HIGHSMITH, 2004, p. 81

Page 27: Gerenciamento Ágil de Projetos

Aplicabilidade do GAP

FONTE: CHIN, 2004, p.20

Múltiplas organizações

externas

interessadas/envolvidas

Múltiplas organizações

internas

interessadoas/envolvidas

Um única organização

interessada

Projetos Operacionais Clássico Clássico Clássico

Projetos de Desenvolvimento de novos produtos / processos

Clássico/Ágil Clássico/Ágil Ágil

Projetos de desenvolvimento de novas tecnologias / plataformas

Clássico/Ágil Ágil Ágil

Clássico: Gerenciamento de Projetos “Tradicional” Ágil: Gerenciamento Ágil de Projetos

Page 28: Gerenciamento Ágil de Projetos

Características - Tradicional x Ágil Tópico Características Gerenciamento de

Projetos Tradicional

Características Gerenciamento Ágil

de Projetos

Objetivo Principal Orientado por atividade e centrado em

processo.

Orientado por produto e centrado em

pessoas.

Tipo de Projeto Estáveis e com baixo nível de

mudanças.

Projetos com mudanças constantes e

que necessitam de respostas rápidas.

Tamanho Aplicável em projetos de todos os

tamanhos. Mais efetivo em projetos de

maior duração.

Mais efetivo em projetos pequenos (5-

10 pessoas) – porém não existe

restrições em ser implementado em

projetos de maior porte.

Gerente de Projeto Controle total do projeto. Papel de facilitador ou coordenador.

Equipe de Projeto Atuação com papéis claros e bem

definidos.

Atuação colaborativa em todas as

atividades do projeto.

Cliente Participa das fases iniciais de requisitos

e das validações dos produtos.

Essencial. Deve ser parte integrante da

equipe do projeto.

Planejamento Detalhado e os envolvidos têm o papel

de validação, não participam da

elaboração do planejamento.

Curto e com a participação de todos os

envolvidos na elaboração do

planejamento.

FONTE: ADAPTADO DE CHIN, 2004

Page 29: Gerenciamento Ágil de Projetos

Características - Tradicional x Ágil

Tópico Características Gerenciamento

de Projetos Tradicional

Características Gerenciamento

Ágil de Projetos

Arquitetura Definida com foco em todo o projeto e

na reusabilidade.

Aplicação de design simples. Evolui

junto com o projeto e baseia-se na

refatoração.

Modelo de Desenvolvimento Cascata, espiral e iterativo. Iterativo e incremental.

Comunicação Formal. Informal.

Controle de Mudanças Processo formal de identificação e

aprovação entre os envolvidos.

Incorporação de novos requisitos pode

ser lento e caro.

Dinâmico e com rapidez de

incorporação nas iterações.

FONTE: ADAPTADO DE CHIN, 2004

Page 30: Gerenciamento Ágil de Projetos

GAP - Papel do Gerente de Projetos

• Reconhecer que projetos ágeis irão mudar de direção muitas vezes durante seu curso.

• Mapear as influências externas que possam impactar o projeto e compartilhar de maneira adequada essa informação com os times.

• Ser mais um facilitador do que um gerente (no sentido de comando).

• Atuar como um “canalizador” de informações, provendo informações de valor para o time de projeto.

Page 31: Gerenciamento Ágil de Projetos

GAP - Papel do Gerente de Projetos

• Manter uma visão geral do projeto para o time.

• Facilitar o processo de interação entre as pessoas.

• Liderar o processo de adaptação através da manutenção das lições aprendidas, atuando nas ações corretivas.

Page 32: Gerenciamento Ágil de Projetos

“Agilidade é um modelo-mental, uma maneira de pensar, não um conjunto de práticas ou processos” Jim Highsmith

Page 33: Gerenciamento Ágil de Projetos

Alguns livros

Page 34: Gerenciamento Ágil de Projetos

Obrigado

Page 35: Gerenciamento Ágil de Projetos

Scrum

Page 36: Gerenciamento Ágil de Projetos

Scrum

FONTE: SCHWABER, 2003, p. 9

Nova funcionalidade é

apresentada ao final do

Sprint

Backlog do

produto

selecionado

Backlog do produto

Sprint

Backlog

24 horas

Reuniões Scrum diárias

Sprint

( iteração )

Visão

Page 37: Gerenciamento Ágil de Projetos

Scrum • Papéis:

– Product Owner

– Scrum Master

– Scrum team

Page 38: Gerenciamento Ágil de Projetos

Scrum • Artefatos:

– Product Backlog

– Sprint Backlog

– Burndown / burnup chart

...

Page 39: Gerenciamento Ágil de Projetos

Referências • AGILLE ALLIANCE. Manifesto for agile software development. Disponível em

<http://www.agilemanifesto.org>.

• BOEHM, B. W. A Spiral Model of Software Development and Enhancement. Computer, v.21, n.5, p.61-72, 1988.

• CHIN, G. Agile Project Management: how to succeed in the face of changing project requirements. NY: Amacon, 2004.

• HIGHSMITH, J. Agile Software Development Ecosystems. Boston: Addison-Wesley, 2002.

• HIGHSMITH, J. Agile Project Management: creating innovative products. Boston: Addison-Wesley, 2004.

• HIGHSMITH, J. Declaration of Interdependence. 2005. Disponível em <http://www.pmdoi.org/>.

• PRESSMAN, R.S. Engenharia de Software. 6.ed. São Paulo: McGraw-Hill, 2006.

• PROJECT MANAGEMENT INSTITUTE – PMI. Um Guia do Conjunto de Conhecimentos em Gerenciamento de Projetos – Guia PMBok. 3.ed. Pennsylvania, EUA, 2004.

• ROYCE, W.W. Managing the development of large software systems. Proc. IEEE WESCON, p. 1-9, aug. 1970.

• SCHWABER, K. Agile Project Management with Scrum. Washington: Microsoft Press, 2004.

• SLIGER, M.; BRODERICK, S. The Software Project Manager's Bridge to Agility. Boston: Addison-Wesley Professional, 2008.