PMBoK vs Agilidade: são mesmo opostos
Este artigo analisa o PMBOK e métodos ágeis, ajudando a entender melhor que eles não são tão opostos quanto comumente muitos falam.
Artigos PMBoK vs Agilidade: são mesmo opostos
Por que eu devo ler este artigo:Times de desenvolvimento de software estão sempre buscando formas de melhorar a forma como trabalham. Essa vontade de fazer melhor ocasionalmente leva muitos destes times a não perceber os benefícios reais dos métodos que atualmente utilizam, acarretando em conceitos equivocados sobre um ou outro método ser ineficiente. Este artigo apresenta alguns dos conceitos de dois métodos populares, tido por muitos como contrastantes. Em seguida, faz uma analogia dos seus fundamentos, ajudando a entender melhor que eles não são tão opostos quanto comumente muitos falam.
Desenvolvimento de software é uma atividade que envolve cada vez mais pessoas, com as mais variadas habilidades, dos mais diversos setores do mercado. Hoje essa atividade envolve uma cadeia de indivíduos em interação muito maior do que alguns programadores, um analista de sistemas, um gerente de projeto e um cliente. Além disso, o foco das pessoas pertencentes a essa cadeia não é apenas entregar o produto que foi inicialmente planejado nos requisitos previamente levantados. Atualmente, ter esse como único foco no desenvolvimento de software é um trabalho que está destinado ao fracasso desde cedo, antes mesmo da sua concepção. Hoje, um projeto de software recebe inputs por todos os lados, internos e externos à organização, internos e externos ao cliente. Como se isso não fosse o suficiente para dificultar o cenário, esses inputs acontecem a todo instante e não apenas nas fases iniciais de um projeto como geralmente era há alguns anos.
Desenvolver softwares atualmente é "apenas" parte de um objetivo maior. Hoje existem fatores adicionais que também têm grande importância para se atingir sucesso em um projeto. Além de criar o software, é necessário obter satisfação do cliente. Além desse trabalho, é necessário entregar um produto no momento mais oportuno ao mercado de forma que o cliente obtenha os maiores retornos, é necessário ter uma equipe versátil o suficiente para abraçar mudanças em prol do sucesso do produto. É necessário manter o time motivado e desenvolvê-lo cada vez mais.
Dito isso, é necessário cada vez mais um melhor gerenciamento de projetos, sejam eles de pequeno ou grande porte, uma vez que o controle adequado de fatores como pessoas, objetivos de negócio, qualidade do produto, entre outros, precisa ser cada vez mais evidente e eficaz de forma a se alcançar o sucesso de um projeto. Sendo assim, diariamente, métodos de gerenciamento de projetos são criados, outros são reinventados, sempre com um objetivo comum: planejar um projeto, executá-lo e entregar um produto final aos clientes atingindo todos os fatores primariamente elicitados que representem o sucesso do projeto como qualidade, satisfação do cliente, atendimento dos prazos e custos, etc.
À medida que o mercado evolui nas mais diversas áreas, a tecnologia da informação se torna cada vez mais atuante como facilitador do negócio de um cliente, permitindo-lhe, em muitas vezes, a obtenção de benefícios como aumento dos lucros, otimização de processos, economia de recursos, etc. Essa evolução vem ocorrendo há anos e a cada dia se torna mais evidente e acelerada. Serviços que hoje são de grande utilidade para um determinado grupo de pessoas podem ficar ultrapassados rapidamente, o que atualmente é tecnologia de ponta no mercado pode deixar de ser em breve, oportunidades de mercado podem desaparecer de uma semana pra outra e assim por diante.
Sendo assim, a tecnologia da informação deixa de ser "meio" para ter um envolvimento cada vez maior para o que é "fim" nas organizações das mais diversas áreas de atuação. Isso se torna mais evidente quando percebemos mais uma vez que o objetivo do desenvolvimento de software deixou de ser apenas entregar um produto com base num grande documento de requisitos. Hoje software é fator determinante para o sucesso (e fracasso) de grandes organizações e, por causa disso, precisa ser criado atendendo a tantos fatores quantos forem necessários para que as oportunidades de mercado de um cliente sejam aproveitadas da melhor forma.
Quando se fala tecnologia da informação, para que estes objetivos sejam atingidos da melhor forma possível, o gerenciamento de projetos torna-se uma atividade cada vez mais crítica, uma vez que projetos bem gerenciados podem garantir não só o alcance de um conjunto de objetivos, como também atinge esses pontos com eficiência, aumentando o valor do produto desenvolvido, garantindo a satisfação do cliente, melhorando a imagem das empresas como fornecedores de software, entre outros.
De posse da ideia que gerenciamento de projetos é cada vez mais fundamental no desenvolvimento de software, as organizações buscam realizar este conjunto de atividades da melhor forma, sempre mantendo o foco nos benefícios que podem obter na realização eficaz destas atividades. Sendo assim, diariamente os métodos de gerenciamento de projetos, dos mais antigos aos mais recentes, dos mais amplos aos mais enxutos, são postos à prova na busca da sua real utilidade às organizações. Uma vez que diariamente a eficiência desses métodos de gerenciamento de projetos é desafiada, outros métodos surgem ou são reinventados com o intuito de suprir as necessidades que supostamente outra metodologia não atende. Assim, nota-se os benefícios de uma área, mesmo já consolidada nos últimos anos, evoluir constantemente para satisfazer às necessidades que frequentemente surgem nos mais diversos cenários das organizações nas mais variadas áreas de atuação.
Na última década, duas formas de gerenciamento de projetos se destacaram e até hoje são amplamente utilizadas nas organizações. Uma delas é baseada no guia PMBOK – Project Management Body of Knowledge (em português, Corpo de Conhecimento em Gerenciamento de Projetos). O PMBOK, a ser mais detalhado a seguir, fornece um conjunto de práticas e processos de gerenciamento de projetos nas mais diversas áreas de conhecimento, desde gerenciamento do escopo de um projeto até, por exemplo, gerenciamento das aquisições relacionadas a este. A outra, com origem posterior ao PMBOK e mais direcionada ao desenvolvimento de software, baseia-se no Manifesto Ágil, que busca priorizar valores como interação e colaboração entre indivíduos, software funcionando, adaptação a mudanças, entre outros, em detrimento de processos e ferramentas, documentações extensas, negociações de contratos, etc.
Durante toda a história do desenvolvimento de software essas metodologias foram (e são) amadas e odiadas nas mais diversas organizações. A suas utilizações já proporcionaram inúmeros resultados aos projetos, desde os que mais atingiram o sucesso até os que fracassaram da pior forma possível, tanto com o Guia PMBOK, quanto com o Agile. Dessa forma, durante os últimos anos, essas metodologias atraíram seu grupo de entusiastas, que frequentemente atingiam bons resultados com cada uma delas. Porém, os maus resultados no uso de alguns desses modos de trabalho também poderiam existir, acarretando na aversão a uma ou outra metodologia ...