São duas abordagens distintas, mas com pontos em comum. Agile e DevOps são cada vez mais falados e há benefícios para organizações de todos os tamanhos. Apesar das diferenças, estes dois métodos têm um objetivo em comum: melhorar a produtividade do negócio
Agile e DevOps são dois dos termos mais utilizados recentemente. É visto como um sinal de inovação por parte das empresas, mas, afinal, o que é Agile e o que são DevOps? Em 1970, o Dr. Winston W. Royce publicou aquilo que descreveu como o seu “ponto de vista sobre como gerir o desenvolvimento de software em larga escala”. Royce explicou que há dois passos essenciais comuns ao desenvolvimento de programas, independentemente do tamanho: análise e criação de código. No entanto, adverte, “a implementação de fabrico de sistemas de software de larga escala com apenas estes dois passos está condenada ao fracasso”. O trabalho publicado por Royce afirma que um projeto pode ser desenvolvido como um produto numa linha de montagem. Cada fase do desenvolvimento tem que estar completa antes que a próxima fase possa ter início.
Manifesto AgileEm contraponto com a metodologia derivada do trabalho de Royce, denominada de Waterfall, surge o Agile. Em 2001, 17 participantes, como Jeff Sutherland, Ken Schwaber e Martin Fowler criaram o “Agile ‘Software Development’ Manifesto”. Este documento fornece algumas ideias específicas sobre como se deve desenvolver software. O manifesto conta com 12 princípios sobre o qual este tipo de desenvolvimento se move. “A nossa maior prioridade é, desde as primeiras etapas do projeto, satisfazer o cliente através da entrega rápida e contínua de software com valor”. Este processo de desenvolvimento ágil potencia a mudança em benefício da vantagem competitiva do cliente, mesmo que isso obriga a “alterações de requisitos, mesmo numa fase tardia do ciclo de desenvolvimento”. Simultaneamente, este manifesto indica que "os processos ágeis" promovem o "desenvolvimento sustentável" dos projetos. A "simplicidade" é "essencial", sendo uma "arte de maximizar a quantidade de trabalho que não é feito".
Benefícios do método AgileMas afinal, quais são os benefícios deste método? Agile surge da experiência com os projetos reais dos principais profissionais de software do passado. Como tal, os desafios e limitações do desenvolvimento tradicional foram descartados. Com o passar do tempo, este método acabou por ser aceite pela indústria como uma melhor solução para o desenvolvimento de projetos. Agile oferece uma estrutura leve para ajudar as equipas a funcionar e manter o foco na entrega rápida. Por sua vez, este foco ajuda as organizações a reduzir os riscos gerais associados ao desenvolvimento de software. A utilização de planeamento e feedback interativo resulta em equipas que podem alinhar um produto que reflita as necessidades desejadas do cliente. Assim, o produto vai-se adaptando facilmente aos requisitos em constante mudança ao longo do processo, medindo e avaliando o estado de um determinado projeto. Em vez de tentar comercializar software antes de ser escrito, este método permite às equipas otimizar o lançamento durante o seu desenvolvimento, o que permite que o produto seja o mais competitivo possível no mercado.
O que é DevOps?DevOps é uma das maneiras de desenvolver software estando focado na comunicação, na integração e na colaboração entre os vários profissionais de IT que permitam uma implementação mais rápida dos produtos. Tal como o próprio nome indica, esta cultura promove uma maior colaboração entre as equipas de desenvolvimento (development) e de operação (operations). Deste modo, será possível aplicar o código criado para produzir resultados mais rápidos e automáticos. As equipas, tanto de desenvolvimento como de operações, trabalham durante todo o ciclo de vida do software, desde a fase de desenvolvimento até à fase de implementação e operações. Existem modelos em que as equipas de controlo de qualidade e segurança aumentam a sua integração no desenvolvimento e na operação do ciclo de vida da aplicação. No entanto, a transição para um modelo DevOps não é necessariamente fácil, uma vez que exige uma mudança de mentalidade. De forma simples, DevOps pretende remover barreiras entre duas equipas, uma vez que trabalham em conjunto para otimizar a produtividade dos developers. Por norma, as empresas que utilizam este modelo, independentemente da sua estrutura, contam com equipas que supervisionam o ciclo de vida completo de desenvolvimento e infraestrutura como parte das suas responsabilidades.
Benefícios do DevOpsUm dos principais benefícios desta abordagem é a velocidade, uma vez que permite às empresas levar inovações para os seus clientes mais rapidamente e permite uma adaptação melhor a mercados dinâmicos. Por outro lado, permite aumentar a confiança e garantir a qualidade das atualizações das aplicações e alterações da infraestrutura. Através desta colaboração, é possível criar equipas mais eficientes através de um modelo DevOps. Com as equipas de desenvolvimento e operações com uma forte colaboração, há uma maior partilha de responsabilidade e de fluxos de trabalho. Esta partilha permite reduzir as ineficiências e economizar tempo.
Diferenças entre Agile e DevOpsHá, naturalmente, várias diferenças entre uma abordagem Agile e DevOps. Enquanto o método de desenvolvimento de software Agile se foca em criar o software e disponibilizá-lo, a abordagem DevOps utiliza um software que já foi construído e que é de confiança, para que possa ser facilmente distribuído. DevOps otimiza as operações de negócios. Assim, cada gestor de projeto tem duas opções para escolher. No primeiro cenário, é possível implementar atualizações assim que estas estiverem visíveis, ou pode esperar até ao momento em que todas as atualizações estão visíveis e implementá- las uma de cada vez para otimizar os negócios. |