As metodologias ágeis no framework do PMBoK. Uma guia para PMP’s.

Numerosas são as empresas que trabalham com gerentes de projetos certificados PMP[1] ou que utilizam o PMBoK[2] como referencial para as práticas de gestão de projetos. Além disto, nossa experiência comprova que existe uma grande difusão das metodologias ágeis no contexto do desenvolvimento de software. Esta difusão é por diversas vezes freada por uma resistência na adoção de metodologias ágeis segundo o argumento de que não são condizentes com o framework de gerenciamento existente nas empresas. Não obstante, um PMP ou um gerente de projeto procurando implementar metodologias agíeis pode, como se pretende mostrar neste artigo, utilizar praticas como SCRUM e XP segundo o contexto do projeto, minimizando os impactos na organização e nos processos si estes estão baseados no Referencial do PMI[3].

Este artigo pretende criar uma base para iniciar uma reflexão, ou simplesmente dar o ponto de partida para uma conversa mais profunda, sobre: como criar uma sinergia entre as metodologias ágeis e o PMBoK e sobretudo como podem enriquecer-se entre eles. O intuito não é de entrar no debate de “modelo versus modelo” mas encontrar como podem se complementar para ajudar na implantação “Agil” em contextos onde o PMBoK é a referencia na gestão de projetos.

Através de nossas experiências e intervenções em projetos em diversos países, constata-se que existe uma confusão no mundo dos projetos de desenvolvimento de software ao confundir o PMBoK com uma metodologia em cascata o incompatível com as metodologias agíeis, visível através de frases como: “O PMP tem como fases de um projeto: iniciação, planejamento, execução e encerramento”, “Nesta empresa nossas praticas são baseadas no PMBoK, pelo qual vai ser difícil a adoção das metodologias ágeis” ou a constante justaposição “PMBoK vs Ágil”. Esta confusão leva consigo uma consequência adversa: impedir a introdução de novas soluções melhor adaptadas ou descartar os elementos dos frameworks existentes para complementar as praticas.

Para começar, vamos lembrar o que é o PMBoK

Antes de tudo, o PMBoK, editado pelo PMI, é um guia de boas práticas em gerenciamento de projetos que reúne processos, artefatos, ferramentas e técnicasque ao longo dos anos tem provado sua utilidade para o sucesso de um projeto. O PMBoK conta ainda com uma base de vocabulário comum que facilita o desenvolvimento e intercâmbio de conhecimento e práticas no meio de gerenciamento de projetos.

 

O PMBoK é compatível com as metodologias de gerenciamento de projeto Ágeis?

O PMBoK, diferentemente das metodologias ágeis orientadas ao desenvolvimento de software, é um guia agnóstico da indústria e do produto ou serviço criado, em consequência se espera que cada indústria introduza as boas práticas para a execução do projeto. Em nosso caso de projetos de desenvolvimento de software, OCTO defende sempre a adoção de uma metodologia ágil onde o desenvolvimento se faz de maneira progressiva e iterativa[4]. Deste jeito vem assim complementar o PMBoK que é de base um guia genérico mas que engloba os desenvolvimentos iterativos e incrementais. O primeiro passo para que os PMPs que estão habituados a trabalhar com metodologias em cascata é de não confundir os grupos de processos apresentados pelo PMBoK (iniciação, planejamento, execução e encerramento) com as fases de um projeto e se familiarizar com a técnica de Planejamento em ondas sucessivas (Rolling Wave Planning). Assim o PMBoK como as metodologias ágeis pode ser utilizado para o um projeto de software desenvolvido numa sucessão de fases ou iterações e construído e planejado dum jeito incremental. Em consequência, cada uma destas iterações desenvolvem-se os processos de iniciação, planejamento, execução e encerramento como mostra o gráfico:

 

Figura 1. Visão do ciclo de vida PMP na metodologia ágil

Na área de recursos humanos, o PMBoK dedica uma área que permite a compatibilidade é a possibilidade para trabalhar com a organização característica “ágil”. Os processos desta área permitem definir a organização do equipe do projeto e detalhar as técnicas e ferramentas para:

  • O desenvolvimento do time e construção da equipe para permitir a auto-organização
  • Técnicas de agrupamento de times e para a simulação de agrupamento a traves de equipes virtuais

Adicionalmente na área de qualidade, a melhoria contínua, a voz do cliente, o seis sigma e outras abordagens usuais das metodologias agíeis para gerenciar a qualidade do projeto e do produto são parte dos processos de “Gerenciamento da qualidade“ do PMBoK que podem  também ser complementados com técnicas especificas do mundo do desenvolvimento de software como por exemplo o TDD.  

 

 

Como se inscrevem as metodologias ágeis dentro do PMBoK?

