Ficando ágil: desbloqueando o potencial oculto da sua equipe

Ficando ágil: desbloqueando o potencial oculto da sua equipe
Author

Anand Narayanan

Last updated September 8, 2017


  • 3569 Views

Muitas empresas hoje estão considerando ou usando metodologias iterativas como Agile e Scrum para entregar seus projetos de software. Isso resultou de desafios que essas empresas enfrentaram com uma abordagem de entrega em cascata, em que o código está constantemente em um estado de fluxo, e os prazos de desenvolvimento foram perdidos rotineiramente, apesar dos melhores esforços dos desenvolvedores inteligentes. Os métodos iterativos tendem a superar os métodos tradicionais, ou ad-hoc , como você pode ver na pesquisa abaixo. Vamos dar uma olhada em porque este é o caso.

quão bem sucedidas são as equipes de entrega de software

Por que os métodos de entrega iterativa são melhores que os tradicionais?

Requisitos em mudança: No mundo de hoje, o volume de dados gerados está aumentando constantemente e a busca para satisfazer o consumidor está se acelerando. Indiscutivelmente, o maior desafio que uma empresa deve enfrentar é o cenário em constante mudança dos requisitos do usuário. Embora os métodos tradicionais assumam que os requisitos são em grande parte estáticos, os métodos iterativos (como o Agile) tendem a assumir que tudo muda constantemente e o negócio precisa construir apenas o que é conhecido no momento. Essa abordagem permite um rápido ajuste às necessidades variáveis ​​dos usuários, facilitando resultados mais personalizados.

Os limites da mente humana: Através dos tempos, os seres humanos construíram sistemas, ferramentas e métodos que lhes permitem acelerar sua capacidade de criar, inovar e entregar. No entanto, mesmo com todas as ferramentas que criamos, parece que os problemas maiores têm maior probabilidade de erro humano, especialmente quando estamos com pouco tempo. Esse problema geralmente ocorre em métodos tradicionais em que um grande conjunto de requisitos e módulos é construído em paralelo e Espera-se que trabalhem bem em conjunto. Esse desafio normalmente tende a ser complexo demais para lidar até mesmo com o desenvolvedor mais capaz - afinal, nós, como seres humanos, só podemos compreender muito a qualquer momento.

Digite a abordagem iterativa. A implementação iterativa limita a quantidade de alterações em uma única iteração. Isso reduz o risco e melhora os resultados, tornando-os consideravelmente mais viáveis. Esse risco reduzido oferece às abordagens iterativas uma enorme vantagem sobre os métodos ad-hoc.

A tendência da mente humana de superestimar sua própria capacidade: não importa o quanto somos inteligentes ou quão bons somos no que fazemos, muitas vezes tendemos a superestimar nossas próprias habilidades. É por isso que, à medida que o horizonte temporal se aproxima, nós, seres humanos, tendemos a prever entregas mais rápidas do que são realmente possíveis. Os métodos iterativos reconhecem esse fato e se adaptam a esse desafio baseando as previsões em uma taxa de execução (conhecida como “velocidade” no Agile). Essa taxa de execução é baseada em dados históricos e, portanto, tende a ser mais realista.

Portanto, agora que sabemos por que os métodos iterativos são tipicamente mais eficazes, o que é Agile e o que é Scrum?

Agile Scrum: O que é isso, e por que eu deveria me importar?

Agile é um sistema de métodos para entregar iterativamente. O Agile Scrum adiciona algumas regras à estrutura para tornar os processos mais colaborativos e baseados em equipes. Abaixo está uma visão geral de alto nível dos elementos estruturais do Agile:

1. Uma sprint (iteração) que geralmente é executada entre uma e três semanas, fornecendo um bit liberável do produto que pode consistir em correções de bugs, novos recursos, melhorias na interface do usuário ou alguma combinação desses e de outros projetos.

  • Cada sprint tem uma sessão de planejamento de sprint, onde a equipe se compromete com as histórias do usuário, ou subprojetos, eles podem concluir durante esse sprint e dividir as histórias em tarefas.
  • Short daily huddles conhecido como o “daily scrum” ou “daily standup”, onde a equipe fornece breves relatórios de status para determinar onde está e o que pode ser realizado naquele dia.
  • Uma retrospectiva no final do sprint que permite que a equipe determine onde eles podem melhorar e como eles podem construir mais velocidade no futuro.
  • Uma demonstração que permite à equipe mostrar sua entrega para as partes interessadas ou usuários.

2. Uma versão que inclui um conjunto definitivo de recursos / histórias que serão lançados ao longo do tempo. Uma liberação é geralmente um número predeterminado de sprints. Normalmente, uma equipe não executa uma atividade de planejamento de liberação até que tenha demonstrado uma velocidade sustentada que permita um planejamento eficaz.

3. Papéis

  • Um Product Owner que possui toda a lista, ou backlog, de histórias, prioriza-as e garante que a entrada do cliente / parte interessada seja incorporada.
  • Um Scrum Master (gerente de projetos) que facilita e orienta a equipe para o sucesso no dia-a-dia.
  • A equipe que está entregando o produto.

