Upload
daniel-de-amaral
View
10.655
Download
5
Embed Size (px)
DESCRIPTION
Palestra ministrada para turma MBA ATI Unisinos 2009.
Citation preview
.. Daniel de Amaral | Agosto 2009
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.
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.