O Gerenciamento de Projetos Ágeis Agenda
O Gerenciamento de Projetos Desenvolvidos à Luz das Metodologias Ágeis Ana Liddy Cenni de Castro Magalhães
Introdução
Metodologias Ágeis Origem, princípios e vantagens oferecidas Metodologias de desenvolvimento ágeis: XP e Scrum Metodologias de gProjetosento ágeis: XPM e APM
Comparativo entre os Gerenciamentos de Projetos Tradicional e Ágil
Junho / 2005
O Gerenciamento de Projetos Ágeis Introdução O Dilema da Construção de Software Projetos de software sempre foram marcados por fracassos: Prazos e orçamentos não cumpridos Custo Expectativas não satisfeitas Qualidade Prazo Retorno muito menor que o esperado Impossível satisfazer ao mesmo tempo Escopo custo, prazo, escopo e qualidade
Dificuldades da construção de sw e a quebra de paradigma
Melhores práticas de gerência segundo o PMBOK Comparação entre processos do PMBOK e abordagem ágil
Conclusão
O Gerenciamento de Projetos Ágeis Será Esta a Solução??? Buscar a complexidade, ao invés da simplicidade... Uma grande solução para nossos problemas ... ... ou um grande problema para nossas soluções ???
ESTRATÉGICO
Manual
NBR ISO 9001:2000
NBR ISO/IEC 12207
A Solução … Construção de software = construção de projetos de engenharia Receita para o sucesso: z investir muito tempo e recursos em uma fase detalhada de planejamento e design z garantir o sucesso da execução com gerenciamento e processos bem definidos
ISO/IEC 90003:2004
TÁTICO
CMMI * ISO/IEC 15504
Procedimentos
9126 PMBOK 14598 OPERACIONAL
12119
ISO/IEC 15939 (2002)
Instruções
IEEE Stds. Software Engineering
PSM
O Gerenciamento de Projetos Ágeis Será Esta a Solução??? Buscar a documentação escrita, ao invés da comunicação... Gera problemas na qualidade do produto ... ... ou na qualidade do processo ???
O Gerenciamento de Projetos Ágeis Não era bem isso que ele queria
Será Esta a Solução??? Desprezar a realimentação durante o desenvolvimento ... Entregar tudo no final, sem ouvir o usuário, e descobrir que ...
Variáveis externas não foram consideradas O produto não possui desempenho satisfatório
O Gerenciamento de Projetos Ágeis Será Esta a Solução??? Insistir no erro, sem ter coragem para mudar...
É preciso investir em novas tecnologias ... ... e rever a forma como realizamos nosso negócio ...
O Gerenciamento de Projetos Ágeis O Novo Problema ... Por mais que as metodologias tenham definido processos e controles, os resultados estão longe dos esperados ...
Esta receita não funciona para o desenvolvimento de software: z
z
z
z
Um software é, pela sua própria natureza, intangível É impossível antever todas as suas funcionalidades As necessidades emergem durante todo o seu desenvolvimento, e vão amadurecendo até a sua implantação A utilização do software aprimora os seus recursos
A mudança é, portanto, inevitável! A mudança, necessária, passa a ser amaldiçoada!
O Gerenciamento de Projetos Ágeis
O Gerenciamento de Projetos Ágeis
A Dificuldade da Comunicação
A Quebra de Paradigma Abordagem Tradicional:
Por que não …
Qualidade
Qualidade
Quantos pontos a figura possui? Quantas pontas a figura possui? Qual a cor da figura?
Escopo
Falhas de Comunicação: Esquecimento Interpretação diferente Cenários destes Problemas Traduções Tempo de resposta longo Mensagens longas Linguagem ambígua
Custo
Prazo
Custo
Parte de um escopo fechado; Define-se custo e prazo; Manipula-se a qualidade.
Por que não ...
Escopo
Prazo
Ter um prazo predefinido; Ter um custo fixo, definido em função do prazo; Manter os níveis de qualidade; Manipular o escopo?
Fazer o mais simples agora, e refinar depois? Mudar quando for necessário? Libertar-se do excesso de documentação?
Usuários pagam por software, não por documentação A QUALIDADE é que faz a diferença ...
O Gerenciamento de Projetos Ágeis
O Gerenciamento de Projetos Ágeis
A Busca pela Agilidade...
Abordagem Ágil: Vantagens
O que fazer?
Para o cliente:
Para o desenvolvedor:
Construir o software de forma evolutiva e adaptativa
9Obter um produto inicial (núcleo) com rapidez, resolvendo problemas críticos (retorno rápido do investido)
9Satisfazer às necessidades reais do cliente, deixando-o mais motivado para realizar negócios futuros
Começar da forma mais simples possível: apenas com o planejamento e design necessários Resolver as necessidades mais claras e críticas: agregando valor ao produto e entregando algum resultado rapidamente Objetivo:
ter um software em operação o mais rápido possível, para que ele tenha chance de evoluir!
Investir ao máximo em simplicidade: desta forma, a mudança deixa de ser traumática e passa a ser natural
Para colocar estas idéias em prática, é preciso mudar a forma de se negociar e desenvolver software!
9Ter certeza de que está desenvolvendo 9Defini-lo em versões, em função o produto correto das necessidades reais e mais críticas 9Manter a equipe menos desgastada 9Investir em funcionalidades que e mais motivada realmente serão utilizadas 9Correr menos risco no investimento
9Correr menos risco na contratação
9Manter os envolvidos no processo mais confiantes no resultado
9Obter sucesso nos projetos, trazendo novas oportunidades
O Gerenciamento de Projetos Ágeis
Metodologias Ágeis
Agenda
Origem
Introdução Dificuldades da construção de sw e a quebra de paradigma Metodologias Ágeis Origem, princípios e vantagens oferecidas Metodologias de desenvolvimento ágeis: XP e Scrum Metodologias de gerenciamento ágeis: XPM e APM Comparativo entre os Gerenciamentos de Projetos Tradicional e Ágil Melhores práticas de gerência segundo o PMBOK Comparação entre processos do PMBOK e abordagem ágil
Manifesto Ágil “Estamos evidenciando maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazê-lo. Através desse trabalho, passamos a valorizar: MAIS QUE processos e ferramentas z Indivíduos e interação z Software em funcionamento MAIS QUE documentação abrangente z Colaboração com o cliente MAIS QUE negociação de contratos z Responder a mudanças MAIS QUE seguir um plano Ou seja, mesmo tendo valor os itens à direita, valorizamos mais os itens à esquerda.”
Conclusão
Os 12 Princípios da Agilidade
Os 12 Princípios da Agilidade
Princípio 1
Princípio 2
A mais alta prioridade é a satisfação do cliente, cliente por meio da liberação mais rápida e contínua de software de valor! valor
Fonte: SilverStream®
Receba bem as mudanças de requisitos, requisitos mesmo em estágios tardios do desenvolvimento. Processos ágeis devem admitir mudanças que trazem vantagens competitivas para o cliente.
Fonte: SilverStream®
Os 12 Princípios da Agilidade
Os 12 Princípios da Agilidade
Princípio 3
Princípio 4
Libere software freqüentemente (em intervalos de 2 semanas até 2 meses), dando preferência para uma escala de tempo mais curta. curta
Mantenha pessoas ligadas ao negócio (cliente) e desenvolvedores trabalhando juntos a maior parte do tempo do projeto.
Fonte: SilverStream®
Fonte: SilverStream®
Os 12 Princípios da Agilidade
Os 12 Princípios da Agilidade
Princípio 5
Princípio 6
Construa projetos com indivíduos motivados, motivados dê a eles o ambiente e suporte que precisam e confie neles para ter o trabalho realizado.
Fonte: SilverStream®
O método mais eficiente e efetivo para repassar informação entre uma equipe de desenvolvimento é pela comunicação faceface-a-face. face
Fonte: SilverStream®
Os 12 Princípios da Agilidade
Os 12 Princípios da Agilidade
Princípio 7
Princípio 8
Software funcionando é a principal medida de progresso de um projeto de software.
Processos ágeis promovem desenvolvimento sustentado. sustentado Assim, patrocinadores, desenvolvedores e usuários devem ser capazes de manter conversação pacífica indefinidamente. indefinidamente
Fonte: SilverStream®
Fonte: SilverStream®
Os 12 Princípios da Agilidade
Os 12 Princípios da Agilidade
Princípio 9
Princípio 10
A atenção contínua para a excelência técnica e um bom projeto (design) aprimoram a agilidade. agilidade
Fonte: SilverStream®
Simplicidade – a arte de maximizar a quantidade de trabalho não feito – é essencial, devendo ser assumida em todos os aspectos do projeto.
Fonte: SilverStream®
Os 12 Princípios da Agilidade
Os 12 Princípios da Agilidade
Princípio 11
Princípio 12
As melhores arquiteturas, requisitos e projetos emergem de equipes autoauto-organizadas. organizadas
Em intervalos regulares, regulares as equipes devem refletir sobre como se tornarem mais efetivas, efetivas e então refinarem e ajustarem seu comportamento de acordo.
Fonte: SilverStream®
Fonte: SilverStream®
Metodologias de Desenvolvimento Ágeis
XP – Extreme Programming Valores
XP – Extreme Programming Comunicação
Características:
Emprega “ao extremo” boas práticas da engenharia de software É de domínio público, voltado para o desenvolvimento Especialmente adequada para equipes pequenas (2-10 pessoas) trabalhando em projetos com requisitos imprecisos e instáveis z z
Para projetos grandes: dividir em subprojetos independentes Para projetos longos: quebrar em seqüência de mini-projetos auto-contidos,
Simplicidade
com duração de 1-3 semanas
Descrita por meio de valores, valores princípios e práticas
“Boas Prá Práticas” ticas” Rever o código Testar o código Envolver o cliente
Utilizaçã o em XP Utilização O código é desenvolvido por pares de programadores que trabalham juntos em uma mesma máquina, possibilitando rever o código o tempo todo Todos os testes devem ser automatizados e executados várias vezes ao dia, com integração contínua O cliente deverá estar no local de desenvolvimento, fazendo parte da equipe do projeto XP
Fundamental para a compreensão do trabalho a ser feito e entrosamento da equipe
É preferível fazer algo simples e gastar um pouco mais para alterar, se necessário, do que fazer algo complicado e não utilizar Sistemas simples são mais fáceis de serem testados
Comunicação Simplicidade
Coragem
Realimentação
Realimentação (feedback)
É muito importante ter uma idéia clara sobre a situação atual do sistema Maior realimentação Æ facilidade de comunicação, teste e aprendizado
Coragem
Algo que não funcione adequadamente deve ser descartado e refeito, de forma mais simples
XP – Extreme Programming
Práticas
Princípios Básicos
Objetivo:
XP – Extreme Programming
Proporcionar a pequenas / médias equipes um ambiente de desenvolvimento cooperativo, capaz de atingir altos níveis de produtividade e um elevado grau de confiança Realimentar rapidamente
Assumir a simplicidade
Aceitar a mudança
Medir honestamente
Fazer mudanças incrementais
Não gerar sobrecarga
Executar trabalho com qualidade
Comunicar de forma aberta e honesta
Extreme Programming
Ensinar aprendendo
Adaptar-se à cultura e condições locais
Investir pouco no início
Aceitar responsabilidades
Jogar para vencer Fazer experimentos concretos
Trabalhar a favor do instinto das pessoas
XP – Extreme Programming
Atividades básicas do desenvolvimento XP: projetar, codificar, testar e escutar (o cliente e a equipe) planejamento do desenvolvimento do tipo “just in time” ¾ as práticas estruturam as atividades e seguem os princípios, sustentando os valores definidos
O jogo do planejamento
Padrão para codificação
Uso de metáforas Projeto de sw simples Desenvolvimento baseado em teste
Extreme Programming
Reestruturação constante
40 h semanais
XP – Extreme Programming
Projetos XP – Papéis
Projetos XP – Ciclo de Vida
Programador: projetar, codificar, implementar testes e estimar tarefas Cliente: estabelecer prioridades e escopo, escrever estórias e os testes
DESENVOLVIMENTO
funcionais, esclarecer dúvidas dos programadores
Testador (tester): apoiar o cliente na escolha e definição de testes
funcionais, assegurar sua execução e relatar problemas identificados
Acompanhador (tracker): reportar as métricas do projeto, promover visibilidade (estimado/realizado) – é a “consciência da equipe
Técnico (coach): identificar problemas e resolvê-los para que a equipe possa trabalhar melhor (não requer conhecimento técnico profundo e assemelha-se a um gerente de projeto)
PLANEJAMENTO INICIAL - Avaliar viabilidade - Identificar macrofuncionalidades - Elaborar Big Plan
RELEASE (1 a n) - Planejar / acompanhar a release ITERAÇÃO (1 a m) - Planejar / acompanhar - Detalhar / especificar o incremento (estórias) - Desenvolver o incremento - Validar o incremento - Integrar o incremento - Validar o sistema
Programador
Cliente Acompanhador (tracker)
Versões em ciclos pequenos Cliente / usuário disponíveis Programação em pares Propriedade coletiva Integração contínua
Técnico (coach) Testador (tester)
Produto de software parcial
PRODUTO DE SOFTWARE FINAL
XP – Extreme Programming
XP – Extreme Programming
Projetos XP – Planejamento Planejamento inicial z
Coach + cliente : analisar viabilidade, identificar escopo geral (macro funcionalidades) e elaborar o plano inicial (Big Plan)
Projetos XP – Acompanhamento Tracker: responsável por acompanhar o progresso da iteração z Verificar periodicamente com o programador:
Planejamento da próxima release z
Equipe técnica + cliente: detalhar requisitos e estimar esforço – Cartões com estórias (Story Cards) – ferramenta efetiva para –
z
guiar o desenvolvimento, de fácil manipulação e armazenamento Estimativas: em ideal weeks, feitas em grupo e baseadas em histórico
Equipe técnica + cliente: definir escopo da release –
Baseado na velocidade (produtividade) histórica – prazo ideal: 2 meses
Planejamento da próxima iteração z
Refinamento do plano da release: iterações de 2-4 semanas Desenvolvedores estimam em perfect days e escolhem o que implementar Æ maior comprometimento e motivação
ÎAplicar constantemente o Jogo do Planejamento
XP – Extreme Programming Ambiente de Projetos XP
Quantos perfect days já trabalhou na tarefa Quantos perfect days faltam para concluí-la
– –
z
Alertar o coach caso exista algum problema Coach acerta com a equipe e aciona cliente, se necessário
–
Reuniões diárias de acompanhamento (stand-up meetings) z Obj: comunicar problemas e providenciar soluções Cada um informa o que fez no dia anterior e o que tem programado para o dia
–
z
Alertar o coach caso exista algum problema Coach acerta com a equipe e aciona cliente, se necessário
–
Gestão à vista z Gráficos visíveis para acompanhar progresso do projeto Estimativas, Testes executados, densidade de bugs, progresso de estórias
–
XP – Extreme Programming Ambientes onde XP é inadequado
Cultura da documentação
Comprometimento medido por horas extras de trabalho Dificuldade para mudanças Demora para obtenção de realimentação Impossibilidade de realizar testes automáticos Resistência cultural
Principais Críticas
Dificuldade de manutenção pela falta de documentação Efetividade da programação em pares: custo x benefício Sucesso dependente da competência das pessoas Dificuldade de se ter o cliente no local Dificuldade de estabelecer contrato com escopo variável Requer colaboração e confiança entre equipe e cliente
Metodologias de Desenvolvimento Ágeis
XPM – Extreme Project Management
SCRUM Características:
Nome derivado de uma estratégia usada no rugby Mais voltado ao gerenciamento de projetos com equipes pequenas e requisitos instáveis ou desconhecidos Iterações curtas melhoram a visibilidade para acompanhar o desenvolvimento 24 horas
Backlog: características associadas à iteração
Os itens do backlog são analisados pela equipe
Iteração (Sprint) 30 dias
Backlog do Produto: lista pr iorizada de funcionalidades desejadas pelo cliente
Metodologias de Gerenciamento Ágeis
Scrum - reunião diária de acompanhamento Os membros da equipe infor mam: 1) O que foi feito desde a última reunião? 2) Existe algum obstáculo? 3) O que será feito até a próxima reunião?
Uma versão com novas funcionalidades é entregue ao final da iteração (sprint)
Metodologias de Gerenciamento Ágeis XPM – Regras 1: “A gerência de pessoas e processos criativos demanda processos de gerenciamento criativos.” 2: “Quanto menos o gerente de projeto souber sobre os assuntos técnicos do projeto, melhor.” 3: “O que acontece depois que o projeto termina é mais importante do que o que acontece durante o projeto.” 4: “Um plano de projeto desenvolvido sem participação completa dos stakeholders é apenas a fantasia de uma única pessoa.” 5: “Quanto mais tempo o gerente de projeto passar com os stakeholders, melhor.” 6: “Se o sucesso de projeto não foi definido no começo, ele nunca F1: Sliders de sucesso será alcançado no final.”
Características Gerais: Regras já conhecidas, que merecem atenção Principal diferença: atitude em relação às mudanças Principais valores: participação, pró-atividade, transparência, confiança, foco nos stakeholders Foco principal: e-Projects
Missão Æ dar suporte à mudança, planejando:
critérios de sucesso dos stakeholders eventos / cenários principais benefícios esperados e como atingi-los acordos na qualidade exigida acordos com as parcerias envolvidas
Metodologias de Gerenciamento Ágeis XPM – Regras
(cont.)
7: “Mostre-lhes o lucro: nada mais importa.” F2: Modelo O3 – modela e apresenta o valor adicionado F3: Acordo de Qualidade – busca o equilíbrio entre atributos
8: “Os stakeholders do projeto podem ser seus melhores aliados ou seus piores inimigos – você decide.” F4: Acordo de Parceria – estabelece papéis e atividades
9: “Se você não pode predizer o futuro, não planeje detalhes.” F5: Planejamento em tempo real de eventos e cenário
10: “Se o seu projeto não mudou, fique preocupado – muito preocupado.” 11: “Em e-projects, um dia é muito tempo.”
Metodologias de Gerenciamento Ágeis
Metodologias de Gerenciamento Ágeis
APM – Agile Project Management Princípios:
9 9 9
1: Visão Direcionada
Baseado em Sistemas Adaptativos Complexos (CAS) 9
APM - Práticas
revoadas, cardumes, enxames comportamento coletivo: ordem, auto-organização, inteligência coletiva adaptação a ambientes dinâmicos habilidade em lidar com a mudança
Organizações: sistemas adaptáveis, com seres inteligentes Confiança na habilidade coletiva para resolver problemas Imprevisibilidade limita planejar: enfatizar a adaptabilidade
“Estabeleça uma visão direcionadora para o projeto e reforcecontinuamente, por meio de palavras e ações.”
2: Trabalho e Colaboração em Equipe
“Facilite a colaboração e o trabalho em equipe reforçando relacionamentos.”
3: Regras Simples
“Estabeleça e apóie um conjunto de práticas-chave (guias).”
4: Informação Aberta
“Forneça acesso aberto à informação.”
5: Toque leve Gerente de projeto: projeto líder adaptável que promove o trabalho colaborativo em equipe, defende o projeto e remove obstáculos para sua progressão
O Gerenciamento de Projetos Ágeis
“Aplique somente o controle suficiente para manter a ordem emergente.”
6: Vigilância Ágil
“Aplique um contínuo monitoramento, aprendizado e adaptação ao ambiente.”
A Busca pela Qualidade
Agenda Introdução Dificuldades da construção de sw e a quebra de paradigma Metodologias Ágeis Origem, princípios e vantagens oferecidas Metodologias de desenvolvimento ágeis: XP e Scrum Metodologias de gerenciamento ágeis: XPM e APM Comparativo entre os Gerenciamentos de Projetos Tradicional e Ágil Melhores práticas de gerência segundo o PMBOK Comparação entre processos do PMBOK e abordagem ágil
No intuito de aumentar, medir e garantir a qualidade, surgiram várias normas e modelos... Mostram O QUE fazer
M SW-CM
K PMBO
Mas cabe a cada organização definir o seu modo de trabalhar com qualidade... Definir Como fazer Organização Macro-processos
CMMI
Processos Sub-Processos
Série ISO 9000
Atividades Tarefas
Conclusão Funcionam como “bússolas”: fornecem um direcionamento, mas não o “mapa”
Modelos, Normas Procedimentos, Instruções, Registros, Indicadores
Pessoas
O Gerenciamento Tradicional de Projetos
Comparativo PMBOK Ù Gerência Ágil Gerência de Integração
PMBOK – Project Management Body of Knowledge
Guia genérico, com as melhores práticas de gerência 44 processos em 9 áreas de atuação descrevem "o que" deve ser feito e não "como" fazer Não considera as peculiaridades da área de software
Objetivo: Identificar, definir, combinar, unificar e coordenar os diversos processos e atividades de gerenciamento de projetos Processos: Desenvolver o termo de abertura do projeto Desenvolver a declaração de escopo preliminar do projeto Desenvolver o plano de gerenciamento do projeto Orientar e gerenciar a execução do projeto Monitorar e controlar o trabalho do projeto Controlar mudanças Encerrar o projeto Abordagem Ágil: Big Plan: define visão e missão, fornece estimativas macro para as releases Planos de release e iteração: detalham etapas específicas Reuniões de acompanhamento: mostram situação real e sinalizam problemas Jogo do planejamento: acompanha toda a execução, avaliando prazo, escopo,
risco e custo, com pouca carga adicional, ainda que de maneira informal Cartões com estórias: indexam casos de uso a serem escolhidos pelo cliente Desenvolvimento por iteração: entrega um conjunto de funcionalidades, agregando valor ao produto e realimentando o planejamento
Comparativo PMBOK Ù Gerência Ágil
Comparativo PMBOK Ù Gerência Ágil
Gerência de Escopo
Gerência de Tempo
Objetivo: Assegurar que o projeto inclua todo o trabalho requerido (e somente ele), visando conclui-lo com sucesso Processos: Planejar o escopo Definir escopo Criar estrutura analítica (WBS) Verificar o escopo Controlar escopo
Objetivo: Assegurar a conclusão do projeto no prazo previsto Processos: Definir atividades Seqüenciar atividades Estimar recursos Estimar duração Desenvolver cronograma Controlar cronograma
Abordagem Ágil:
Abordagem Ágil:
Big Plan: distribuição geral de etapas e produtos gerados
Cartões com estórias: definem e formalizam o escopo – o cliente enumera os
principais casos de uso e define o valor agregado ao negócio por cada um
Jogo do planejamento: Equipe e cliente avaliam casos de uso, considerando o lado técnico e interesses do negócio, em busca de um consenso quanto ao escopo de cada release. Se ocorrerem mudanças no conteúdo da release que não possam ser absorvidas, o conjunto de estórias é redefinido
É contra um planejamento inicial detalhado: no início, o cliente explica os casos de uso, em alto nível, e a equipe calcula o tempo para implementação, o que resulta em uma programação grosseira (releases e iterações), a ser refinada à medida que o projeto evolui. Se necessário, gerar protótipos e pesquisar soluções, em busca de uma estimativa mais precisa Releases decompostas em iterações: o número de iterações pode variar, mas cada iteração possui duração fixa, o que permite acompanhar o progresso obtido
Comparativo PMBOK Ù Gerência Ágil
Comparativo PMBOK Ù Gerência Ágil
Gerência de Custos
Gerência de Qualidade
Objetivo: Assegurar que o projeto seja concluído dentro do orçamento previsto Processos: Estimar custos Fazer orçamentação Controlar custos
Objetivo: Determinar responsabilidades, objetivos e políticas para atender às necessidades que motivaram o projeto Processos: Planejar a qualidade Garantir a qualidade (seguir processos) Controlar a qualidade (monitorar resultados)
Abordagem Ágil:
Abordagem Ágil:
Desenvolvimento por iteração: a duração fixa de cada iteração facilita
controlar custos – se necessário, negocia-se o escopo da iteração
Planejamento de custo amarrado ao planejamento de tempo: como cada iteração possui duração fixa, uma estimativa de custo da release pode ser obtida a partir do número de pessoas alocadas e de iterações
Comparativo PMBOK Ù Gerência Ágil
Abordagem Ágil: Programação aos pares: permite que uns aprendam com os outros, favorecendo o aprendizado
Informalidade da documentação: deverá existir um conhecimento tácito da equipe, de forma a não ser necessário explicitá-lo e formalizá-lo em papel. Métodos ágeis permitem trabalhar com diversos perfis profissionais, mas necessitam de pelo menos algumas pessoas ágeis Visão direcionadora, comprometimento, confiança e cooperação entre os membros da equipe: ajudam a elevar o desempenho do projeto Coach: ajuda a identificar problemas e resolvê-los
Diversas práticas relacionadas: desenvolvimento dirigido por testes, uso de padrões de codificação, realimentação constante, programação aos pares, integração contínua com suporte de frameworks para testes automatizados que fornece métricas reais da situação do desenvolvimento Ao final de cada release: o produto é verificado e validado junto com o cliente. Após aceitação, é colocado em produção
Comparativo PMBOK Ù Gerência Ágil
Gerência de Recursos Humanos Objetivo: Organizar e gerenciar a equipe do projeto, fazendo uso mais efetivo de competências e habilidades Processos: Planejar recursos humanos Contratar e mobilizar equipe do projeto Desenvolver a equipe Gerenciar a equipe
Não formaliza a área de qualidade: não define grupo de SQA nem atividades de revisão e auditoria de processos
Gerência de Comunicações Objetivo: Garantir a geração, coleta, distribuição, armazenamento e recuperação de informação, de forma oportuna e adequada Processos: Planejar as comunicações Distribuir informações Gerar relatórios de desempenho Gerenciar partes interessadas Abordagem Ágil:
Comunicação: considerada fundamental – confia-se muito na comunicação oral e aberta, sendo desnecessário definir canais e estruturas formais Informalidade da documentação: informações e resultados se tornam de conhecimento tácito e interpessoal, ao invés de documentado e explícito Realimentação constante: junto com a comunicação aberta, permite que o desempenho seja acompanhado
Comparativo PMBOK Ù Gerência Ágil
Comparativo PMBOK Ù Gerência Ágil
Gerência de Riscos
Gerência de Aquisições
Objetivo: Cuidar da identificação, análise, monitoramento e resposta a riscos, visando aumentar a probabilidade e o impacto dos eventos positivos e diminuir a probabilidade e o impacto de eventos adversos Processos: Planejar o gerenciamento de riscos Identificar riscos Fazer análise quantitativa de riscos Fazer análise qualitativa de riscos Planejar respostas a riscos Monitorar e controlar riscos Abordagem Ágil: Valores ajudam a controlar e mitigar riscos: a busca da simplicidade diminui a complexidade; a realimentação antecipa a detecção de erros; a comunicação aberta minimiza problemas com a falta de informação dos envolvidos
Práticas ajudam a controlar e mitigar riscos: a quebra em iterações e o planejamento constante ajudam a controlar prazo e custos; o cliente disponível e a entrega em releases diminuem o risco de se obter produtos inadequados Reuniões diárias de acompanhamento: possibilitam identificar mais cedo a
Objetivo: Gerenciar contratos ou pedidos de compra emitidos pela equipe do projeto, controlando possíveis mudanças Processos: Planejar compras e aquisições Planejar contratações Solicitar resposta de fornecedores Selecionar fornecedores Administrar contrato Encerrar contrato Abordagem Ágil: Voltada para o desenvolvimento: não faz referência a aquisição de produtos e serviços
iminência de um risco, permitindo atuar a tempo de minimizar as conseqüências
O Gerenciamento de Projetos Ágeis
Abordagem Tradicional x Ágil
Agenda
Comparativo Geral
Introdução Dificuldades da construção de sw e a quebra de paradigma Metodologias Ágeis Origem, princípios e vantagens oferecidas Metodologias de desenvolvimento ágeis: XP e Scrum Metodologias de gerenciamento ágeis: XPM e APM Comparativo entre os Gerenciamentos de Projetos Tradicional e Ágil Melhores práticas de gerência segundo o PMBOK Comparação entre processos do PMBOK e abordagem ágil Conclusão
Abordagem Tradicional
Abordagem Ágil
Preditivo: detalhar o que ainda não é bem conhecido Rígido: seguir especificação predefinida, a qualquer custo Burocrático: controlar sempre, para alcançar objetivo planejado Orientado a processos: segui-los possibilita garantir a qualidade Documentação gera confiança Sucesso = entregar o planejado Gerência = “comando-e-controle” voltado para trabalho em massa, ênfase: papel do gerente, com planejamento e disciplina fortes
Adaptativo: conhecer problema e resolver crítico primeiro Flexível: adaptar-se a requisitos atuais, que podem mudar Simplista: fazer algo simples de imediato e alterar se necessário Orientado a pessoas: motivadas comprometidas e produtivas Comunicação gera confiança Sucesso = entregar o desejado Gerência = liderança/orientação trabalhadores do conhecimento, ênfase: criatividade,flexibilidade atenção às pessoas
Abordagem Tradicional x Ágil
Abordagem Tradicional x Ágil
Comparativo Geral
Conclusão
Abordagem Ágil
Abordagem Tradicional Desenvolvedor hábil (variedade) Cliente pouco envolvido Requisitos conhecidos, estáveis Retrabalho/reestruturação caro Planejamento direciona os resultados (incentiva controlar) Conjunto de processos, processos com metodologia definida Premia a garantia da qualidade Foco: grandes projetos ou os com restrições de confiabilidade, planej. estratégico / priorização (exigem mais formalismo) Objetivo: controlar, em busca de alcançar o objetivo planejado (tempo, orçamento, escopo)
Desenvolvedor ágil (colaborador) Cliente comprometido (autonomia Requisitos emergentes, mutáveis Retrabalho/reestruturação barata Resultados direcionam o planejamento (incentiva mudar) Conjunto de valores, valores com atitudes e princípios definidos Premia o valor rápido obtido Foco: projetos de natureza exploratória e inovadores, com equipes pequenas/médias (exigem maior adaptação) Objetivo: simplificar processo de desenvolvimento, minimizando e dinamizando tarefas e artefatos
Abordagem Tradicional x Ágil
As abordagens possuem pontos positivos e negativos
Partem de pressupostos diferentes! Podem coexistir e conviver bem em um mesmo ambiente z
as “boas práticas” são compatíveis e podem funcionar bem, mesmo sem contemplar integralmente um modelo ou norma
Importante: considerar, criteriosamente, o ambiente correto
O ciclo de vida ágil é semelhante aos outros Definir o que o cliente quer e iniciar o projeto Planejar o projeto, calculando esforço Executar o plano, construindo a solução Monitorar resultados e entregar ao cliente Î Ciclos mais rápidos, executados várias vezes
Necessário buscar o ponto de equilíbrio, avaliando riscos Planejamento aperfeiçoa a agilidade Agilidade dá eficiência ao planejamento
Conclusão Geral
Conclusão Manifesto Ágil: par de alternativas se reforçam
processos e ferramentas podem melhor capacitar os indivíduos e interações documentação ajuda as pessoas a entenderem um software complexo negociação de contrato pode ser parte integrante da colaboração do cliente seguir um plano pode ser o melhor modo para responder a mudança, mudança quando esta for previsível Îpessoas ativamente envolvidas e suas proposições de valor são fundamentais!
atender aos requisitos
com menor custo
dentro do prazo
com mais qualidade
PRODUZIR MELHOR SOFTWARE O QUE FAZER
Normas e modelos existentes
COMO FAZER Processos Métodos
Ferramentas
Apontam um caminho: Não uma linha de trem, mas um plano de vôo!
Muito Obrigado! Contatos: ana.liddy@globo.com analiddy@fitec.org.br