Embora a descrição acima não seja abrangente (você pode aprender mais aqui ), há também uma mudança de mentalidade ao embarcar na jornada Ágil. De minha própria experiência, aqui estão alguns aspectos a serem considerados que são geralmente bastante úteis para obter maior velocidade e entrega previsível de seus sprints. Eu recomendo ler o artigo “Uma breve introdução ao Scrum”, linkado acima, se puder; é a base para esses pensamentos.

  1. Pense em integração contínua . Sem ferramentas automatizadas para construir, testar e liberar, sua velocidade será limitada à velocidade dos seres humanos. A automação pode acelerar bastante sua entrega; atualize suas ferramentas juntamente com seus recursos em todos os momentos.
  2. Pense documentação mínima e conteúdo escrito . Sim, a documentação é requeridos; entretanto, toda documentação deve ter um propósito: melhorar a capacidade / velocidade da equipe.
    • Os documentos da API são úteis para a equipe, permitindo que eles distribuam rapidamente o trabalho sem suporte excessivo.
    • Um documento de requisitos de 20 páginas não é tão útil quanto um proprietário de produto sentado com a equipe e trabalhando com os requisitos pessoalmente. Em implementações anteriores, pedi à minha equipe que não se incomodasse em documentar os problemas encontrados em um sprint, já que eles precisam ser corrigidos de forma colaborativa imediatamente.
    • Pegue atalhos ... é o que o Agile permite que você faça. Mas não tome atalhos que te deixam em apuros na estrada! Disciplina básica ainda é um pré-requisito para a construção de bons produtos.
  3. Aceite e celebre a mudança . O domínio ágil requer aceitação total para mudar e capacidade de se adaptar rapidamente. Adivinha? Se suas necessidades e negócios esperam que seu código mude o tempo todo, você está em um estado de fluxo com muitas incógnitas. Mas isso é uma boa notícia, já que o desconhecido pode comandar as máquinas de maior crescimento.
  4. Comprometimento. Nenhuma equipe Agile conseguiu chegar bem sem se comprometer com o resultado do sprint e ir atrás dele. Com o passar do tempo, as longas horas irão diminuir e a previsibilidade aumentará à medida que você começar a se adaptar a uma velocidade boa e repetível, além de poder dimensionar consistentemente suas histórias.
  5. Capacidade generalizada nas equipes do Scrum: Equipes com uma capacidade generalizada tendem a aceitar mais histórias e entregar mais velocidade ao longo do tempo, já que seu backlog quase nunca será baixo. Embora seja aceitável que um desenvolvedor individual tenha uma especialização, recomenda-se criar equipes nas quais qualquer membro possa assumir todas as histórias no backlog. Isso exigirá treinamento e aprendizado cruzados e um enfoque na capacitação e capacitação de cada indivíduo da equipe para assumir qualquer tarefa.

Tudo isso soa ótimo, certo? Mas agora você provavelmente está se perguntando ...

Como faço para começar com o Agile Scrum? Como eu fico bom nisso?

Se eu convenci você até agora de que o Agile pode ajudar você e sua organização, a próxima pergunta será onde eu começo e quanto tempo demora para ficar bom nisso ?

Com base na minha experiência, as etapas para a adoção completa de uma estrutura Agile em toda a organização são descritas abaixo. Existem outros modelos (modelo do Dr. Dobbs, por exemplo) que discutem esses estágios, mas sua essência é a mesma. Tenha em mente que, assim como a abordagem iterativa do Agile, essas fases tendem a se sobrepor e não são tão separadas como as listadas abaixo.

  1. Estágio 1 - Informando: Eu recomendaria fortemente que você fizesse um curso formal ou uma certificação (CSM, por exemplo) que cobre completamente o básico. Essa fase geralmente dura de um dia a uma semana.
  2. Fase 2 - Adotando: Aplique Scrum Ágil a pelo menos um projeto no trabalho. Logo no início, haverá vários desafios. Alguns deles estão documentados aqui . Mantenha o processo em movimento e seja brutal e realista durante suas retrospectivas sobre o que deve mudar. Ser orientado para resultados e honesto consigo mesmo nessas discussões é a única maneira de melhorar. Acredite em mim, vale a pena quando você termina a fase inicial - mesmo que no curto prazo você possa ver a produtividade despencar no seu projeto. Eu também investiria em uma ferramenta que facilitasse a coordenação do backlog e dos sprints. Esta fase normalmente leva um mês ou dois, assumindo que você está fazendo sprints de duas semanas.
  3. Estágio 3 - Escalonamento: expanda o que você aprendeu em vários projetos: depois de entregar alguns sprints com velocidade previsível, você estará pronto para levar sua experiência e aplicá-la. em mais projetos. Fazê-lo com cautela, no entanto, já que o alongamento pode diluir sua capacidade de melhorar. Dito isto, ter vários projetos em execução em paralelo permite que você aprenda mais no menor tempo possível. É por isso que recomendo escalar rapidamente. Esta fase tende a ser um investimento de dois a quatro meses.
  4. Estágio 4 - Otimização: Melhore a eficiência e a capacidade das equipes por meio de automação, ferramentas, mudanças organizacionais e quaisquer outros meios necessários. Estes devem fluir naturalmente das retrospectivas e é o passo mais importante para ganhar velocidade. Invista em ferramentas de CI / CD e automação - e certifique-se de que as principais métricas importantes sejam automatizadas. Se você apimentar esse trabalho nos estágios anteriores, não terá muito o que fazer aqui. No entanto, se você quiser ir devagar, essa etapa pode levar de algumas semanas a alguns meses, dependendo da maturidade do ambiente de código.

