Agile Project Management
Agile project Management é uma abordagem iterativa e incremental de gestão de projectos.
A abordagem é iterativa porque usa o feedback que recebe ao longo do processo para ajustar e alterar o projecto. O ágil permite, desta forma, que as organizações incorporem o feedback que vão recolhendo ao longo do projecto e vão corrigindo o produto e o projecto de acordo com esse feedback. Assim, as equipas multifuncionais vão dando resposta às mudanças de forma mais flexível.
A abordagem é incremental porque promove a entrega rápida e frequente de incrementos de produto para benefício dos clientes e utilizadores. Ou seja, o objectivo é entregar valor ao longo de todo o processo, em vez de apenas entregar no final do projecto.
Agile Project Management e o Agile Manifesto
O Agile Project management surgiu como resposta aos problemas que a gestão de projectos tradicional enfrentava no desenvolvimento de software. Isto porque, a indústria do software não estava a conseguir dar resposta a um mundo em constante mudança, em que os requisitos eram preciso ser adaptados à medida do desenvolvimento do projecto. Dessa forma, algumas desta indústria reuniram-se para perceber como cada um gerir os seus projectos e tentava resolver o problema da falta de flexibilidade da gestão de projectos tradicional. Dessa reunião surgiu, assim, o Manifesto Agile.
Valores do Ágil
Os valores do ágil de acordo com o Agile Manifesto são:
-
Indivíduos e interacções acima de processos e ferramentas – O foco deve estar nas pessoas e não nos processos e ferramentas para, desse modo, encontrar as soluções ideias num ambiente complexo.
-
Produto a funcionar acima de documentação exaustiva – O foco deve estar em entregar produtos e serviços que respondam às necessidades e não na documentação.
-
Colaboração com o cliente acima de negociação de contrato – Este valor reconhece que o feedback dos clientes ao longo de todo o ciclo de vida do projecto é essencial para, desse modo, garantir o sucesso do projecto. O foco deve, assim, estar na colaboração com o cliente e não definição detalhada de requisitos formais.
-
Responder a mudanças acima de seguir um plano – A gestão de projectos e o desenvolvimento do produto tem de ser ágeis e flexíveis para responder a mudanças mas também incorporar feedback.
Agile project management, tal como as abordagens ágeis de desenvolvimento de produto (por exemplo, Scrum) devem estar alinhadas aos valores ágeis registados no Agile Manifesto. O Manifesto Agile focou-se, assim, na flexibilidade, colaboração e no desenvolvimento iterativo. Além disso, introduziu o planeamento adaptativo, a melhoria contínua e o constante envolvimento do cliente ao longo de todo o projecto. Por conseqüência, estas mudanças criaram um choque entre a gestão de projectos tradicional e a gestão de projectos ágil.
A realidade é que desde que foi criado o agile manifesto, cada vez o agile é usado em diferentes sectores de actividade para desenvolver diferentes produtos e serviços. Assim, deixou de estar apenas ligada ao desenvolvimento de software.
Pilares de Agile Project Management
A Agile Project Management assenta em pilares que dão enfoque à agilidade e procuram garantir o sucesso do projeto. Esses pilares, são desse modo:
Liderança Eficaz
A gestão de projetos ágil assume que sem uma liderança forte dificilmente se conseguirá alcançar o sucesso. Dessa forma, os líderes em agile dão autonomia às equipas, estabelecem uma direção clara, e resolvem impedimentos que possam comprometer o sucesso da equipa. Além disso, também encorajam um ambiente de trabalho colaborativo e autónomo.
Por fim, as equipas ágeis são autogeridas. Desse modo, cada membro da equipa contribui para especificar, organizar, estimar, alocar e acompanhar o trabalho. Ou seja, ninguém diz à equipa o que vai realizar em cada sprint. Esta forma de trabalhar cria um sentimento de pertença e responsabilidade entre todos os elementos da equipa que procuram, desse modo, em conjunto alcançar o sucesso do projecto. Dessa maneira, o papel da gestão de projectos é encorajar e facilitar um ambiente produtivo, colaborativo e saudável.
Adaptabilidade
O Agile project management promove a mudança. Ou seja, o pressuposto de base é que os requisitos e as prioridades podem mudar ao longo do tempo. Desse modo, os planos, produtos e processos são constantemente inspecionados e adaptados. Além disso, novos requisitos, soluções e processos são ajustados para acomodar o feedback do cliente. Dessa forma, é mais fácil para as equipas responderem às mudanças do mercado e necessidades de negócio.
Transparência
O pilar da transparência foca-se na comunicação aberta e total visibilidade sobre o progresso. Desse modo, a equipa e os stakeholders têm visibilidade sobre o progresso do projeto, release e sprint. Isto porque, a comunicação aberta desenvolve confiança, colaboração e responsabilidade entre todos. Desse modo, as equipas e stakeholders podem tomar decisões informadas e adaptar-se rapidamente às mudanças. Além disso, a cultura do projeto é muito mais saudável e aberta, aumentando a satisfação de todos.
Melhoria Contínua
O pilar de melhoria contínua foca-se na necessidade de continuamente analisar processos, identificar áreas de melhoria, e implementar mudanças. Dessa forma, é possível aumentar a produtividade e a qualidade. Contudo, esta abordagem de melhoria contínua deve ser feita de forma iterativa garantindo que as equipas estão constantemente a evoluir e a adaptar-se para entregar melhores resultados.
Foco no Cliente
Este pilar pretende aumentar a compreensão e a satisfação das necessidades do cliente. Dessa forma, o agile procura que o cliente esteja envolvido em todas as fases de desenvolvimento do produto ou serviço. Desse modo, as equipas podem recolher feedback, validar suposições e priorizar o trabalho com base nos inputs dos clientes. Desse modo, o produto final está mais de acordo com os requisitos e as expectativas dos clientes, aumentando a satisfação do cliente e entregando mais valor ao negócio.
Frameworks Agile
O Agile é uma chapéu-de-chuva que contêm várias frameworks para o desenvolvimento de produtos e serviços de forma iterativa e incremental. Estas frameworks permitem às equipas ajustarem-se mais facilmente à mudança, inovando ao mesmo tempo que mitigam o risco. Desse modo, Scrum, Kanban, e Scrumban são algumas das frameworks mais populares.
Scrum
O Scrum é a framework ágil mais usada no mundo. O Scrum é uma framework empírica para abordar a complexidade. Dessa forma, uma equipa Scrum desenvolve um produto complexo e incerto de forma iterativa e incremental. Uma das características mais visíveis do scrum é, dessa forma, que este utiliza iterações de trabalho com duração fixa, a que se chama sprints. Desse modo, cada sprint é uma oportunidade para estabelecer e validar pressupostos. Por fim, em cada Sprint a equipa foca-se em desenvolver um ou mais incrementos com valor.
O Scrum inclui eventos, artefactos, compromissos, mas também papéis:
-
- Scrum Events – Os eventos do Scrum são o Sprint, o Sprint Planning, a Daily Scrum, a Sprint Review, e a Sprint Retrospective. Dessa forma, cada evento de Scrum é uma oportunidade para implementar o empiricismo. Ou seja, dar visibilidade, inspecionar, e adaptar.
-
- Scrum Artefacts – Os artefatos do Scrum são o product backlog, o sprint backlog, e o incremento. Dessa forma, cada artefato é um output da framework.
-
- Scrum Commitments – Os compromissos do Scrum dão foco e flexibilidade à equipa. Desse modo, o compromisso do product backlog é o product goal. Por outro lado, o compromisso do sprint backlog é o sprint goal. Por fim, o compromisso do incremento é a Definition of Done.
-
- Scrum Roles – Os papéis do Scrum são o Product Owner, o Scrum Master, mas também os Developers.
Kanban
O Kanban é uma framework ágil bastante popular. Ao contrário do Scrum, que adopta sprints, o Kanban é um fluxo contínuo. Ou seja, no Kanban adapta-se o trabalho à capacidade da equipa. Ou seja, esta foca-se em concluir o trabalho o mais rapidamente possível à medida e minimizar o trabalho em curso.
A parte mais visível do Kanban são os Kanban boards, que estão divididos em colunas. As colunas normalmente chamam-se “a fazer”, “em progresso”, “feito. Por fim, cada coluna é depois preenchida com cartões que contêm as atividades que precisam ser realizadas. Outra característica do Kanban é que para que a equipa não tenha mais trabalho em mãos do que o que consegue fazer são predefinidos WIP (Limites do trabalho em progresso).
Scrumban
O Scrumban combina o scrum com kanban. Ou seja, permite que as equipas usem a flexibilidade e o foco do Scrum com a optimização do fluxo de trabalho do Kanban.
Scaled-agile
Framewoks ágeis como scrum foram pensados para uma equipa desenvolver um produto. Contudo existem situações em que os projectos são demasiados grandes para serem realizados apenas por uma equipa. Dessa forma, nasceram as frameworks de ágil à escala que permite escalar o ágil para múltiplas equipas. As abordagens de ágil à escala mais conhecidas são, dessa forma, o SAFe, o LeSS e o Nexus.
Sugerimos também o post sobre Extreme Programming (XP) outra framework agile.