Agile · Desenvolvimento · Startups · Trabalho

Abandonando o Agile

Abandonando Agile

Tradução livre de artigo escrito por Aaron Lazar no blog da Packt: https://hub.packtpub.com/abandoning-agile/

AVISO: o conteúdo do artigo não reflete necessariamente a minha opinião.


“Nós somos ‘Agile'”.

Esse é o tipo de frase que eu esperaria de um time de futebol, uma trupe de dançarinos de balé ou talvez de um artista marcial. Toda vez que ouço isso vindo da boca de um profissional de software, eu digo: “Ah cara, de novo não!”. Então aqui estou eu para falar sobre algo que pode tocar um nervo ou dois de um fã de metodologias ágeis. Eu estou falando se você deveria abandonar o Agile de uma vez por todas!

Ok, então o que é Agile?

O desenvolvimento ágil de software é uma abordagem para o desenvolvimento de software, onde os requisitos e as soluções evoluem através de um esforço colaborativo de equipes auto-organizadas e multifuncionais, bem como do usuário final. Agile defende o planejamento adaptativo, desenvolvimento evolutivo, entrega antecipada e melhoria contínua. Também incentiva uma resposta rápida e flexível à mudança.

Agile Manifesto foi criado por alguns dos principais gurus de software sobre os gostos do Uncle Bob, Martin Fowler, et al. Os valores que ele representa são:

  • Indivíduos e interações sobre processos e ferramentas;
  • Software que trabalha sobre uma documentação completa;
  • Colaboração do cliente sobre negociação de contrato;
  • Respondendo para mudar depois de um plano.

Além destes, segue 12 princípios, como dado aqui, através do qual visa melhorar o desenvolvimento de software. Em seu cerne, é um mindset.

Então, o que há de errado?

Falando honestamente, tudo parece maravilhoso do lado de fora até que você realmente o tenha experimentado. Deixe-me perguntar neste ponto, porque adoraria ouvir suas respostas na seção de comentários abaixo.

Nunca houve um momento em que você sentiu que pelo menos um dos 12 princípios era um obstáculo ao seu processo de desenvolvimento pessoal e de equipe?

Bem, se sim, você não está sozinho. Mas antes de jogar o bebê para fora com a água do banho, vamos tentar entender um pouco e ver se houve alguma má interpretação – o que pode ser o culpado real. Aqui estão algumas interpretações errôneas comuns do que é, o que pode e o que não pode fazer.

Eu gosto de chamá-los:

Os 7 pecados capitais:

1. Ele altera processos

Um dos principais mitos sobre o Agile é que ele altera processos. Isso não muda realmente seus processos, muda seu foco. Se você está tendo problemas com seu processo e acha que o Agile seria seu cavaleiro de armadura brilhante, pense novamente. Você precisa de algo mais do que apenas Agile e Lean. Essa é uma das principais razões pelas quais as equipes acham que o Agile não está funcionando para elas. Elas não entenderam se deveriam ter agilizado ou não. Em outras palavras, eles não sabem por que foram Agile em primeiro lugar!

2. Agile não funciona para equipes grandes e remotas

O quarto ponto do manifesto Ágil afirma que “os desenvolvedores devem trabalhar juntos diariamente durante o projeto”. Alguma vez você já pensou em como “incrível aka impraticável”, é fazer coordenação com equipes na Índia a partir dos EUA diariamente? O fato é que não é praticamente possível que isso aconteça quando as equipes estão espalhadas por fusos horários. O que ela pretende é que toda a equipe se comunique diariamente e que haja sempre a possibilidade de um “Ponto de Contato Especial” para se comunicar e passar as informações para outros membros da equipe. Portanto, não importa o tamanho da equipe: se implementada da maneira certa, o Agile funciona. Comunicação e documentação fortes ajudam muito aqui.

3. Prefiro a abordagem “mova-se rapidamente e quebre as coisas”

Bem, pessoalmente eu prefiro a MFABT. Principalmente porque no trabalho, sou o único responsável por minhas próprias ações. E quando você faz parte de uma equipe enorme que está trabalhando em algo junto? Quando você adota essa abordagem sempre há custos ocultos de estar “errado”. Além disso, e se toda vez que você se movesse rápido, tudo que você fez foi quebrar as coisas? Você acha que o moral da sua equipe seria elevado?

