Gerenciamento Ágil de Projetos

Preview:

DESCRIPTION

Palestra ministrada para turma MBA ATI Unisinos 2009.

Citation preview

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.

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.

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?

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).

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

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

Gerenciamento de Projetos “Tradicional” – ciclo de vida

Grupos de processos PMBoK

FONTE: PMBoK, 2004, p.40

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

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

...

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

Determinando o objetivo

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

Mas o alvo é sempre fixo?

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.

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.

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...

Agilidade • Habilidade de criar e responder a

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

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/)

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)

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)

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

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/)

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)

Princípios do GAP

FONTE: HIGHSMITH, 2004, p. 28

Framework do GAP

FONTE: HIGHSMITH, 2004, p. 81

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

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

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

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.

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.

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

Alguns livros

Obrigado

Scrum

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

Scrum • Papéis:

– Product Owner

– Scrum Master

– Scrum team

Scrum • Artefatos:

– Product Backlog

– Sprint Backlog

– Burndown / burnup chart

...

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.

Recommended