segunda-feira, 28 de agosto de 2017

Descutindo a relação com o Manifesto Ágil






Discutindo a relação com o Agile – Gran finale: Repensando os valores e princípios.


Se você chegou até aqui, ótimo! Tem interesse em discutir a questão dos "Métodos Ágeis". Então, vamos à conclusão. Se você não leu os outros dois artigos, seria interessante que o fizesse, de modo a ter contexto:

1) Discutindo a relação com o Agile 1: Lendo o Manifesto (https://www.linkedin.com/pulse/discutindo-relação-com-o-agile-1-lendo-manifesto-de-melo-junior)

2) Discutindo a relação com o Agile 2: Desconstruindo os princípios (https://www.linkedin.com/pulse/discutindo-relação-com-o-agile-2-desconstruindo-os-de-melo-junior)







Não sou apenas eu que questiono os, assim chamados, "Métodos Ágeis", hoje largamente adotados pelas empresas mundo afora, sem a devida reflexão… Há mais e mais pessoas criticando o mesmo, por exemplo:
Estamos todos equivocados? A questão não é essa. Na verdade, toda ideia deve ser debatida, com seus prós e contras, sem dogmas. Porém, com "Agile", isso não acontece… Há algo de religioso nas discussões envolvendo "Métodos Ágeis", e existem "fiéis" que os defendem ardorosamente, como se fossem dogmas, que tornam todas as outras ideias em “blasfêmias”. Falar mal de Scrum em um grupo é como soltar um "pum" em um elevador: Todos lhe olharão com fúria, indignação e condescendência.

Não é assim que a Humanidade evoluiu. O questionamento nos leva para a frente, para melhores ideias, e é isso o que venho fazendo.

"Você precisa conhecer melhor, antes de criticar"

Uma das reações mais comuns às minhas críticas é essa frase acima. As pessoas me dizem: “Seus conceitos estão equivocados”, “Você não entendeu…”, “Procure conhecer mais…”, “Trabalhe em um time ágil para vivenciar melhor…”. Em outras palavras, as reações parecem indicar que há muitos fatos que eu desconheço sobre "Agile", e que eu deveria me informar melhor.

Não adianta esclarecer que tenho mais de 39 anos de experiência em desenvolvimento de software, tendo passado por vários tipos de processos e metodologias diferentes. Tampouco adianta dizer que já fiz uns 3 cursos de "Métodos Ágeis", li vários livros e trabalhei em várias equipes de projetos "Ágeis". A resposta é: “Você teve experiências ruins”…

A questão é que os valores e princípios "ágeis" são bons, mas são “datados”, ou seja, pertencem a um tempo e a um mundo que não existem mais! Eram a manifestação da revolta contra processos ditos “prescritivos” de desenvolvimento de software, muito burocráticos e pesados. Só que hoje, esse panorama mudou, logo, é preciso repensar esses valores e princípios.

Novos valores

O que importa hoje em dia? A palavra-chave é “Sustentabilidade”, não apenas com relação ao meio ambiente, mas também tendo em vista o crescimento do Negócio. Então, precisamos construir uma nova lista de valores a serem seguidos, deixando de lado o cenário “sequelado” e ultrapassado do “Manifesto”.

Por isso, prefiro buscar inspiração em quem efetivamente usa os produtos de software, como o meio empresarial. Então, tem um artigo de John Spence: "The Five Principles of Sustainable Business Success; How to Hunt for Opportunities in Any Economy" (http://blog.johnspence.com/2011/01/principles-sustainable-business-success-hunt-opportunities-economy/), no qual ele destaca alguns princípios importantes, relacionados à sustentabilidade do sucesso de qualquer negócio:
  1. "Espere as mudanças e aprenda a aceitá-las; seja resiliente";
  2. "Conheça seu negócio: Saiba seu propósito, principais pontos fortes, fonte de valor e tudo sobre seus clientes e concorrência";
  3. "Compartilhe o que você sabe; elimine todos os obstáculos à comunicação aberta e honesta";
  4. "Aprenda a focar em oportunidades; aborde cada dia com otimismo, para ver maneiras de criar valor e aumentar as eficiências";
  5. "Seja dono do seu sucesso; crie um plano e trabalhe nele cada dia";
Resiliência

O primeiro princípio é importantíssimo, e tratado de maneira séria. Seja resiliente, resista, mesmo diante das adversidades. Isso significa que seu negócio deve ser capaz de se recuperar, mesmo diante das adversidades.

Conhecimento

Já, o segundo princípio fala sobre conhecimento. Estamos na era de ouro da "Data science"! Precisamos saber exatamente quais são os valores que queremos e os que criamos, quais são as oportunidades que temos e como devemos enfrentar nossa concorrência.

Colaboração

Podemos pensar o terceiro princípio como "colaboração"! Registrar e compartilhar informação de forma eficiente, relacionando-a como o valor que é agregado ao negócio. Saber quais valores devemos agregar para nossos clientes e perante nossa concorrência.

Renovação

O quarto princípio está relacionado com nos renovarmos com as oportunidades. Precisamos prestar atenção a elas, visando agregar mais valor aos nossos produtos e serviços, renovando nossos processos de negócio. E a descoberta, registro e compartilhamento de informação são essenciais para aproveitarmos as oportunidades.

Planejamento

Sim, o último princípio fala exatamente sobre a importância de, uma vez selecionada a oportunidade, nos planejarmos para alcançá-la, medindo nossos esforços quantitativamente e revendo nossos planos, de modo a mantermos nosso foco no alvo correto. É preciso que os colaboradores estejam cientes de seu papel no plano e do valor que devem agregar ao resultado.

Como podemos ver, esses princípios exigem novos valores para a atividade de prover informação e soluções. Não se trata apenas de “descobrir maneiras melhores de desenvolver software”, como preconizado pelo "Manifesto Ágil" (http://www.manifestoagil.com.br/).

Precisamos pensar em soluções para aumentar o valor das informações para o negócio, e isto não quer dizer, necessariamente, desenvolver software, que é apenas uma das maneiras para prover tais soluções. Daí a necessidade de nos inspirarmos no que o pessoal de negócios está pensando.

Então, como podemos concluir, é necessário repensar os "valores" de um processo de provimento de soluções. É claro que não se trata de uma lista completa e ambiciosa, como a do "Manifesto", mas temos que começar de alguma forma. Que tal esses valores?
  • Entregar soluções de valor
  • Colaborar para construir melhores soluções
  • Adequar o trabalho às restrições existentes
  • Aprender e divulgar a informação
  • Aprimorar para aumentar a entrega de valor
Entregar soluções de valor

O que entregarmos deve representar um valor para o Cliente, agregando valor em aos seus produtos e ou serviços. Mas redução de custos seria um valor para o Cliente? Sim, é claro! Se entregamos uma solução que lhe permite reduzir custos, certamente há um valor nisso.

Mais importante é que essa é a medida do sucesso, e não apenas “Software funcionando”, que é obrigação básica. Devemos medir o valor que entregamos para o Cliente, procurando maximiza-lo, evitando desperdícios com entregas parciais de baixo valor agregado.

Colaborar para construir melhores soluções

A colaboração é a chave para construir soluções melhores, mais eficientes, mais baratas e de maior valor para o Cliente. O trabalho colaborativo, remoto ou não, tem mais valor do que a simples “interação entre as pessoas”. A diferença entre “interação” e “colaboração” é que enquanto na primeira estamos nos preocupando com a comunicação e relacionamento entre as pessoas, na segunda estamos focando em trabalho participativo, ajuda, compartilhamento de informações e resultados. Em outras palavras, estaremos sendo menos intrusivos na vida, no trabalho e nos relacionamentos interpessoais, nos concentrando mais em colaboração.

Adequar o trabalho às restrições existentes

Chega de fantasias! As restrições existem e devem ser respeitadas. Deve haver um prazo, custo, escopo, qualidade e riscos, que formam as restrições para desenvolvimento da solução. O trabalho deve seguir um fluxo natural, e não um “ritmo de trabalho constante”, mas ser dividido em etapas distintas.

Para isto, é essencial planejar, de preferência numericamente. Deve ser possível a cada momento saber quanto já foi gasto (custo e prazo), ou qual o nível de qualidade atual, ou mesmo quais riscos já ocorreram e quais podemos descartar. Para isso, é preciso registrar, coletar, analisar e divulgar o andamento do trabalho através de métricas objetivas e reais. Nada mais de “mágicas” e poker.

Aprender e divulgar a informação

Tudo o que aprendemos deve ser adequadamente registrado e divulgado, em especial os conhecimentos decorrentes de novas informações ou de seus relacionamentos. Isso vale para os requisitos e também para as informações decorrentes deles, como: Arquitetura e projeto de solução. E tudo deve ser devidamente registrado em um ambiente compartilhado, nada mais de privilegiar “o entendimento do time”, em detrimento do registro das informações.
Informações e conhecimento representam valor, tanto para o Cliente como para a Equipe, e servem para o aprendizado de novas lições.

Aprimorar para aumentar a entrega de valor

Com base no conhecimento adquirido, na experiência e nas métricas, devemos analisar e criar modelos que permitam predizer ou otimizar futuros trabalhos, de modo a aumentar a entrega de valor. Aumentar a eficiência também significa aumentar a entrega de valor, pois entregaremos mais com menos.

É uma lista inicial, porém mais realista e adequada à realidade. E o melhor: Não tem o viés de “revolta” que o “Manifesto” apresenta.

E novos princípios

Esses valores que estou propondo foram baseados em princípios objetivos:

1) Menos entregas, com maior valor para o Cliente.
Devemos entregar aquilo que tem mais valor, em conjunto, para o Cliente, evitando o fracionamento artificial de funcionalidades.

2) Procurar entender corretamente as necessidades do Cliente e quais soluções e funcionalidades terão maior valor em conjunto.
Este princípio possibilita e complementa o anterior, de forma que devemos procurar entender as necessidades, demonstrando isso de forma explícita para o Cliente, projetando soluções para as funcionalidades de maior valor agregado para entrega em conjunto. Procurar entregar, incrementalmente, as funcionalidades de maior valor, diminuindo o risco de um modelo em “cascata” e acomodando melhor as mudanças de requisitos.

3) Adequar o trabalho às restrições do Cliente, procurando maior eficiência em tudo.
Devemos planejar e acompanhar o trabalho, usando recursos com objetividade e parcimônia, tendo sempre uma meta e um planejamento em mente.

