Negocio

Planejamento Ágil: Processo e Ferramentas

Definindo Agile

Keith é um novo treinador Agile. Ele está trabalhando com a equipe de gerenciamento de uma empresa que está considerando fazer a transição da organização para o Agile e deseja aprender mais. Uma de suas principais preocupações é que o Agile não envolve muito planejamento. Como grupo que patrocina e financia projetos, eles não querem endossar uma abordagem que não foi planejada de maneira adequada.

Keith começa ajudando a definir o Agile e seus objetivos para o grupo e garante que o planejamento faz parte do processo. Agile é uma abordagem de gerenciamento de projetos, especificamente para desenvolvimento de software, que divide o trabalho do projeto e o cronograma do projeto para torná-lo menor e mais gerenciável. Ele busca ser uma alternativa ao gerenciamento de projetos tradicional, em que as fases do projeto são lineares, cada uma concluída em sua totalidade em sequências. Não é uma metodologia de gerenciamento de projetos, mas pode ser implementada usando uma das várias metodologias diferentes. Independentemente da metodologia, é fundamental o planejamento do trabalho realizado e o prazo em que será concluído. Keith discute esse processo com a equipe de gerenciamento.

Processo de planejamento

Keith se concentra em duas áreas principais de planejamento necessárias para o progresso de um projeto. O primeiro é definir os requisitos para o trabalho a ser concluído, o que é relativamente consistente entre as diferentes metodologias Agile. A segunda é determinar quando e como o trabalho é assumido, o que varia e é um dos fatores diferenciadores das diferentes metodologias.

Definindo Requisitos

Keith começa definindo os requisitos para o trabalho a ser concluído. Nenhum planejamento adicional pode ser feito a menos que haja uma compreensão do trabalho a ser feito. Nas várias metodologias Agile, os requisitos assumem a forma de histórias de usuários , que capturam a funcionalidade desejada para um usuário específico. Um exemplo com o qual Keith normalmente treina envolve a criação de um site para uma agência de recrutamento. Para funcionalidades relacionadas ao acesso ao site, uma história de usuário pode ser, ‘Como um candidato a emprego, eu quero ser capaz de criar um login de usuário para que eu possa acessar o site com segurança.’

Embora os requisitos eventualmente tomem a forma de histórias de usuário, eles podem ser capturados em um nível superior como epopeias ou recursos a serem refinados em histórias de usuário posteriormente. Epopéias ou recursos são aspectos de funcionalidade de alto nível e precisam de mais definição e / ou são muito grandes e podem ser divididos em várias histórias de usuário. Para o site de recrutamento fictício, Keith usa um exemplo de ‘Notificações do empregador’. Isso é de alto nível e grande, precisando ser subdividido e melhor definido, mas pode ser capturado neste nível em primeiro lugar.

Os requisitos para um projeto, incluindo histórias de usuário, epopeias e recursos, são mantidos em um backlog do produto . Em termos de planejamento, o processo de preparação ou gerenciamento do backlog organiza o trabalho no backlog com base na prioridade e inclui o processo de definição de requisitos para que os itens de alta prioridade sejam bem definidos e em forma de user story. Essa é a primeira etapa do planejamento ágil, que garante que o trabalho esteja pronto para ser iniciado.

Quando / como o trabalho é realizado

Assim que o trabalho estiver pronto, Keith discute com o grupo o segundo aspecto do planejamento ágil, que é determinar quando e como assumir o trabalho. Cada história de usuário é desenvolvida, testada e entregue, mas o período de tempo em que isso ocorre varia entre as diferentes metodologias Agile, especificamente entre as metodologias que usam uma abordagem iterativa (que envolve ciclos repetidos) ou uma abordagem de fluxo contínuo (que é contínuo )

