10 dicas de desenvolvimento ágil testadas e testadas
Publicados: 2020-05-04A maioria pensaria em programação e desenvolvimento de software como uma busca solitária que tem nerds de computador escondidos em seus quartos, martelando milhões de linhas de código, mas isso está longe da verdade. O desenvolvimento de software real é um esforço de grupo significativo que exige que equipes de desenvolvedores com diferentes especializações trabalhem juntas para criar um software que seja funcional, fácil de usar e repleto dos recursos certos.
Fazer com que uma equipe de desenvolvimento esteja na mesma página durante todo o ciclo de desenvolvimento significa seguir um modelo que pode facilitar melhor o processo. Houve alguns ao longo dos anos com nomes como Waterfall, Spiral, V-model e assim por diante, que ilustram como o software é desenvolvido, desde a concepção até o produto final e a manutenção dele.
Fonte da imagem: Pôster Agile Manifesto por Adam Weisbart.
O processo que muitos grandes desenvolvedores atribuem agora é o que é conhecido como Agile, nomeado por seu princípio central de adaptabilidade e evolução constante. Baseado no que é chamado de Manifesto Ágil e escrito por um pequeno grupo de desenvolvedores altamente experientes.
Eles viram a colaboração como o pilar central do desenvolvimento e tanto os requisitos quanto as soluções podem evoluir a partir disso. O desenvolvimento ágil leva um bom tempo para dominar, mas aqui estão dez dicas que podem ajudá-lo.
Ótimo hardware para seus desenvolvedores e testadores
Embora seja possível codificar usando um laptop, é melhor desenvolver seu software com equipamentos que sejam mais do que suficientes. Também é tão importante que os testadores tenham máquinas de qualidade para fazer seu trabalho, pois você gostaria de ver os bugs e falhas que surgem independentemente dos problemas de desempenho.
Mas o que os programadores realmente querem é que vários monitores tenham tanto espaço de tela para escrever seu código. Bons teclados também são um grande impulso, já que o código de digitação é o pão com manteiga, e os teclados mecânicos são duráveis e ótimos para digitar (pelo menos aqueles com interruptores táteis).
Foco nos resultados
Nunca se trata de quem tem a ideia certa, mas de ter a ideia certa. No final, a direção vem da alta administração, ao contrário dos primeiros dias do Agile, quando vinha de baixo para cima. Este foi considerado o melhor fluxo de processo, pois as pessoas mais altas podem se concentrar em supervisionar e gerenciar o projeto, enquanto os desenvolvedores podem se concentrar em seu trabalho, seguindo parâmetros e limites definidos pela alta administração.
Devido a esse modelo de gestão de cima para baixo, espera-se que a equipe de desenvolvimento produza resultados concretos e mensuráveis. Eles precisam ser capazes de mostrar seu trabalho, não apenas em código, mas ter algo que esteja realmente funcionando como pretendido. Isso então é colocado sob a campainha através do Test Driven Development (TDD), um processo que desempenha um grande papel no desenvolvimento ágil.
Implemente a entrega contínua primeiro
Basicamente, continue vindo. Isso garante que o desenvolvimento seja alcançado em um ritmo constante e que os desenvolvedores recebam feedback cedo e com frequência. Comunicação e feedback constantes são o que o Desenvolvimento Ágil é, permitindo que a equipe se adapte a mudanças repentinas e circunstâncias inesperadas quando necessário. É aqui que entram as “construções”.
Uma compilação é basicamente uma versão utilizável do software que está sendo desenvolvido. Por meio do conceito de Entrega Contínua (CD), deve haver implantação frequente de builds sucessivos, cada um lançado após fazer melhorias e correções extraídas do feedback do build anterior.
Ganhe patrocínio para a alta administração
Embora o desenvolvimento ágil adote uma abordagem de cima para baixo, pode ser bastante demorado esperar pela aprovação da alta administração antes de implementar ou alterar algo.
Quando feito de forma errada, isso pode resultar em muito tempo desperdiçado esperando a permissão ser concedida. Uma boa solução é ter um porta-voz que possa levar essa preocupação do desenvolvedor à autoridade mais rapidamente, de preferência alguém que seja bom em lançar ideias e possa entender o que está sendo solicitado.
Mudando para ciclos de desenvolvimento e teste mais curtos
O inferno do desenvolvimento permeia muitos softwares, incluindo os principais. Há também momentos em que longos ciclos de desenvolvimento resultam em recursos que são rejeitados pelos usuários, o que torna todo esse ciclo um grande desperdício de tempo e dinheiro que a empresa pode não conseguir recuperar imediatamente. Uma boa maneira de mitigar essas ameaças é encurtar os ciclos de desenvolvimento e teste.
Uma vez que o desenvolvimento ágil tem tudo a ver com fazer as coisas acontecerem o mais rápido possível, incluindo o influxo de feedback, é importante ter ciclos de desenvolvimento mais curtos para chegar ao “produto mínimo viável”. Isso dá aos usuários algo para se aprofundar e poder dar feedback de acordo, que pode ser abordado na próxima compilação.
Alcançando a automação desde o primeiro dia
Também conhecido como AD1, este é um objetivo elevado que pode definitivamente tornar as coisas mais rápidas se você configurar tudo o mais rápido possível. Realisticamente, você pode ser capaz de automatizar tudo no segundo ou terceiro ano se for bom, mas pelo menos você deve continuar terminando no primeiro dia sempre que possível.
É uma economia de tempo e até mesmo um salva-vidas, se você pensar bastante sobre isso. Ter processos simples automatizados pode realmente ajudar os desenvolvedores e outros membros a lidar com trabalho desnecessário.
Proporção de Equipe Eficaz
Como diz o ditado: “Cozinheiros demais estragam o caldo”. Embora ter poucos membros em uma equipe possa dificultar o trabalho, ter muitos membros pode ser igualmente ruim. Também é um grande dreno nas finanças ter muitos em um projeto, já que você precisa pagá-los. Assim, é fundamental levar em consideração as necessidades do projeto e da própria equipe, assim como o prazo e muitos outros fatores.
Planeje problemas em aberto
A equipe pode tentar corrigir todos os problemas, mas sempre haverá alguns que passarão despercebidos e/ou acabarão sendo problemas em aberto. Isso é tratado tendo esses problemas abertos trabalhados no próximo ciclo de desenvolvimento.
Peça feedback
Isso não pode ser enfatizado o suficiente – o feedback é a força vital do Desenvolvimento Ágil. São os dados que podem ajudar o software a evoluir, e tanto os desenvolvedores quanto a alta administração devem prestar atenção pelo menos aos mais urgentes, tanto para o presente quanto para o longo prazo.
Avaliando seu processo
É aqui que entra a evolução do desenvolvimento, pois você precisa avaliar não apenas o software em que está trabalhando, mas também seu processo de desenvolvimento. Há tantas coisas que você pode ajustar, mas você terá que determinar quais são as que podem produzir os melhores resultados em um determinado período de tempo com o projeto atual e também os futuros.