Neste ponto, você deve ter atingido uma metodologia de entrega que permita a entrega diária de recursos úteis (se necessário), métricas-chave automatizadas e uma equipe que tenha uma boa dinâmica diária. Parabéns! Você chegou mais longe do que a maioria das equipes.

Você pode acelerar as fases acima tomando os cursos Agile e Scrum do Simplilearn. O trabalho do curso tem projetos ao vivo que o ajudam a assimilar e executar esses conceitos muito mais rapidamente e podem permitir que você comprima as etapas acima.

Ok ... Isso é ótimo também ... mas ...

Quais resultados você deve esperar?

Tendo sido um praticante Ágil há mais de 10 anos e tendo implementado essa metodologia em mais de 20 equipes em desenvolvimento, conteúdo, marketing e muitas outras equipes de entrega diversificadas, meus aprendizados foram reduzidos a esses tópicos:

  • Infinitamente maior moral na equipe. Quero dizer a sério! As equipes vão realmente aproveitar a colaboração e o senso de propriedade uma vez você segue esse caminho. Sim, haverá pessimistas, mas isso é natural com qualquer mudança.
  • Descobri que os problemas pós-lançamento caíram quase 30% para nós. Com uma equipe mais madura, você pode esperar uma redução de 50% ou mais nos problemas de pós-produção. A maioria dos problemas é encontrada em um sprint e corrigida antes do lançamento. Junte isso ao fato de que você está apenas liberando recursos incrementais (reduzindo riscos) e obtém uma entrega de qualidade muito melhor.
  • A velocidade da equipe tende a aumentar de 30 a 60% quando você dimensiona e automatiza sua entrega ágil. Isto é principalmente devido ao foco implacável na melhoria de cada sprint e na automação adicional que você vai sintonizar naturalmente como resultado da cadência diária.
  • A capacidade de prever resultados com base no planejamento de release é muito melhor em comparação com o plano de projeto tradicional. Eu vi que a precisão é cerca de 30 a 50% maior em meus projetos anteriores. Este é um grande delta em projetos maiores.

A parte mais importante desta jornada é que você está construindo agora uma organização adaptável e uma equipe que pode girar rapidamente. Essa é uma vantagem competitiva em um mercado cada vez mais difícil.

Leitura adicional:

Scrum Essencial: Um Guia Prático para o Processo Ágil Mais Popular , Kenneth S. Rubin Learning Agile: Entendendo Scrum, XP, Lean e Kanban , Andrew Stellman e Jennifer Greene

Find our Agile Scrum Master Online Classroom training classes in top cities:

Name Date Place
Agile Scrum Master 20 Oct -3 Nov 2018, Weekend batch Your City View Details

About the Author

A Product leader with deep experience in building products across various industries and product types, Anand leads the product vision, roadmap and delivery at Simplilearn. Prior to this role, Anand headed the complete portfolio for the cloud division at Rackspace in San Antonio, Texas. He has also led product at Dell and National Instruments prior to this in products ranging from test and measurement software solutions to enterprise software solutions. Anand strongly believes in a customer driven, data augmented, lean approach to delivering products.


{{detail.h1_tag}}

{{detail.display_name}}
{{author.author_name}} {{author.author_name}}

{{author.author_name}}

{{detail.full_name}}

Published on {{detail.created_at| date}} {{detail.duration}}

  • {{detail.date}}
  • Views {{detail.downloads}}
  • {{detail.time}} {{detail.time_zone_code}}

Registrants:{{detail.downloads}}

Downloaded:{{detail.downloads}}

About the {{detail.about_title && detail.about_title != null ? detail.about_title : 'On-Demand Webinar'}}

About the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Webinar'}}

Hosted By

Profile

{{author.author_name}}

{{author.author_name}}

{{author.about_author}}

About the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Ebook' }}

About the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Ebook' }}

View {{detail.about_title && detail.about_title != null ? detail.about_title : 'On-Demand Webinar'}}

Webcast

Register Now!

Download the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Ebook'}}!

First Name*
Last Name*
Email*
Company*
Phone Number*

View {{detail.about_title && detail.about_title != null ? detail.about_title : 'On-Demand Webinar'}}

Webcast

Register Now!

{{detail.about_title && detail.about_title != null ? detail.about_title : 'Webinar'}} Expired

Download the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Ebook'}}

Email
{{ queryPhoneCode }}
Phone Number

Show full article video

Name Date Place
{{classRoomData.Date}} {{classRoomData.Place}} View Details

About the Author

{{detail.author_biography}}

About the Author

{{author.about_author}}