Empresas que estão adotando uma reorganização ágil abrangendo toda a empresa em algum momento terão que escalar suas práticas ágeis. Essas empresas geralmente têm várias equipes interdependentes. Isso requer que as práticas ágeis funcionem através da empresa de forma semelhante, para permitir a colaboração entre equipes distintas.
Frank Langeveld promoveu uma sessão de meia hora na conferência Métodos ágeis no setor financeiro e em ambientes complexos para compartilhar experiências entre os participantes sobre como escalar Agile nas empresas. Começou pedindo para as pessoas ficarem em pé caso conhecessem alguma prática para escalar Agile que gostariam de falar a respeito. Apenas quatro pessoas levantaram, e Frank pediu a cada uma delas para que falasse 30 segundos sobre a prática, que foi registrada em um quadro. Já que eram apenas quatro práticas, Frank decidiu que cada apresentador teria 5 minutos para explicá-las em mais detalhes e responder as dúvidas dos participantes. Dado o curto espaço de tempo, somente perguntas que ajudariam a esclarecer a prática foram permitidas; discussões sobre se uma prática poderia ou não funcionar foram interrompidas pelo líder da sessão.
As quatro práticas que surgiram foram:
- Ciclo de vida risco/valor
- Modelagem de casos de uso
- Estrutura de projetos em dua camadas
- Combinação das melhores práticas
Veja os resumos das práticas apresentadas:
Ciclo de de vida risco/valor
Essa é uma prática do RUP (Rational Unified Process) e disponível como uma prática do Eclipse Process Framework. É uma estratégia de mitigação de riscos que pode ser usada em projetos ágeis. Os maiores riscos de iniciar um projeto estão frequentemente ligados ao grau de envolvimento dos interessado nos projeto. Por esse motivo, o foco das primeiras iterações (durante a fase de inicial) deve ser em conseguir que todos os interessados concordem quanto ao problema a ser resolvido. Se não estiverem envolvidos suficientemente, não será possível entregar uma solução que resolverá os problemas em questão.
Iterações na fase de Elaboração devem se concentrar em provar que se pode fazer o produto. Na fase de construção, o foco deve ser em assegurar que a funcionalidade requerida pode ser realizada no produto. Na fase de transição a gestão de riscos se concentra em assegurar que os usuários podem realmente usar o produto. Resumindo, o Ciclo de Vida Risco/Valor ajuda a gerenciar diferentes riscos durante o ciclo de vida do projeto para entregar valor.
Modelagem de Casos de Uso
Essa prática pode ser usada com uma prática para escalar o Agile no gerenciamento de requisitos em projetos ágeis. User Stories são boas para especificação, mas não ajudam a documentar o contexto de um sistema e lidar com abstrações. Nessa situação os Casos de Uso têm valor sendo possível capturar as histórias de usuário para mostrar como se relacionam. Modelagem de Caso de Uso também pode ajudar a combinar as User Stories do usuário em processos e regras de negócios a nível empresarial.
A estrutura de projetos de duas camadas
A estrutura de projetos de duas camadas torna possível gerenciar projetos em cascata (Waterfall), Agile, além de outros modelos e em um escritório de projetos. Essa estrutura consiste de uma camada de gerenciamento de projeto e uma camada de execução. A camada de gerenciamento de projeto é a mesma para diferentes tipos de projetos, e assegura que todos os projetos irão reportar no mesmo formato para seus stakeholders. Um gerente de projeto tem a flexibilidade de definir a camada de execução de tal maneira que isso o ajuda a gerenciar o projeto. A estrutura de projetos de duas camadas pode consistir de iterações ágeis, várias trilhas para o gerenciamento de vários produtos ou partes grandes de um produto em um projeto, ou fases do modelo em cascata. A camada de gerenciamento do projeto tem as fases "definir", "executar" e "encerrar". Um projeto no modelo em cascata pode, por exemplo, ter uma camada de execução com design, implementação e construção que se encaixa na fase de execução da camada de gerenciamento de projetos, no qual um projeto usando Scrum teria sprints na fase de execução. Também é possível ter projetos com equipes que tem diferentes camadas de execução como, por exemplo, uma equipe de interface com o usuário que está usando iterações ágeis e na construção da camada de negócios uma equipe com fases do modelo em cascata.
Combinação das melhores práticas
Ao escalar Agile na empresa, será muito útil se a organização for capaz de combinar práticas de diferentes métodos para construir sua própria abordagem Agile de grande escala. Isso pode ser chamado de "um pouco de tudo", no qual basicamente usa-se o que está disponível na empresa e reusa e combina as melhores práticas para escalar Agile.
Quais práticas sua empresa utiliza para escalar Agile?