Digo isso há muito tempo: Agilidade pra mim é Militância. Nunca acreditei muito em modelos de maturidade ou em grandes certificações de processo (apesar de ser Auditor ISO 9001 certificado).
Justamente por esse fato, nunca fui motivado a buscar mais informações sobre o sempre crescente Mercado da Maturidade, e me preocupei em focar nas skills e atitudes necessárias para ter uma empresa Ágil, a partir de meu próprio contexto, sem rótulos.
No último Face-to-Face da Agile Alliance que participei, estivemos juntos num OpenSpace, em que várias sessões foram dedicadas ao Agile Fluency, um modelo idealizado por James Shore e Diana Larsen há alguns anos, que tive a oportunidade de conhecer melhor neste encontro, e ter uma conversa profunda sobre suas implicações e abordagens.
Aprendendo um Novo Idioma
Assim como aprender um novo idioma, muito do que você precisa para se tornar melhor em Métodos Ágeis é praticar. Praticar muito! Qualquer um pode praticar Agile enquanto está numa sala de treinamento, dado o tempo e foco necessário para exercitar. A Fluência Ágil de verdade, ativa em momentos de perrengue, é um fator que depende de muito tempo e volume de atuação para se estar capacitado.
É aqui que a metáfora de idiomas mais se aproxima do modelo proposto. Imagine duas situações hipotéticas:
- Aqueles seus Tios Aposentados que adoram passar o natal fazendo compras no outlet em Orlando/EUA, enquanto também dão uma passada na Universal para saber as últimas novidades em montanhas-russa e simuladores. Como eles já estão com a vida ganha, não se preocupam muito em aprender inglês além do suficiente para jantarem em bons restaurantes, comprar ingressos pro cinema ou pedir aquele desconto na compra de um tênis. Estão felizes da vida e todos os anos voltam para tremendas aventuras.
- Você, que almeja algum dia ser capaz de palestrar em inglês, trabalhar num ambiente internacional e conseguir sobreviver anos a fio em outra cultura. Seu principal motivador é estar apto a se relacionar em outro idioma, participar de discussões difíceis e aproveitar o máximo possível sua estadia fora do Brasil sozinho, sem precisar de ninguém para traduzir as coisas para você.
Ambos os cenários são válidos, e completamente possíveis! Sua fluência em inglês/mandarim/alemão depende do contexto em que você está inserido, da sua vontade de praticar e da sua capacidade de melhorar continuamente. O mesmo serve para Agilidade.
Ao invés da fluência individual, os autores consideram a Fluência do Time nesse contexto Ágil. Sendo Métodos Ágeis um esforço primariamente do grupo, seu sucesso depende do quão fluente o grupo é. Isso é muito mais do que ter indivíduos que entendam métodos ágeis em seus corações. A Fluência de um time é dependente de uma estrutura complexa de cultura organizacional, gestão e relacionamentos.
Por favor, não cometa o erro de culpar os membros do time por baixa Fluência Ágil, ou de acreditar e um bom Agilista transformará a capacidade do time.
Na visão dos autores, foram identificados algumas características comuns aos times que optam por Métodos Ágeis e que foram caracterizadas em 4 variações, que dependem da forma como o time atua em seu contexto.
Perceba que as variações descritas acima são completamente válidas como opções para empresas e times de desenvolvimento de software. Este não é um caminho necessariamente crescente, e as perspectivas trazidas em cada variação dependem do contexto de aplicação.
Foco no Valor – 1 Star
- Beneficio: Grande visibilidade sobre o trabalho do time. Habilidade de Redirecionar o trabalho
- Investimento: Desenvolvimento do Time e Design de Processos
- Métrica: Time reporta progresso através de uma perspectiva de negócio
É uma mudança cultural do time. Neste ponto, o foco é criar valor de negócio. Ao invés de focar em questões técnicas e processuais no planejamento, todo o grupo está focado em entregas de valor. Segundo os autores, Scrum e Kanban são exemplos de métodos utilizados nesta variação.
Além disso, retrospectivas, backlogs, kanban boards são práticas comuns identificadas em grupos neste estágio. Aqui o principal objetivo é mudar a cultura do time, focando na entrega de valor como principal medida de progresso.
Entrega de Valor – 2 Star
- Beneficio: Poucos defeitos e Alta produtividade
- Investimento: Baixa produtividade enquanto time desenvolve skills técnicas
- Métrica: Time entrega na cadência do mercado
É uma mudança técnica do time. Neste ponto o time não foca apenas em entregar valor, mas em entregar tão rápido quanto o mercado consegue absorver. times neste estágio se diferenciam pela habilidade de colocar software em produção a qualquer momento.
Extreme Programming em conjunto de Scrum e Kanban são os principais métodos utilizados. Em conjunto com técnicas de integração contínua, TDD, código coletivo, pair programming, etc, fazem desta variação a primeira a focar completamente em qualidade.
Otimização de Valor – 3 Star
- Beneficio: Entregas de Maior valor e Melhores decisões de produto
- Investimento: Capital Social expandido ao incorporar Expertise de Negócio no time
- Métrica: Time fornece métrica concretas de negócio
É uma mudança estrutural da organização. Se estivéssemos num ambiente de Startups, esta variação poderia ser descrita como “o time sabe o que precisa aprender sobre o negócio, e tem total capacidade de buscar esse aprendizado”. Esta é o grupo de detém todo o conhecimento necessário (negócio e tecnológico) para tomar as melhores decisões para o produto.
O movimento Lean Startup e Lean Software Development seriam exemplos de métodos que operam nesta variação. Para se chegar nesse ponto é preciso incorporar especialistas de negócio dentro do time desenvolvimento com dedicação total: desenvolvimento de produtos, analistas de negócio, vendas, marketing, etc – todos precisam estar atuando dentro do time para que o benefício real desta variação seja alcançado.
Neste ambiente, a organização passa a se estruturar de maneira a reduzir impedimentos à entrega de maneira efetiva e consistente. Além disso, métricas reais de negócio são usadas para auxiliar a tomada de decisão (ROI, Lucro por empregado, satisfação do cliente, custo de oportunidade, etc). O ambiente precisa estar preparado para confiar em tais time efetivamente multidisciplinares.
Os autores sugerem que alcançar a fluência nesta variação pode tomar alguns anos de tentativas. Não é fácil.
Otimização para Sistemas – 4 Star
- Beneficio: Alinhamento com Metas da Organização
- Investimento: Esforço significativo em estabelecer uma cultura organizacional; inventar novas práticas
- Métrica: Time reporta como suas ações impactam na organização como um todo
É uma mudança cultural da organização. Times que seguem esta variação contribuem para o sucesso da companhia. Times atuam diretamente com demais equipes para otimizar todo Value Stream, mesmo em detrimento de suas próprias necessidades.
O Livro Lean Software Development descreve claramente as práticas e métodos que um time nesta variação deveria atuar, mas nem mesmo os autores do modelo tem total certeza de como seria um trajeto a ser percorrido. Inclusive, em uma recente entrevista, James Shore descreve sua percepção sobre como seria um ambiente como esse:
Bem, se você olhar para algumas das empresas mais inovadoras em termos de times auto-gerenciados, é possível vislumbrar o que queremos dizer com 4-estrelas. Justamente por acreditarmos que este não é um modelo de maturidade é que mantemos essa variação de 4-estrelas.
Significa que os times numa organização 4-estrelas são os responsáveis por definir a direção da empresa. Não o CEO, não o CTO, mas a sabedoria coletiva dos times. Todos trabalharão em conjunto para entender a estratégia da empresa e também definir tal estratégia.
Mas isso funciona? Bem, essa é a crista da onda. Ainda não sabemos. Mas entendemos que para algumas empresas este nem é o alvo correto. Entretanto, empresas como Zappos, Seco e Valve já executam processos e atividades que fazem muito sentido quando observadas sob a ótica deste modelo.
Cada uma dessas variações é válida para uma empresa. Tudo depende de como ela espera se encaixar, e que faça mais sentido para seu contexto.
Todo o modelo é baseado em proficiências do time. No OpenSpace que participei, fizemos um exercício de encaixar práticas modernas seguindo o entendimento do Agile Fluency. Acredito que é um bom caminho para entender melhor isso tudo:
Mais um modelo de Maturidade? Shame on you!
Bem, não. Com a palavra, a Própria Diana Larsen:
Num mashup de todas as definições para Modelo de Maturidade que conseguimos encontrar, modelos de maturidade possuem:
- Foco em sistemas de melhoria de processos
- Níveis estruturados de benchmarks de “melhores práticas”structured levels of “best practices” para comportamentos, práticas e processos
- Utilizam assessments de comparação para auxiliar o entendimento das próprias comparações
Por definição, nosso modelo NÃO é um modelo de maturidade. Primeiro, descrevemos paradas equivalentemente viáveis no decorrer do caminho ao invés de níveis hierárquicos de bons, melhores e grandes times. O Modelo não existe para refletir a melhoria de processos, apesar de servir como um indicador da mudança de foco do time e do investimento organizacional. Segundo, enquanto nós acreditamos que o Agile Fluency model serve para descrever comportamentos observados, incluindo práticas e processos, nós realmente não temos a intensão de utilizar nossas observações como um assessment comparativo. Que Horror!
Particularmente gostei da abordagem, e do direcionamento deste modelo não ser base de comparação, mas um ponto claro sobre o valor que se espera extrair de uma iniciativa Ágil.
Para saber mais
James Shore: Your Path through Agile Fluency from NDC Conferences on Vimeo.