No ano 2011 o PMI lanço uma certificação piloto[5] (PMI Agile Certified Practitioner (PMI-ACP)) com objetivo de certificar Gerentes de Projeto nos princípios e praticas ágeis.  Porém não existe uma publicação oficial do PMI que resuma estas metodologias, princípios e praticas. Se considera que o PMBoK descreve “O Que deve ser feito” e que as metodologias agíeis descrevem o “Como fazer as coisas que devem ser feitas”. Por esta ração e o fato que os grupos de processos (iniciação, planejamento, monitoramento e controle, execução e fechamento) não correspondem ás fases dum projeto e que podemos inscrever um processo incremental e iterativo com o framework do PMI, é que o PMBoK também pode ser uma referencia para a gestão de projetos agíeis. Si a sua necessidade é de referenciar uma metodologia ágil dentro do framework do PMBoK, existem numerosos artigos disponíveis na Internet[6]que propõem guias para “mapear” os processos, técnicas e ferramentas dentro do PMBoK. As metodologias ágeis se desenvolvem, como é de se esperar, em todos os cinco grupos de processos do PMBoK; no entanto, elas acrescentam mais valor aos grupos de processos de execução e monitoramento e controle. O gráfico representa onde o PMBoK pode ser de mais valor e inversamente onde as metodologias ágeis vão aportar na realização de um projeto de desenvolvimento de software com respeito dos grupos de processos propostos pelo PMI.

 

Figura 2. Utilidade do PMBoK e as metodologias ágeis num projeto de desenvolvimento de software

Nese sentido as praticas e princípios agíeis podem se associar a cada grupo de processos do PMBoK:

 

Iniciação

Desenvolver a visão do produto  

Planejamento

O Planejamento e feito ao começo de cada iteração onde se tem em comta a performance do equipe durante as iterações anteriores, a prioridade das funcionalidades e as anomalias. Em Scrum esta instancia e chamada Planning Game.  

Execução

Como foi mencionado anteriormente, o PMBoK é um guia que descreve boas práticas de gestão de projetos. No entanto, por ser um guia de múltiplos domínios, o PMBoK não detalha a maneira que o desenvolvimento deve ser realizado. No mundo de desenvolvimento de software o aconselhamos utilizar as técnicas ágeis sem modificação durante os processos de execução. Ou seja:

    • Desenvolvimento iterativo é incremental
    • Fluidificação das entregas
    • Integração Contínua
    • Responsabilização da equipe
    • Time Coeso (Cliente e time de desenvolvimento)
    • Programação em Pares
    • Compartilhamento de competências
    • Locais e horas de trabalho devem ser energizadas, no sentido de que “trabalhar horas extras” não necessariamente significa “produzir mais”
    • Ferramentas de management visual (Ex: Kanban) 


Monitoramento e controle

Os processos de monitoramento e controle descritos no PMBoK procuram determinar as diferenças do trabalho realizado de acordo com o Plano de Projeto para assim identificar e aplicar as medidas necessárias para diminuir essas diferenças. Este modelo de monitoramento e controle implica que o Plano de Projeto é correto e completo e que todo desvio precisa ser reduzido com uma intervenção. Nos projetos de desenvolvimento de software, em contraste, existe uma forte probabilidade de que os planos iniciais sejam imperfeitos e incompletos devido às dificuldades para avaliar todo o seu perímetro e a completude dos requisitos de maneira exaustiva. Os planos representam apenas as previsões de desenvolvimento do projeto baseadas no conhecimento atual sobre seu o contexto, portanto é recomendável utilizar as técnicas ágeis para aumentar a facilidade de introdução de modificações  e ajustamentos identificados nos planos do projeto e lhes dar uma flexibilidade major à dada pelo PMBoK. Nesse sentido é recomendável utilizar:

    • Demonstrações. Ao final da iteração o time demostra as funcionalidades desenvolvidas ao responsável funcional quem verifica a qualidade e a correspondência com os requisitos.
    • Retrospectivas de iterações. Ajuda a avaliar a iteração e definir ações de melhoramento para a iteração seguinte
    • Discussões diárias de status com a equipe
    • Planos frequentes de mitigação de riscos desenvolvidos pela equipe
    • Os pedidos de alterações, defeitos e riscos devem ser regularmente priorizados com as funcionalidades que faltam de se desenvolver respeitando sempre o tamanho das iterações e avaliando os riscos durante o Planning Game.

Fechamento

No desenvolvimento iterativo e incremental uma versão e definida com uma data o com um perímetro. Uma versão e feita depois de varias iterações consecutivas para ser entregada e aceita pelo cliente.

 

Como o PMBoK pode complementar a implementação Ágil

O PMBoK está concebido para tratar um projeto no contexto mais complexo, com muitas atividades que estão fora das responsabilidades do time de desenvolvimento e que estão mascaradas implicitamente atrás dos papéis do Product Owner ou do Scrum Master no contexto de uma implementação ágil como Scrum, por exemplo. O PMBoK pode ser usado para complementar ou formalizar algumas dessas atividades assegurando o cumprimento dos objetivos do projeto. Tomando-o como um guia, os praticantes ágeis podem inspirar-se no PMBoK para tratar :