Para metodologias ágeis iterativas, o planejamento é realizado por meio de uma reunião recorrente antes do início de cada iteração. Nesta reunião, a equipe de desenvolvimento discute as histórias do usuário no topo da lista de pendências do produto para entender o que os requisitos envolvem. Em seguida, eles atribuem uma estimativa numérica da pontuação da história com base na complexidade e no esforço envolvido. Por fim, eles se comprometem com um conjunto de histórias de usuário que podem desenvolver e testar totalmente na próxima iteração, com base na prioridade e em suas estimativas de pontos de história.

Para metodologias ágeis que usam um fluxo contínuo, não há uma reunião de planejamento formal que ocorre. Isso ocorre porque o processo não possui pontos de partida ou de chegada. À medida que a equipe avança e conclui as histórias de usuário, eles passam para as próximas histórias de usuário no início do backlog. Isso coloca uma ênfase ainda maior no planejamento por meio da preparação do backlog. Este processo deve ser contínuo para corresponder ao fluxo de trabalho contínuo.

Ferramentas de planejamento

Depois que Keith revisou o processo de planejamento do Agile com a equipe de gerenciamento, ele encerrou a discussão discutindo as ferramentas que podem ser usadas. O fato de existirem ferramentas disponíveis para aprimorar o processo de planejamento mostra sua importância no Agile. Keith discute dois tipos de ferramentas disponíveis para o processo de planejamento, sendo a primeira métricas e a segunda software.

Métricas

As métricas que podem ser usadas como ferramenta para o planejamento ágil são específicas da metodologia. Para abordagens iterativas, uma métrica que ajuda as equipes a planejar a quantidade de trabalho realizada em uma iteração é a velocidade. Velocidade é o número total de pontos da história que uma equipe concluiu dividido pelo número de sprints em que foram concluídos. O resultado final é uma estimativa de pontos por sprint que a equipe pode usar como ponto de referência ao assumir o trabalho.

Para equipes que usam uma abordagem de fluxo contínuo, as métricas que são úteis para o planejamento são diferentes variações de tempo no processo. A métrica principal é o tempo médio que uma história de usuário leva para passar pelo desenvolvimento e teste antes de ser concluída e pronta para ser entregue, o que seria a soma do tempo do processo para histórias de usuário dividido pelo número de histórias de usuário. Isso permitiria que a equipe planejasse prazos provisórios para a conclusão do trabalho.

Programas

A ferramenta final que Keith discute é o software de gerenciamento de projeto disponível para equipes de projeto para treinamento em Agile. Existem inúmeras opções com funcionalidades voltadas para o planejamento ágil. Isso inclui documentação de histórias de usuário, um backlog virtual do produto e uma exibição visual do trabalho e seu progresso, entre outras coisas. Há também opções de relatório embutidas no software que permitem as métricas usadas no suporte ao planejamento.

Resumo da lição

O Agile (e as várias metodologias que o compõem) prioriza o planejamento. Existem dois componentes principais no treinamento Agile, incluindo a definição de requisitos e a determinação de quando / como o trabalho é realizado. Os requisitos definidos do Agile assumem a forma de histórias de usuários , que descrevem a funcionalidade desejada para usuários específicos. Os requisitos que precisam de definição adicional podem começar em um nível ainda mais alto como épicos ou recursos . Todos os três são gerenciados usando uma lista de pendências do produto . Em termos de planejamento, preparação ou gerenciamento de backloggarante que o trabalho de maior prioridade esteja no topo da lista de pendências e seja definido no formulário de história do usuário. Quando os requisitos estiverem prontos, um planejamento adicional pode ocorrer para iniciar o trabalho. Para metodologias iterativas , o planejamento é feito por meio de uma reunião recorrente e com base na prioridade e nas estimativas de pontos da história que a equipe cria. Para abordagens de fluxo contínuo , esse processo é contínuo e altamente dependente de um backlog constantemente preparado. Esse processo pode ser aprimorado por métricas como velocidade para abordagens iterativas ou estimativas do tempo médio de conclusão para abordagens de fluxo contínuo, bem como software de gerenciamento de projeto.