4) Considerar riscos e mudanças, tomando atitudes para acomoda-los no Processo.
Levantar, estudar e planejar riscos. Preparar reservas para eles e para possíveis mudanças. Adiantar-se às mudanças no ambiente. Tudo isso ajuda a tornar seu processo mas flexível.

5) Registrar o conhecimento aprendido e inferido durante todo o processo, de modo a compartilhar a informação com a Equipe.
O registro das informações possibilitará o aprendizado e evitará futuros problemas. Informação é um recurso valioso, para o Cliente e para a Equipe.

6) Acompanhar quantitativamente o custo do que está sendo construído e o valor que foi entregue.
Se temos um plano, devemos segui-lo. Nosso plano deve prever o custo e o valor que vamos entregar, logo, devemos selecionar um conjunto de métricas de acompanhamento e efetivamente executar o que foi combinado.

7) Reforçar a colaboração entre a Equipe e dela com o Cliente.
Devemos usar ferramentas e ambientes colaborativos, privilegiando a ação conjunta, a ajuda e a validação mútua do trabalho produzido.
Podemos elencar mais princípios, é claro, porém, os mais importantes estão aí e norteiam todo o trabalho. Se pensarmos em maior profundidade, o que queremos é sermos objetivos, quanto a: início, meio, fim, custo e recursos, evitando o viés ambíguo dos princípios do “Manifesto Ágil”, como neste texto:

...Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter indefinidamente, passos constantes.”

Pense bem… “Manter”, “indefinidamente” e “passos constantes”? O que isso quer dizer? É uma ambiguidade que leva ao entendimento incorreto de que um projeto não tem fim, que é uma sequência de “Sprints” com alocação de pessoas em torno de um “monstro” que jamais terminará.

Processos mais eficientes e objetivos

Precisamos de métodos, processos e ferramentas mais eficientes e objetivos, de modo a atender a valores e princípios como os norteados aqui. Não há espaço para coisas que privilegiem o subjetivo e o lúdico, e cujo resultado depende de fatores incontroláveis. Indivíduos e suas interações não são mais importantes do que a colaboração entre eles.

As ferramentas estão aí, logo, não é preciso inventar nada novo, e não estou falando dos modelos de processo prescritivo de desenvolvimento, mas de coisas como: Estrutura Analítica de Projeto, Cronograma, PERT, Ferramentas de colaboração, planinhas etc.

Cleuton Sampaio, Mestre em Administração.





Nenhum comentário:

Postar um comentário