Gerenciamento das comunicações

O caráter interativo do ágil faz com que o nível de informação seja homogêneo entre o time do projeto.  Não obstante para projetos estruturais com alto grau de visibilidade ao nível do gerenciamento é importante identificar todas as partes interessadas e definir a estratégia de distribuição da informação do projeto para cada um deles. Esta prática mitiga o risco de ter alterações no projeto por falta de informação homogênea e compartilhada pelos atores. Também ajuda a melhorar o alinhamento entre as expectativas dos atores e os resultados além de fazer antecipar as resistências e as influencias negativas por parte dos atores às etapas iniciais do projeto.

Exemplo de técnicas e ferramentas disponíveis no PMBoK:

    • Stakeholder analysis
    • Análises de variação
    • Métodos de determinar previsões
    • Métodos de comunicação
    • Sistemas de reporting

Gerenciamento dos riscos

As metodologias de gerenciamento de projeto ágeis possuem normalmente elementos que tratam implicitamente os riscos de desenvolvimento relacionados com a interação entre o time. O alto grau de interatividade entre os integrantes ágeis – “indivíduos e interações mais que processos e ferramentas” – diminui, por exemplo, riscos de divergência na compreensão dos objetivos do projeto; assim como o valor ágil de “colaboração com o cliente mais que negociação de contratos” previne o risco de insatisfação do cliente ao final do projeto. O PMBoK recomenda que os riscos sejam identificados e tratados explicitamente para melhorar a probabilidade de sucesso do projeto. Para isto, este guia sugere o seguintes processos: planejamento, identificação, análise quantitativa, análise qualitativa, planejamento das respostas e ‘monitorar e controlar’.

Exemplo de técnicas e ferramentas disponíveis no PMBoK:

    • Técnicas de coleta de informação e representação
    • Análises de checklists
    • Análises de hipóteses
    • Técnicas de representação
    • SWOT
    • Análise da  matriz de probabilidade e impacto dos riscos
    • Análise quantitativa de riscos e técnicas de representação
    • Análise de variância e tendências

Gerenciamento das aquisições do projeto

Os gerentes de projeto de desenvolvimento de software geralmente não têm a experiência necessária nos processos de avaliação, compras, negociação, faturação e contratualização com os diferentes fornecedores possíveis de um projeto.  Por esta razão, o PMBoK pode ser de grande utilidade para ter um guia dos elementos necessários, os modelos existentes e as ferramentas utilizadas para gerenciar as aquisições do projeto e os fornecedores durante as diferentes fases do projeto.

Exemplo de técnicas e ferramentas disponíveis no PMBoK:

    • Tipos de contratos
    • Análises Make-or-buy
    • Apresentação de fornecedores
    • Técnicas de avaliação de propostas
    • Negociação de compras
    • Sistema de controle de mudanças de contrato
    • Revisões de performance de fornecedores

Encerrar o projeto ou fase

Este processo do PMBoK é muito útil no momento de finalizar um projeto porque permite ser exaustivo nesta etapa para ter a certeza que a transição do produto, serviço ou resultado final seja feito e aceito, que todos os recursos sejam liberados e que toda a capitalização seja feita nos ativos da empresa e no time do projeto.

Gerenciamento dos custos do projeto

O PMBoK é um recurso muito valioso por propor e explicar diferentes métodos de controle de custos e orçamentos de projeto que podem ser aplicados também no gerenciamento de projetos ágeis, por exemplo:

Exemplo de técnicas e ferramentas disponíveis no PMBoK:

    • Earned Value Management (EVM)
    • Calculo de previsões
    • Índice de desempenho para término
    • Analises da variância
    • Agregação de custos e de reserva
    • Gerenciamento do valor agregado
    • Cálculos de variação, previsão e desempenho

 

Conclusão

É fundamental para um PMP saber adoptar as melhores praticas e metodologias da indústria na qual se desenvolve o projeto. No caso dos projetos de desenvolvimento de software, as metodologias agíeis como Scrum e XP tem provado os seus benefícios[7]. Do outro lado, são numerosas as empresas que tem adoptado o PMBoK como referencial dos processos de  gerenciamento de projetos e é importante que os chefes de projeto de desenvolvimento de software possam utilizar as praticas e técnicas das metodologias incrementais e iterativas respeitando os processos da empresa. Em conclusão, o PMBoK não é um obstáculo para a adopção das metodologias agíeis como é mostrado neste articulo sendo compatíveis entre eles. Neste sentido o PMI também defende e motiva a adopção e a difusão entre a comunidade de PMP’s o uso das metodologias agíeis com o lançamento da certificação PMI Agile Certified Practitioner (PMI-ACP).