Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Organizações empresariais adotam práticas Agile por muitos motivos. Entre esses motivos, os principais incluem:
- Reduzir o tempo de comercialização e acelerar a entrega de produtos
- Aprimorar a eficácia organizacional para gerenciar prioridades que são alteradas
- Aprimorar a qualidade do software e a previsibilidade de entrega
- Aprimorar a visibilidade do projeto e reduzir o risco do projeto
À medida que sua organização cresce, você deseja dimensionar suas práticas para permanecer ágil e atender às metas de alteração. Para fazer isso, considere estes dois princípios orientadores:
- Como é o sucesso para você, suas equipes e sua organização? O que mais lhe interessa: entrega pontual? Qualidade do produto? Previsibilidade? Satisfação do cliente?
-
Retorne aos primeiros princípios e retorne aos princípios e valores compartilhados enumerados no manifesto Agile , conforme observado por Ken Schwaber, um dos fundadores do Scrum:
- "Valores e princípios são colocados em escala, mas as práticas são sensíveis ao contexto."
- "Mantenha os valores, mantenha os princípios e pense por si mesmo. Uma premissa central do Agile é que as pessoas que fazem o trabalho são as pessoas que melhor podem descobrir como fazê-lo."
Criar ritmo e fluxo
Ao adotar uma cadência compartilhada e um conjunto de comunicações periódicas, você cria um fluxo constante de atividades em toda a organização. Práticas que ajudam a criar ritmo e fluxo em organizações maiores incluem:
- Cadência compartilhada: sprints e lançamentos regulares estabelecem o ritmo dos negócios. Fazer com que todas as equipes trabalhem em uma cadência compartilhada ajuda em todas as atividades de coordenação e colaboração.
- Comunicações sprint: para manter a organização e todas as equipes informadas sobre o progresso e os planos das equipes de recursos, cada equipe de recursos pode compartilhar um resumo de seus resultados de sprint anteriores e planos de sprint atuais por meio de canais digitais como Microsoft Teams, Slack ou email.
- Demonstrações de sprint e vídeos: crie vídeos rápidos de 2 a 3 minutos que ilustram novos recursos que a equipe produz. Compartilhe links para esses vídeos em canais da equipe ou na comunicação do sprint.
- Reuniões de Apresentação: para informar e solicitar feedback de outras equipes sobre o software em desenvolvimento, as equipes mostram o trabalho que realizam. Realize essas reuniões em intervalos regulares durante todo o ciclo de vida do projeto e inclua nelas todas as partes interessadas.
- Painéis de métricas de qualidade: para dar suporte a insights sobre a qualidade do produto e incentivar a manutenção da disciplina de bugs, compartilhe periodicamente métricas de qualidade com a organização. Essas métricas podem incluir bugs ativos por equipe de funcionalidades, tendências de bugs, cobertura de teste e taxas de escape de defeitos.
- Reuniões de coordenação e cerimônias: realizar reuniões que coordenam as equipes em intervalos regulares ou quantas vezes forem necessárias para abordar metas, dependências e riscos sobrepostos. Considere implementar o Scrum de Scrums ou sessões de planejamento de Incremento de Programas (PI).
Interagir com os clientes
Envolver os clientes em todo o ciclo de vida do produto é um princípio Agile crucial. Capacite cada membro da equipe a interagir diretamente com os clientes para tratar dos conjuntos de recursos de sua responsabilidade.
-
Loops de feedback contínuos: incorpore mecanismos de feedback do cliente. Esses loops podem assumir várias formas:
- Plataformas de voz do cliente: facilite que os clientes enviem comentários, adicionem ideias e votem em recursos de próxima geração por meio de portais dedicados, fóruns da comunidade ou sistemas de comentários integrados.
- Comentários no produto: implemente botões de comentários no produto e telemetria para coletar insights sobre a experiência do produto e recursos específicos.
- Demonstrações do cliente e testes de usuário: agende demonstrações regulares que solicitam comentários de seus clientes e realizem sessões de teste de usabilidade para ajudar a moldar produtos de próxima geração e mantê-lo no controle para criar aplicativos que seus clientes desejam consumir.
- Programas beta e adotantes iniciais: desenvolva programas com a ideia de que todas as equipes podem querer participar em algum momento. Os primeiros adotantes obtêm acesso a versões iniciais do software de trabalho e fornecem comentários valiosos. Geralmente, esses programas funcionam habilitando sinalizadores de recursos selecionados para uma lista de adotantes iniciais.
- Decisões controladas por dados: encontre maneiras de instrumentar seu produto para obter dados úteis e testar várias hipóteses. Conduza para uma cultura amigável a experimentos que celebra a aprendizagem e a tomada de decisões baseadas em evidências.
Aprimorar a visibilidade do projeto
Quanto mais insights você e suas equipes tiverem sobre a meta, a visão e o progresso do trabalho que está sendo feito, melhor você pode reduzir os riscos e gerenciar dependências.
- Estrutura de equipe: Não importa o quão grande sua organização fique, estruturar sua organização em pequenas equipes de 6 a 9 pessoas permite um crescimento eficiente. Crie equipes de recursos verticais e autônomas agrupadas em torno de áreas de gerenciamento de portfólio.
- Estrutura de detalhamento de trabalho: Dividir grandes metas, recursos ou requisitos em menores continua sendo um elemento essencial do gerenciamento de projetos. Ao dividir o trabalho em tarefas de tamanho semelhante, as equipes podem fazer estimativas melhores e identificar riscos e dependências.
- Modos de exibição e painéis consolidados: use suas ferramentas de acompanhamento online para agregar trabalho e obter conhecimento entre as equipes. Crie painéis em tempo real para mostrar o progresso, as tendências e os principais indicadores de desempenho usando os serviços do Azure DevOps Analytics.
- Análises de experiência e design: realize essas reuniões antes que o desenvolvimento comece em um recurso para instruir a liderança sobre cenários e prioridades, coletar comentários, definir expectativas e exibir quaisquer problemas entre equipes sobre o recurso.
Capacitar uma força de trabalho produtiva
As práticas agile específicas que dimensionam bem e levam a funcionários mais felizes, engajados e produtivos incluem:
- Liderança incorporada e segurança psicológica: capacitar equipes e líderes dentro da organização a se auto-organizar e se autogerenciar o máximo possível. A autonomia da equipe aumenta a agilidade organizacional e a eficácia da equipe. Verifique se as equipes têm o patrocínio corporativo necessário para ter sucesso e criar ambientes em que os membros da equipe se sintam seguros para expressar ideias e preocupações.
- Stand-ups diários: as reuniões de Scrum ajudam a manter as equipes focadas no que precisam fazer diariamente para maximizar sua capacidade de cumprir seus compromissos de sprint. À medida que as organizações crescem, elas devem considerar escalonar essas reuniões para que a participação entre equipes possa ocorrer conforme necessário.
- Scrum de scrums: representantes de diferentes equipes Ágil se reúnem regularmente para relatar o trabalho concluído, as próximas etapas, e identificar problemas ou bloqueios que ocorrem dentro de suas equipes.
- Comunicações de equipe e compartilhamento de conhecimento: forneça e incentive as equipes a compartilhar suas práticas e diretrizes por meio de redes corporativas. As ferramentas comuns incluem wikis de equipe, Microsoft Teams, Confluence ou wikis do Azure DevOps.
- Colaboração e qualidade de código: Incentive a comunicação e a colaboração informais de equipe para equipe. Institucionalize práticas como revisões de código, revisões de design, programação de pares e programação mob. Essas práticas não só aumentam a colaboração em equipe, mas ajudam a desenvolver competência corporativa individual e geral.
Aprimorar a cultura organizacional
Você aprimora a eficácia organizacional cuidando da cultura que deseja criar. Mudanças de cultura ocorrem quando indivíduos, equipes e organizações adotam uma ou mais práticas de melhoria contínua. Várias práticas Agile escalonáveis incluem:
Retrospectivas: Faça perguntas como: "O que deu certo?", "O que devemos fazer de diferente?", e "O que devemos parar de fazer?" para ajudar as equipes a refletir sobre como elas podem melhorar seus processos e práticas. Retrospectivas ajudam as equipes a exibir o que funciona bem e o que precisa de melhorias. Você pode realizar retrospectivas a qualquer momento e em qualquer lugar. No entanto, a institucionalização de determinadas retrospectivas em uma cadência regular ajuda a estabelecer práticas de melhoria contínuas. Por exemplo:
Retrospectivas de sprint ajudam as equipes a identificar áreas para melhorar de forma regular.
As retrospectivas de versão ajudam as organizações a identificar áreas para melhorar a comunicação e as práticas internas, além de impulsionar melhorias para a próxima versão.
Revisões operacionais: normalmente realizadas mensalmente e incluem representantes de um fluxo de valor inteiro. Abrangendo um portfólio de projetos e outras iniciativas e usando dados objetivos e quantitativos, crie essas retrospectivas para provocar discussões sobre a dinâmica que afeta o desempenho entre as equipes.
Confira o Wiki sobre o recurso de retrospectiva Agile para obter ideias, dicas e ferramentas para planejar e realizar retrospectivas. Confira também a Extensão Retrospectivas do Marketplace.
Quadro de acompanhamento de melhorias: boas ideias para melhorar os processos podem surgir de qualquer pessoa a qualquer momento. Capturar essas ideias para discutir e decidir como agir sobre elas rapidamente dá suporte aos esforços de melhoria do processo.
Um quadro branco oferece uma maneira fácil e visual de capturar ideias. Além disso, você pode criar uma equipe de acompanhamento de melhoria e capturar ideias que você rastreia em um quadro eletrônico.
Institucionalizar o compartilhamento e o aprendizado: compartilhar práticas recomendadas e comunicar ideias ajuda todas as equipes dentro de uma organização a crescer e melhorar. O desenvolvimento de uma cultura de aprendizagem dá suporte a essa e a outras atividades de melhoria contínua. Considere estas ideias:
Wikis internos e bases de dados de conhecimento
Comunidades de práticas e guildas
Semanas de hackathon ou tempo de inovação
Equipes internas de treinamento de DevOps e Agile para dar suporte às equipes que adotam essas práticas
Sessões regulares de almoço e aprendizado
Conferências internas e conversas técnicas
O Jogo de Cultura fornece um bom recurso para os gerentes agile para ajudar as equipes a adotar práticas ágeis e compartilhar práticas recomendadas.
Comunidades de prática: suporte a disciplinas comuns internas (por exemplo, engenheiros de confiabilidade do site, arquitetos de software, designers de UX, cientistas de dados e especialistas em segurança)
Software de trabalho
"Fornecer software de trabalho com frequência, de algumas semanas a alguns meses, com preferência pelo menor tempo."
"O software de trabalho é a principal medida do progresso."
- Manifesto Agile
À medida que a quantidade de software, recursos e complexidade aumenta, você precisa adotar práticas que o ajudem a produzir soluções consumíveis.
- Sinalizadores de recursos e entrega progressiva: use sinalizadores de recursos para habilitar ou desabilitar o acesso a diferentes recursos com segurança. Suporte para ativar funcionalidades para que os usuários iniciais obtenham feedback funcional. Implemente padrões de entrega progressivos, como lançamentos canário e implantações blue-green.
- Trens de lançamentos e entrega contínua: forneça outro tipo de cadência para entregar uma ou mais funcionalidades. As equipes de funcionalidades entendem o cronograma pré-planejado de lançar novos recursos e planejam adequadamente. Os trens de release podem corresponder à mesma cadência de sprint estabelecida para a organização ou ocorrer em uma cadência diferente. Consulte o Scaled Agile Framework para saber como configurar sprints e liberar trens.
- Integração contínua e implantação contínua (CI/CD): adote processos automatizados que eliminam o trabalho manual e automatizam o fluxo de software por meio de ciclos de teste, build e implantação. Implemente estratégias de teste abrangentes, incluindo testes de unidade, testes de integração e testes de aceitação automatizados.
- Desenvolvimento interno e aberto: traga o valor e o ethos desenvolvidos na comunidade de software de software livre para suas equipes de desenvolvimento internas. Incentive o compartilhamento de código, a documentação e as práticas de desenvolvimento colaborativo entre as equipes.
- Práticas nativas de nuvem: adoção de contêineres, arquiteturas de microsserviços e padrões de implantação nativos de nuvem para melhorar a escalabilidade e a manutenção.
Práticas e considerações modernas
À medida que as práticas agile evoluíram, considere estas outras abordagens modernas:
- Integração do DevSecOps: integre as práticas de segurança em todo o ciclo de vida de desenvolvimento, em vez de tratar a segurança como uma preocupação separada.
- SRE (engenharia de confiabilidade do site): adote práticas de SRE para melhorar a confiabilidade do sistema e reduzir a sobrecarga operacional.
- Mapeamento de fluxo de valor: mapeie e otimize o fluxo de valor da ideia para a entrega do cliente.
- OKRs (Objetivos e Resultados Principais): use OKRs para alinhar equipes em torno de resultados mensuráveis em vez de apenas saídas.
- Pensamento de design: incorpore abordagens de design centradas no ser humano para entender melhor as necessidades do cliente.
Conteúdo relacionado
Junto com as práticas acima, você pode encontrar mais diretrizes sobre como dimensionar suas ferramentas agile nos seguintes artigos:
- Cultura Agile
- Adicionar equipes
- Gerenciamento de portfólio
- Visibilidade entre equipes
- Colocar o Agile em escala para grandes equipes
Recursos do setor
- Manifesto Agile
- Agile Alliance
- Agile Framework dimensionado (SAFe)
- DevOps Research and Assessment (DORA)
Práticas que não são colocadas em escala
- Estimativa de iniciativas grandes: parte dos métodos de projeto em cascata envolvia a estimativa de recursos e agendamentos. Quanto maiores as iniciativas, menor a probabilidade de essas estimativas fornecerem qualquer valor. À medida que os projetos crescem, riscos e impedimentos imprevistos podem surgir, invalidando muitas estimativas.
- Velocidade como uma métrica entre equipes: embora a velocidade da equipe possa fornecer uma métrica útil para obter informações sobre quanto trabalho cada equipe pode concluir durante um ciclo de sprint, você não pode adicionar velocidades de equipe para obter métricas significativas ou úteis. Além disso, o uso da velocidade obtida de muitas equipes para elaborar de forma confiável as previsões de longo prazo apresenta problemas. As equipes podem variar na forma como estimam seu trabalho e essas variações aumentam ao longo do tempo.
- Soluções prescritivas de cima para baixo: um tamanho não serve para todos, e uma solução normalmente não se encaixa em todas as equipes. Dar suporte à autonomia da equipe significa permitir que as equipes encontrem suas próprias soluções, fornecendo as estruturas e suporte necessários.
- Cargo cult Agile: simplesmente adotar cerimônias agile sem entender seu propósito ou adaptá-las ao seu contexto geralmente leva a implementações ineficazes.