Gerência Ágil de Projetos Madson Menezes Raony Araújo Seminário de Engenharia de Software e Linguagens 15/06/2005 1 Sobre o que estaremos falando David J. Anderson Publicado em 19 de Setembro de 2003 2 Sobre o que estaremos falando Jim Highsmith Publicado em 6 de Abril de 2004 3 Linha do tempo Taylor PMBOK 4 O desconforto • Como planejar algo que nunca fizemos antes? • O que fazer quando a meta sofre ajustes durante o projeto? – Seguir o plano ou mudar o plano? 5 Como abordar Gerenciamento de Projetos Tradicional 6 Como abordar Gerenciamento de Projetos Tradicional 7 Como abordar Gerenciamento de Projetos Tradicional 8 Como abordar Gerenciamento de Projetos Tradicional Gerenciamento Ágil de Projetos 9 Como abordar Gerenciamento de Projetos Tradicional Gerenciamento Ágil de Projetos 10 Sedimentando algumas idéias • Complexidade de detalhes versus Complexidade inerente 11 Sedimentando algumas idéias • Empirismo versus Determinismo 12 Sedimentando algumas idéias • Empirismo versus Determinismo 13 Sedimentando algumas idéias • Caos versus Incerteza associada 14 Novos conceitos • Olhar para fora da caixa! • Qual o nosso verdadeiro objetivo? – Cumprir o plano ou retornar valor? – Conformidade ou qualidade? 15 Novas Ferramentas • Produção enxuta – “Just in Time” 16 Novos conceitos • Espere! Não era uma caixa o que eu tinha em mãos! • Qual a melhor forma de agir? – Definir ou preservar o fluxo do valor? 17 Novas Ferramentas • Theory of Constraint – Identificar o gargalo do sistema – Decidir como melhor utilizar o gargalo – Subordinar todo o resto à decisão do passo anterior – Afrouxar o gargalo – Se os passos anteriores criaram um novo gargalo, retornar ao segundo passo 18 Leituras Recomendadas A Meta – Um processo de melhoria contínua Eliyahu M. Goldratt O Sistema Toyota de Produção Taiichi Ohno 19 Novos conceitos • OK, OK. Agora eu já entendi os meus objetivos e uma idéia geral de como eu devo agir. • As perguntas que eu faço agora são – Como prever e estimar o percurso? – Como conduzir e liderar? – Como organizar e motivar meu time? 20 Gerência Ágil de Projetos 21 A Declaração da Interdependência Aumentamos o ROI fazendo do fluxo contínuo de valor nosso foco Entregamos resultados confiáveis através do engajamento do cliente em interações freqüentes e propriedade coletiva Esperamos a incerteza e a gerenciamos através de iterações, antecipação e adaptação Liberamos criatividade e inovação pelo reconhecimento de que indivíduos são fonte principal de valor e criando um ambiente onde eles possam fazer a diferença Impulsionamos o desempenho através de obrigação por resultados e responsabilidade compartilhada para efetividade do time Melhoramos a efetividade e a confiança através de estratégias específicas, processos e práticas 22 Leituras recomendadas Agile Project Management with Scrum Ken Schwaber Managing Agile Projects Sanjiv Augustine 23 Um Arcabouço de Gerência Ágil 24 Um arcabouço ágil • Deve suportar uma cultura de visão, exploração e adaptação • Suportar auto-organização e autodisciplina • Ser flexível • Incorporar aprendizado • Incorporar práticas que sustentem as fases 25 Fase de Previsão Plano de Entrega Funcionalidades Prever Especular Explorar Ações adaptativas Lista de funcionalidades Define uma visão inicial de o que é o projeto quem é a equipe como será executado Adaptar Produto Final Fechar 26 Fase de Previsão • Definindo... – – – – – Visão Escopo Restrições Equipe Processo 27 Fase de Especulação Plano de Entrega Funcionalidades Prever Especular Explorar Ações adaptativas Lista de funcionalidades “Conjecturar algo baseado em informações ou fatos incompletos” [1] Adaptar Produto Final [1] Encarta® World English Dictionary, © 1999, 2000 Microsoft Corporation Fechar 28 Melhorando a comunicação Work Breakdown Structure Estrutura de tarefas Feature Breakdown Structure Estrutura de funcionalidades Auxilia entendimento de stakeholders 29 Especulando através de funcionalidades... Funcionalidades FBS Cartões de Funcionalidade Planejamento por iteração/funcionalidade 30 Fase de Exploração Plano de Entrega Funcionalidades Prever Especular Explorar Ações adaptativas Lista de funcionalidades Fase de entrega de funcionalidades. Busca por entregar a maior quantidade de valor possível Adaptar Produto Final Fechar 31 Explorar e Experimentar • Produtos novos ambiente auto organizável • Equipe unida e auto-disciplinada • Autonomia para criar • Auto gerenciamento • Gerente como um coach 32 Fase de Adaptação Plano de Entrega Funcionalidades Prever Especular Explorar Ações adaptativas Lista de funcionalidades Adaptar não quer dizer acertar ou errar, significa mudar, alterar para alcançar mais valor Adaptar Fechar 33 Adaptar-se às mudanças • Adaptação impede sentimento de fracasso e impotência • Para adaptar é necessário feedback contínuo – Monitorar – Status Report 34 Fase de Adaptação • Reagir a eventos – Os clientes estão recebendo valor com o projeto? – O projeto está tendo a evolução esperada? – A equipe está se adaptando bem às mudanças? • “Ação Corretiva” X – Conformidade com o Plano 35 Fase de Fechamento Funcionalidades Plano de Entrega Prever Especular Explorar Ações adaptativas Lista de funcionalidades Adaptar Fase onde concluí-se o projeto com o produto pronto ou com o acerto entre as partes de que o projeto falhou. Fechar Produto Final 36 Concluir é possível • Retrospectiva do projeto – Baseada na retrospectiva de cada iteração • “limpeza” dos recursos • Comemoração 37 E falando em conclusão... • Gerência Ágil – Uma abordagem diferenciada, focada em liberação de valor baseada em idéias inovadoras de gerência e administração – Bem utilizada em projetos inovadores 38 Conclusão • Quando não usar gerência ágil – Quando há pouca incerteza (interna ou externa) associada ao projeto – Quando a organização é orientada a processos formais – Quando agilidade é usado como desculpa – Quando não agregar valor para o seu projeto 39 Conclusão • Quem usa... – – – – CC Pace Consulting Cutter Consortium ThoughtWorks Inc. Microsoft (divisão da Microsoft TV) 40 Gerência Ágil de Projetos Madson Menezes Raony Araújo Seminário de Engenharia de Software e Linguagens 15/06/2005 41 Backup Slides 42 Estrutura Gerência de Projetos Tradicional Iniciação Planejamento Execução Controle Finalização 43 Fase de Previsão 44 Fase de Especulação 45 Fase de Exploração 46 Prática: Revisão e Ação adaptativa • Revisão – Projeto, Produto e Time – Aumentar o feedback • Feedback – Cliente – Técnico – Performance da equipe 47 48 Creating Sustainable Competitive Advantage: The Toyota Philosophy and Its Effects - M. Reza Vaghefi It appeared in Mastering Management Online <http://www.ftmastering.com/mmo/index.htm>, Issue 7, October 2001, and was republished in the September 5, 2002 issue of FT.com. 49 Alguns Porquês Inventório Sistema Resultado 50 Alguns Porquês Inventório Sistema Resultado ( Investimento ) 51 Alguns Porquês Inventório Sistema ( Investimento ) Resultado ( Custo da Operação ) 52 Alguns Porquês Inventório ( Investimento ) Sistema Resultado ( Custo da Operação ) ( Rendimento ) 53 Alguns Porquês Inventório ( Investimento ) Sistema Resultado ( Custo da Operação ) ( Rendimento ) Lucro do processo = Rendimento – Custo da Operação 54 Alguns Porquês Inventório ( Investimento ) Sistema Resultado ( Custo da Operação ) ( Rendimento ) Lucro do processo = Rendimento – Custo da Operação ROI = Lucro do processo Investimento 55 Alguns Porquês Inventório ( Investimento ) Sistema Resultado ( Custo da Operação ) ( Rendimento ) Lucro do processo = Rendimento – Custo da Operação ROI = Lucro do processo Investimento 56 Alguns Porquês Inventório ( Investimento ) Sistema Resultado ( Custo da Operação ) ( Rendimento ) Lucro do processo = Rendimento – Custo da Operação ROI = Lucro do processo Investimento 57 Alguns Porquês Sistema Feedback Fazer Algo Comparar ( Custo da Operação ) 58 Alguns Porquês Não Linearidade Sistema Feedback Fazer Algo Comparar ( Custo da Operação ) 59 Alguns Porquês Sistema Análise erro Testes Sistema Projeto erro Teste Integração Impl. erro Teste Unitário ( Custo da Operação ) 60 Alguns Porquês • Se concentrar no custo da operação é menos eficiente porque: – A relação entre o esforço da operação e o rendimento é não-linear – A curto prazo, o custo da operação no processo de software é fixo – No final das contas, o custo da operação é limitado por zero (na verdade, nem chega a tanto) 61 Alguns Porquês Inventário ( Investimento ) Sistema Resultado ( Custo da Operação ) ( Rendimento ) Lucro do processo = Rendimento – Custo da Operação ROI = Lucro do processo Investimento 62 Alguns Porquês • Foco no fluxo de valor – Primeira semana Inventário Desenvolvimento ( Vazão 50 ) 80 63 Alguns Porquês • Foco no fluxo de valor – Segunda semana Inventário Desenvolvimento ( Vazão 50 ) 80 64 Alguns Porquês • Foco no fluxo de valor – Terceira semana Inventário Desenvolvimento ( Vazão 50 ) 30 65 Alguns Porquês • Foco no fluxo de valor – Quarta semana Inventário Resultado Desenvolvimento ( Vazão 50 ) 30 50 66 Alguns Porquês • Foco no fluxo de valor – Quinta semana Inventário Resultado Desenvolvimento ( Vazão 50 ) 50 110 67 Alguns Porquês • Foco no fluxo de valor – Sexta semana Inventário Resultado Desenvolvimento ( Vazão 50 ) 50 110 Gargalo, desperdício, muda!! 68 Alguns Porquês • Se concentrar no investimento é importante porque: – Menor investimento aumenta o retorno do investimento (ROI) – Leva a menor tempo de condução do inventário através do sistema – Evita desperdício 69 Alguns Porquês Inventório Sistema ( Investimento - I ) ( Custo da Operação - OE ) Resultado ( Rendimento - T ) Lucro do processo = Rendimento – Custo da Operação ROI = Lucro do processo Investimento 70 Alguns Porquês • Rendimento representa – Valor para o cliente • Rendimento provém – Do fluxo de valor – Do valor de rendimento do inventário – Da qualidade • Rendimento é limitado apenas pelo bolso do cliente 71 E no caso de Software? • • • • Investimento – I Rendimento – T (Throughput) Custo operacional – OE (Operating Expense) Retorno do investimento – ROI 72 E no caso de Software? • Investimento – I – I = Inventário (Idéias) x Investimento para obtê-lo (Elicitação dos requisitos) • • • Rendimento – T (Throughput) Custo operacional – OE (Operating Expense) Retorno do investimento – ROI (Return Of Investment) 73 E no caso de Software? • Investimento – I – I = Inventário (Idéias) x Investimento para obtê-lo (Elicitação dos requisitos) • Rendimento – T (Throughput) – T = Rendimento financeiro por unidade do Resultado (Código executável) • • Custo operacional – OE (Operating Expense) Retorno do investimento – ROI (Return Of Investment) 74 E no caso de Software? • Investimento – I – I = Inventário (Idéias) x Investimento para obtê-lo (Elicitação dos requisitos) • Rendimento – T (Throughput) – T = Rendimento financeiro por unidade do Resultado (Código executável) • Custo operacional – OE (Operating Expense) – OE = Custo de transformar itens do inventário em resultado (Engenharia de Software) • Retorno do investimento – ROI (Return Of Investment) 75 E no caso de Software? • Investimento – I – I = Inventário (Idéias) x Investimento para obtê-lo (Elicitação dos requisitos) • Rendimento – T (Throughput) – T = Rendimento financeiro por unidade do Resultado (Código executável) • Custo operacional – OE (Operating Expense) – OE = Custo de transformar itens do inventário em resultado (Engenharia de Software) • Retorno do investimento – ROI (Return Of Investment) – ROI = Desconhecido (T) – Muito difícil de adivinhar (OE) Ninguém se preocupou em medir (I) 76 O Objetivo • Gerar o maior retorno do investimento possível para o projeto – O tempo de entrega deve diminuir – Os recursos devem ser bem explorados – O escopo deve ser ajustado de acordo com o objetivo 77 Gerenciamento Ágil • Planejamento • Controle de riscos • Gerenciamento do sistema – Pensamento sistêmico – Sistemas auto-governados – Teoria das restrições 78 Pensamento Sistêmico • Entender o que controlar – “Não podemos controlar aquilo que não podemos medir” [DeMarco] • Entender o sistema sob controle – “Me diga como você vai me avaliar e eu lhe direi como vou me comportar” [Goldratt] • Entender como controlar – Métricas devem ser simples, preditivas e, idealmente, auto-geradas [Reinertsen] 79 Pensamento Sistêmico • Qual o objetivo? – Ótimo local – Ótimo global • O que medir? – Medir o custo (Cost Accounting) – Medir o desempenho (Throughput Accounting) 80 Pensamento Sistêmico • Qual o sistema sob controle? – Determinístico – Complexo e Adaptativo • Como controlar? – Ordenar e cobrar – Definir regras e dar feedback 81 Sistemas Auto-governados • Propriedades emergentes – Organização – Adaptabilidade • Conjunto de regras simples – XP, RUP, FDD, UDP... • Complexidade de detalhes versus Complexidade inerente 82 Teoria das Restrições • Entendendo a diferença entre ótimo global e ótimo local Análise ( Vazão 50 ) 60 Projeto ( Vazão 30 ) 50 30 83 Teoria das Restrições • Entendendo a diferença entre ótimo global e ótimo local Análise ( Vazão 50 ) 60 Projeto ( Vazão 30 ) 50 30 Ótimo local 84 Teoria das Restrições • Entendendo a diferença entre ótimo global e ótimo local Muda! Análise ( Vazão 50 ) 60 Projeto ( Vazão 30 ) 50 30 Ótimo local 85 Teoria das Restrições • Entendendo a diferença entre ótimo global e ótimo local Muda! Análise ( Vazão 50 ) 60 Projeto ( Vazão 30 ) 50 30 Ótimo local Change Request 86 Teoria das Restrições • Identificar o gargalo do sistema • Decidir como melhor utilizar o gargalo • Subordinar todo o resto à decisão do passo anterior • Afrouxar o gargalo • Se os passos anteriores criaram um novo gargalo, retornar ao segundo passo 87 Alguns Porquês • Ótimo Global versus Ótimo Local Inventário Resultado Desenvolvimento ( Vazão 50 ) Consumo ( Vazão 30 ) 30 30 Inventário Sistema Resultado ( Investimento ) ( Custo da Operação ) ( Rendimento ) 88