O desenvolvimento de software ágil não envolve apenas desenvolvedores
Ninguém quer lançar um software com vários bugs, problemas de desempenho e baixa satisfação do cliente. A integração contínua e as revisões de código ajudam a evitar essa situação... mas quem tem tempo, certo? Bem, as equipes ágeis e de DevOps arranjam tempo.
Os desenvolvedores de software ágeis têm como foco o desenvolvimento sustentável, e não o heroísmo. A sustentabilidade é definida por boa estimativa, estratégias de ramificação eficazes para gerenciamento do código, teste automatizado para proteger a qualidade e implementação contínua para obter feedback rápido dos usuários.
Adotar práticas de desenvolvimento sustentável exige a disciplina que a maioria de nós quer ter, mas, em geral, não consegue sozinho. É porque ninguém consegue ser ágil ou seguir o DevOps sem contexto. A cultura de toda a empresa deve estar coesa, e, algumas vezes, um agente de mudanças é necessário, como um engenheiro de DevOps. Ou seja: é preciso fazer com que os líderes de projeto concordem com a noção de que a qualidade é mais importante do que o escopo ou o cronograma, que é, em geral, a parte mais difícil na adoção do método ágil.
Mas vale a pena! Os desenvolvedores têm liberdade e responsabilidade para o desenvolvimento sustentável de software, mantendo um ótimo relacionamento com a empresa. E a empresa passa a oferecer um produto de alta qualidade no mercado, o que reforça ainda mais essa ótima relação com a engenharia. Além disso (e esta é a melhor parte), é raro que os desenvolvedores de software ágeis enfrentem "marchas da morte". Quando o desenvolvimento fica atrasado porque a manutenção da alta qualidade precisa de mais esforço do que o previsto, a ponta do triângulo de ferro relativa ao escopo pode ser flexibilizada para acomodar essa situação — e ninguém precisa trabalhar no fim de semana.
Todos os desenvolvedores de software conhecem o "triângulo de ferro" do gerenciamento de projeto: escopo, cronograma e qualidade. E a maioria de nós já trabalhou em projetos nos quais o escopo era inflexível, o cronograma foi destruído e o desenvolvimento foi oprimido pelo débito técnico. Às vezes–apenas para colocar mais lenha na fogueira–o produto final nem era o que o mercado queria. Isso é uma situação frustrante e tragicamente familiar.
Mas não tenha medo: há boas notícias.
Com o desenvolvimento de software ágil, o escopo se torna a variável dinâmica para que as equipes possam proteger a qualidade, criar uma cultura de desenvolvimento vibrante e manter um alinhamento firme com a empresa. Na Atlassian, o método ágil é o centro de todas as equipes de desenvolvimento (bem como de muitas equipes que não são de desenvolvimento!). E por boas razões.
Ele proporciona aos indivíduos práticas que criam uma sólida base técnica em seus produtos e uma cultura de colaboração em sua equipe. Desenvolvedores em equipes ágeis são mais engajados, escrevem códigos melhores e se divertem mais.
Conexões fortes significam um produto mais forte
O método ágil é sobre trabalho em equipe, o que não é nenhuma surpresa visto que a maioria dos softwares de hoje é criada por equipes. Os desenvolvedores criam fortes relações com o gerenciamento de produtos, design, controle de qualidade e operações porque escrever um código sustentável significa ficar conectado a todas as facetas do projeto. A Atlassian tem visto grandes benefícios na satisfação do desenvolvedor e na qualidade do código ao possibilitar que os desenvolvedores possam trabalhar diretamente com outras partes do negócio. Código melhor, menos problemas (ou seja, duplicação de esforço e/ou fluxos conflitantes de trabalho) e multidisciplinaridade mais eficaz são apenas alguns dos benefícios.
O aconselhamento também é importante. Equipes ágeis fazem treinamento umas com as outras para garantir que o conhecimento sobre a base de código seja compartilhado com todos. Um modo de fazer isso é por meio de revisões de código, que não apenas protegem a qualidade, mas melhoram a familiaridade com a código por toda a equipe. Independentemente de como o conhecimento é compartilhado, as equipes ágeis não acabam com desenvolvedores de caminho crítico que não podem sair de férias porque são os únicos que entendem uma parte específica do código. Ninguém quer ser esse desenvolvedor.
Os desenvolvedores ágeis também podem trabalhar em toda a pilha de tecnologia do seu produto com maior facilidade do que as equipes de cascata, pois as equipes ágeis são auto-organizáveis, proporcionando aos membros chances de buscar novas habilidades. É um fato que os desenvolvedores que entregam recursos inteiros – de IU a BD – têm mais propriedade sobre o código. Na Atlassian, os desenvolvedores têm muitas pilhas porque acreditamos na compartilhamento de conhecimento entre a equipe e em toda a empresa.
Codificação, cultura e tornar incrível o desenvolvimento de software ágil
Adotar o método ágil trata-se de criar uma ótima cultura de desenvolvimento em sua organização. Continue lendo para saber mais sobre estratégias de ramificação, técnicas de teste automatizado, integração contínua eficazes, bem como a criação de relacionamentos efetivos com outras partes do negócio. Os próximos artigos detalharão mais as alterações específicas que vários desenvolvedores fizeram durante a transição para o método ágil e, graças a essas alterações, tiveram êxito.
O desenvolvimento de software ágil é uma jornada. E a gente está com você a cada passo.
Comece de graça com o template de plano de projeto DevOps
Desenvolva, implemente e gerencie aplicativos com uma abordagem aberta para ferramentas.