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^<sup><a title="" href="#_ftn5">[1]</a> ^</sup> ou que utilizam o PMBoK^<sup><a title="" href="#_ftn5">[2]</a> ^</sup> 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<sup>[3]</sup>.
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<sup>[4]</sup>. 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^<sup><a title="" href="#_ftn5">[5]</a> ^</sup> (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<sup>[6]</sup>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<sup>[7]</sup>. 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).
[1] Project Management Professional
[2] Project Management Body of Knowledge, PMBOK® Guide and Standards
[3] Project Management Institute