Introduzir uma nova metodologia de desenvolvimento de software tem seu próprio conjunto de desafios que podem ir de ‘resistência a mudança’ a ‘técnicas de adoção falhas’ resultando então em fracasso. Em uma série de artigos no Agile Journal, Cesário Ramos e Eelco Gravendeel falam sobre os desafios que eles vivenciaram enquanto trabalhavam com Scrum e suas observações, quando introduziram Scrum em várias organizações. Os autores sugerem que o conhecimento desses desafios e uma estratégia para superá-los faria o processo de adoção mais fácil para organizações planejando adotar Scrum.
Eles mencionam os maiores desafios com possíveis soluções como,
- Nenhum aprendizado organizacional – Isso acontece quando o feedback das restropectivas é perdido e não incorporado na melhoria do processo. Idealmente, todo feedback deveria resultar em itens de ação. Estes itens de ação deveriam ser escolhidos pelo time se eles impactarem o projeto e pelo meta-scrum master se eles impactarem a organização.
- Falta de um ambiente de confiança – Frequentemente, tal ambiente resulta em pessoas escondendo seus erros, não compartilhando suas opiniões e atrasando o processo de tomada de decisão. A solução é criar um ambiente que prospera em cima de feedback positivo e transparência. Isto pode ser conseguido extendendo o uso de radiadores de informação, que iniciam a comunicação e a transparência.
- Uso do Scrum como uma solução, sem conhecer o problema – Uma nova metodologia não deveria ser adotada por causa da fama ao seu redor. Uma organização deveria tentar definir suas expectativas e critérios de avaliação. Respondendo perguntas como ‘Onde o processo atual peca?’, ‘O que causou o problema?’, e ‘O que nós seríamos capazes de fazer quando o problema acabasse?’ ajudaria a definir expectativas objetivas e critérios de avaliação.
- Product Owner defeituosos – Estes product owners ou não tem conhecimento ou não tem autoridade para agir efetivamente. No pior caso, eles podem não ter nenhum dos dois. Product owners com asas cortadas não tem a habilidade de tomar decisões rapidamente, o que eventualmente afeta a velocidade da equipe.
- Fazer agile estritamente e ‘apenas’ à risca - Scrum é um processo simples com um comportamento complexo. O que funciona para uma organização pode não funcionar para outra. Seguir ‘apenas’ à risca pode não ajudar em todos os cenários. Scrum precisa ser customizado para as necessidades organizacionais assim que há um entendimento completo da metodologia.
- Não preparar a organização para o projeto Scrum – Uma equipe adotando Scrum não pode trabalhar isolada. Ela precisa interagir com várias outras equipes para ser bem sucedida. Uma conversa próxima com vendas e marketing é necessária para apropriação do produto, com as equipes de testes e design envolvendo seus desenvolvedores como parte da equipe e com a alta gerência ajudando com a nova maneira de acompanhar e relatar o projeto. Criar uma fundação na nova metodologia e envolver todos os departamentos torna a adoção rápida e fácil.
- Falta de um Meta-Scrum master – Nem todos os impedimentos podem ser resolvidos pelo Scrum master que está operando a nível de projeto. Há impedimentos destacados pelo Scrum que precisam ser atacados através de projetos, em um nível organizacional. Aqui é onde a gerência sênior precisa fazer o papel de um meta-scrum master e atacar os impedimentos de forma visível no tempo de entrega e no ROI.
- Scrum como uma desculpa para um comportamento Cowboy – Tal comportamento implica em jogar fora as boas práticas existentes em nome de seguir uma nova metodologia. Scrum iria ajudar a trazer as ineficiências e os problemas à tona rapidamente. A chave é não otimizar prematuramente e esperar os problemas surgirem e então resolvê-los.
- Pensar agile é fácil – A filosofia por trás de Agile é simples mas praticar é difícil. A melhor maneira é ter um treinador Agile ajudando a equipe. Ter as pessoas treinadas em vários níveis tendo um campeão agile na organização, evangelizando agile, fazer workshops e treinar Scrum Masters é um fator chave para adoção do Scrum.
Cesário e Eelco sugerem que pessoas em uma organização teriam muitas dúvidas quanto a uma nova metodologia. Estas precisam ser sanadas propriamente para garantir que a adoção tenha sucesso.
Segundo eles,
As pessoas acabam tendo muitas perguntas como: Como você vai lidar com o planejamento e a estimativa? Como fazemos previsões? Como você gerencia contratação agile? Não podemos corrigir o prazo? E quanto a arquitetura, ela simplesmente aparece sozinha? Como podemos fazer requisitos, desenvolvimento e testes ao mesmo tempo? Não seja ridículo!! Como eu meço isso e como você prioriza requisitos por valor? E então há esse tal de Planejar-Executar-Inspecionar-Adaptar, como deveríamos fazer isso? Fazer agile não é mais caro?
Falhar ao responder tais questões vai resultar em pessoas escorregando de volta para suas formas usuais de trabalhar quando a pressão surge. A primeira coisa que vemos é uma queda na qualidade e nos esforços de teste. Além disso a maneira comando e controle de gerenciar volta imediatamente. Como resultado o moral cai, a velocidade cai ainda mais, o projeto é cancelado e a adoção de Scrum se torna mais complicada.
Portanto, adotar uma nova metodologia está sujeita a múltiplos desafios. A chave é focar na visão maior e nos benefícios que precisam ser realizados. Isto pode ser feito criando uma cultura organizacional de aprendizagem e adaptação constante.