LEIA TAMBÉM  O desenvolvimento Web está morrendo?

4. Sprints são contraproducentes

As pessoas podem argumentar que sprints são burras; qual é o objetivo de lançar software em partes e fragmentos? Eu acho que você deve realmente pensar se o que você está focando pode realmente ser feito mais rápido. Mais rápido não se aplica a tudo. Tome fazendo bebês por exemplo. Ok, piadas à parte, você vai perceber que muitas vezes você precisa desacelerar as coisas para ir mais rápido, para que você alcance seu objetivo sem cometer erros. Pelo menos não muitos caros de qualquer maneira. Antes de mergulhar direto no Agile, entenda se isso agregará valor ao que você faz.

5. Eu amo microgerenciamento

Bem, muito ruim para você cara, o Agile na verdade promove equipes autônomas e auto-gerenciadas que estão aprendendo continuamente a se adaptar e a se ajustar. Em empresas onde há burocracia, isso não funcionará. Tenha em mente que a maioria das organizações (pode estar separada das startups) é de natureza hierárquica, o que traz burocracia de alguma forma.

6. Scrum economiza tempo

Bem, sim, economiza. Embora se você for um gerente e achar que o Scrum vai lhe dispensar algumas horas de prestar atenção aos membros de sua equipe, você está errado. A ideia do Scrum é identificar onde você chegou, o que você precisa fazer hoje e se há algo que possa atrapalhar isso. O Scrum não cobre os problemas dos membros da sua equipe e ajuda-os a superá-los.

7. Teste tudo, toda vez

Não, não e não… Essa é uma noção errada, que na verdade desperdiça muito tempo. O que você realmente deveria estar fazendo é testes de regressão automatizados. Nenhum teste é ruim também; você certamente não quer surpresas ruins antes de liberar!

Equipes e organizações tendem a se deixar levar pelo movimento Ágil e a tentar imitar os outros sem entender se o que estão fazendo é, na verdade, o que a empresa precisa. Agora, de volta ao que eu disse no começo – quando as equipes dizem que são ágeis, metade delas apenas pensa que são. Ele foi construído para o benefício das equipes de software em todo o mundo – e, do que as equipes dizem -, ele faz maravilhas! Como qualquer relacionamento de longo prazo, são necessários esforços conscientes e tempo todos os dias para que funcione.

Você deveria abandonar o Agile?

Sim e não. Se acontecer de você ter o menor indício de que um ou mais dos seguintes itens são verdadeiros para sua organização, você realmente precisa abandonar o Agile ou será um tiro pela culatra:

  • Sua equipe não é auto-gerenciada e carece de desenvolvedores amadurecidos e inter-funcionais;
  • Seus clientes precisam que você faça aprovações em todos os estágios de lançamento;
  • Nem todos na sua organização acreditam em Agile;
  • Seus projetos não são muito complexos.

Lembre-se sempre de que o Agile não é uma ferramenta e, se alguém estiver tentando vender uma ferramenta para ajudá-lo a se tornar Agile, ele estará roubando você. É uma mentalidade; uma família que confia uns nos outros e uma equipe que se comunica efetivamente para fazer as coisas. Minha sugestão é ir em frente e tornar-se ágil, somente se toda a família é para isso e está disposta a se transformar juntos.

Em outras palavras, o Agile não é uma panacéia para todos os projetos de desenvolvimento. Sua escolha de metodologia se resumirá ao que faz o melhor sentido para o seu projeto, sua equipe e sua organização.

Não tenha medo de abandonar a agilidade em favor de novas metodologias, como a Engenharia do Caos e a Mob Programming, ou até mesmo voltar ao modelo da boa e velha cachoeira.

Deixe-nos saber o que você acha do Agile e quão bem sua organização se adaptou a ela, se o adotou. Você pode procurar algumas discussões divertidas sobre se funciona ou não:


Curtiu? Então aperte o botão:
Tagged: , , , ,