Desenvolvimento Ágil de Software: O Que é e o que Você Ganha Com Isso
Agile 101
O que é Desenvolvimento Ágil de Software?
Uma Breve Visão Geral
Breve História
Nos anos 80 e 90, o método predominante de gerenciamento de projetos era o modelo de cascata. Amplamente utilizado em projetos de construção e fabricação, exigia muita papelada, um projeto fixo e a liberação do produto final somente no final da fase de construção.
Como o desenvolvimento de software é uma atividade complexa ao invés de complicada como a construção e a fabricação, muitos projetos de software foram além do tempo e do orçamento e não conseguiram satisfazer as intenções e exigências do cliente.
Um exemplo principal foi o projeto de TI do Serviço Nacional de Saúde do Reino Unido, que custou mais de £10 bilhões e não funcionou.
Algo teve que mudar e várias abordagens diferentes surgiram no final dos anos 80 e 90.
Tais como prototipagem, Método de Desenvolvimento de Software (ou Sistema) Dinâmico, Scrum, Programação Extrema (XP).
Então, em 2001, um grupo de 17 desenvolvedores de software argumentativos, mas bem sucedidos, reuniu-se para discutir melhores métodos de desenvolvimento de software.
Eles concordaram que o desenvolvimento de software precisava ser adaptável à mudança, orientado ao cliente e orientado ao valor. Eles resumiram suas discussões em um manifesto, listando 4 valores e 12 princípios essenciais para o sucesso do desenvolvimento de software: o Manifesto Ágil.
Até hoje, o manifesto ainda é o padrão a ser seguido.
Os 4 Valores Ágeis são:
Os 12 princípios são diretrizes de senso comum sobre o que parece ser o cumprimento de um ou mais destes valores. Você pode ler todos eles neste infográfico.
Como Funciona?
Tudo começa com o Mindset Agile e a promessa que ele mantém.
O Mindset
Agile é a escolha de agir de acordo com valores e princípios de bom senso que forneçam valor de uma forma sustentável para todos os envolvidos.
O CEO Anthony Fox-Davies o explicou como procurar caminhos para contornar os obstáculos, buscando soluções que ofereçam excelente qualidade.
Para fazer isso, é preciso fomentar a colaboração e interações significativas. E isso exige foco no ser humano e fomentar respeito e confiança para melhorar a vida de todos: incluindo o cliente, o usuário final e os desenvolvedores.
Como Aristóteles já dizia:
“O prazer no trabalho coloca a perfeição na obra”.
A Promessa do Agile: Soluções para Problemas
Aplicar essa mentalidade ao trabalho em engenharia de software promete entregar resultados como estes:
Tanto os clientes quanto os desenvolvedores adoram!
Chegar lá requer esforço intencional e nem sempre é fácil de se manter.
A Visão Mais Ágil
Extensão para DevOps e DevSecOps
O que é necessário para operar um produto de software é muitas vezes negligenciado durante o desenvolvimento, tornando desajeitado manter o software funcionando sem problemas para seus usuários.
DevOps — Desenvolvimento e Operações — procura resolver isso colocando desenvolvedores e operadores juntos em uma equipe. Ao trabalhar em colaboração, eles podem reduzir o tempo de implementação, corrigir bugs mais rapidamente e prolongar a vida útil do produto.
Além disso, o DevSecOps adiciona especialistas em segurança a uma equipe para manter a segurança de seu produto ao nível das medidas de segurança explícitas e ajudar os desenvolvedores a evitar construções de software que poderiam ser exploradas por hackers.
Gerenciamento Ágil de Projetos
Culturas Corporativas Agile
Ciclo de Vida do Desenvolvimento Ágil de Software
O Ciclo de Vida do Desenvolvimento Ágil de Software começa com um cliente que quer resolver um problema com um novo software.
A equipe ou equipes que desenvolverão o software colaborarão com os profissionais de negócios do cliente para descobrir o que os usuários finais precisam do software para fazer.
Juntos, eles mapeiam e priorizam as funcionalidades necessárias do produto e decidem sobre as funcionalidades que constituirão um produto mínimo viável (MVP) — as funcionalidades essenciais para a entrega no primeiro lançamento.
Depois disso, o desenvolvimento é iterativo e incremental para a vida útil do produto.
Desenvolvimento e Entrega Iterativa e Incremental
O desenvolvimento e a entrega no Agile é iterativo. O trabalho é feito em pequenas iterações, geralmente com duração de 1 ou 2 semanas. Às vezes até 4. Também é incremental porque em cada iteração você constrói pequenas fatias de software de trabalho que podem se manter de pé.
Aqui está mais sobre este processo. Desenvolvimento Iterativo e Incremental: Recuse Escolher.
Mini Cascatas Ainda São Cascatas
A maioria das organizações inicia sua jornada Agile encurtando a cascata para sua duração de iteração. Basicamente, elas estão executando mini cascatas em curta sucessão.
Embora haja benefícios para fazer isto, há também muitos inconvenientes:
Agile Colaborativo
Mantendo o Ritmo
Cortando o Desperdício Para Acelerar, de Forma Sustentável
Considere estes exemplos.
Similaridades e Diferenças
Principais Funções e Responsabilidades
Principais Reuniões, Ciclos e Cadências de Entrega
Uma cadência de entrega é a frequência com que você lança uma nova versão para seus clientes. Uma iteração, ou ciclo, é quanto tempo uma equipe trabalha antes de pausar, refletir e planejar os próximos passos.
As reuniões no Agile servem a propósitos específicos, embora possam ser realizadas por nomes diferentes em cada framework. As reuniões em uma iteração são:
Métodos e Técnicas
Armadilhas Comuns: Por Que o Agile Nem Sempre Funciona
As equipes não se tornam ágeis ou autogerenciadas por declararem isso. O fracasso em ajudar uma equipe neste processo é uma armadilha comum.
Embora o Agile e a conformidade não sejam mutuamente exclusivos, sistemas altamente regulamentados como o de saúde não funcionam facilmente com o Agile.
Começando
Leitura Adicional
Livros e Artigos
Coaching e Treinamento
Certificação e credenciamento
Como instrutor credenciado junto à Kanban University, os serviços de treinamento da Digité incluem treinamento especializado e certificação em Kanban.
A ICAgile oferece credenciamento
Tanto a Scrum.org como a Scrum Alliance oferecem cursos de certificação.
Descobrindo a Terminologia Agile
Aqui está um guia rápido de terminologia Agile (que pode ser muito confuso para os recém-chegados).
O que é o Mindset Agile
O Mindset Agile é uma forma de pensar o desenvolvimento de produtos (software) com base nos valores e princípios ágeis estabelecidos no Manifesto Ágil.
O Que São Metodologias Ágeis de Desenvolvimento de Software
O que é Metodologia Ágil
O Que São Frameworks
Desenvolvimento de Software Agile Campeão
O desenvolvimento ágil de software é desejável e não é uma ilusão.
Apesar das falhas e decepções sobre as quais você pode ler, há muitas empresas que colhem os benefícios.
Basta ter em mente que você não se torna Agile da noite para o dia.
É um processo. Há mu
A vida é boa quando suas equipes Agile estão sincronizadas!
Contate-Nos hoje para uma demonstração personalizada do SwiftEnterprise! Ou inscreva-se para atualizações abaixo.