BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Artigos Revisão de Livro: Padrões de Adoção de Métodos Ágeis, um roteiro para o Sucesso Organizacional

Revisão de Livro: Padrões de Adoção de Métodos Ágeis, um roteiro para o Sucesso Organizacional

Em seu recente livro, Padrões de Adoção de Métodos Ágeis: um roteiro para o Sucesso Organizacional, Amr Elssamadisy fornece um framework para a criação de uma estratégia para adoção de métodos ágeis em um contexto específico. Em vez de sugerir o mesmo conjunto de práticas para todos, ele ajuda a descobrir quais as práticas que podem ser mais eficazes para alcançar as metas específicas da sua organização. Esta abordagem prática vai iniciar você no caminho ágil com um mínimo de sobrecarga e frustração.

Adotando uma abordagem ágil com êxito no desenvolvimento de software pode ter um enorme impacto no sucesso de uma organização. Abordagens ágeis podem permitir uma avaliação mais precisa do avanço do projeto, permitindo um controle mais fino sobre projetos de uma forma permanente (garantindo que aquilo que foi entregue será útil ao invés de apenas o que pedia a especificação inicial), levam a uma entrega de software sustentável e de alta qualidade, e pode estimular a moral e a confiança dentro da organização. Infelizmente, como muitos de nós na comunidade ágil aprenderam, fazendo a transição de uma abordagem tradicional de desenvolvimento de software para ágil é bem complexa. Descobrir quais práticas ágeis adotar e como implementá-las no contexto único de sua organização é uma tarefa assustadora. Como resultado, muitas organizações resistem a um conjunto de confusão e frustração enquanto fazem a transição, e muitas abandonam o esforço antes de perceber as vantagens de uma adoção de métodos ágeis bem sucedida pode trazer.

Elssamadisy fornece um guia prático para ajudar a evitar as armadilhas mais comuns na adoção de métodos ágeis. Por exemplo, uma das armadilhas mais comuns é tentar uma transição “big bang” – ele mostra como construir um plano de adoção incremental e iterativa. Ele encoraja uma abordagem ágil para a adoção de métodos ágeis: dar pequenos passos (espero!) na direção certa e usar ciclos curtos de feedback para ajustar a abordagem e determinar quais serão os próximos passos. Ao mesmo tempo, ele ajuda a obter o máximo de investimento, fornecendo técnicas para avaliar que valores do negócio são mais importantes para a organização, mostrando como selecionar um conjunto inicial de práticas para suportar estes valores específicos.

O livro é direcionado para leitores que têm um conhecimento básico de práticas de métodos ágeis, e estão interessados em aprender como aplicá-las efetivamente em projetos do mundo real. Este livro pertence a estante de qualquer pessoa interessada ajudar uma organização tradicional de software a fazer uma transição efetiva para um estilo de trabalho mais ágil.

Adoção dirigida ao Contexto

As duas primeiras seções do livro (Parte I: reflexões sobre o desenvolvimento de software e Parte II: Elaborando uma estratégia de adoção ágil) definem o estágio do livro.

A parte I expressa dois princípios orientadores para agentes de mudanças ágeis:

  • Aprendizado é o gargalo: Quando estiver em dúvida sobre como proceder com um determinado processo ou tarefa, procure uma opção que acelere o aprendizado. Ellssamadisy defende a procura do tipo de comum de feedback para muitas práticas ágeis:

    1) Definir um objetivo, 2) realizar uma ação para alcançar esse objetivo, 3) comparar os resultados da ação o do objetivo original, 4) alterar a ação neste sentido e voltar a (2).

    O aprendizado acontece no passo (3) e é aplicado no passo (4).

    Bem como Elssamadisy salienta a importância da comunicação, a fim de ampliar o aprendizado, espalhando-o rapidamente entre os indivíduos envolvidos no esforço de desenvolvimento de software.

  • Agilidades Pessoais: Elssamadisy utiliza idéias do “Modelo de Processos de Responsabilidades”, de Chris Avery para ajudar o leiotr a permanecer no produtivo estado de espírito necessário para conduzir a mudança em qualquer organização. Esta seção traz várias sugestões de como evitar as armadilhas comuns de culpa, justificativa, auto-piedade, vergonha e obrigação (isto é, sentir-se desarmado ao invés de controlar suas opções), a fim de chegar (e parar em) responsabilidades, “um estado de espírito em que nós tomamos posse da nossa situação. Se as coisas não são como preferimos, tomamos medidas para alterá-las. Este estado é o ponto inicial para a agilidade pessoal”.

A Parte II talvez seja a minha parte favorita do livro. Ela faz algo que nenhum outro livro que eu tenha visto faça: expressa mapas diferentes de “valores de negócio” (isto é, objetivos tais como “Reduzir o tempo de entrega” e “aumentar a qualidade de mercado”) para que as práticas ágeis possam ajudar a alcançar os objetivos e entregar valor. Fornece um mecanismo para basear a estratégia de adoção de métodos ágeis no seu contexto organizacional: em primeiro lugar, identificar que valores do negócio são os mais importantes da sua organização e, em seguida, a partir daí identificar as práticas ágeis que melhoram o valor do negócio.

Elssamadisy também mapeia “cheiros” comuns para que as práticas ágeis que possam ajudar a eliminá-los. (Cheiros são geralmente mais fáceis de reconhecer do que os valores do negócio, de modo que iniciar pelos possíveis cheiros na sua organização pode ser uma maneira fácil de decidir quais práticas ágeis serão adotadas primeiro).

Além disso, Elssamadisy explica como as diversas práticas ágeis se relacionam entre si. Muitas das práticas ágeis são muito difíceis de implementar e algumas outras práticas não são. Elssamadisy sugere uma mera ordenação para o conjunto de práticas ágeis que abordam cada valor do negócio e cheiros.

Esta abordagem dirigida a contexto para a adoção ágil é realmente algo que tem faltado na literatura ágil, e eu estou satisfeito por ver que este é o cenário central neste livro. Depois de ter sido envolvido em vários esforços de adoção ágil não tão bons, eu posso atestar a necessidade de adotar práticas ágeis sensíveis ao contexto de forma iterativa – especialmente em grandes organizações.

Os Padrões

A seção de padrões contém padrões para todas as práticas ágeis mais comuns usadas. Eles estão divididos em cinco grupos:

  • Objetivo e Ciclo (Goal and Cycle): dois padrões básicos que formam os componentes de muitas práticas ágeis.
  • Práticas de Feedback (Feedback Practices): Iteração (Iteration), Início de Reunião (Kick off Meeting), Backlog, Planning Poker, Reuniões em pé (Stand Up Meetings), Estados de Feito (Done State), Demo, Retrospectiva (Retrospective), Releases freqüentes (Releases often), Time co-localizado (Co-located Team), Times auto-organizados (Self-organizing teams), Time com trocas de funções (Cross-functional teams), Cliente como parte do time (Customer part of team), Documentos remanescentes (Evocative document), História de usuário (User Story), Casos de Uso (Use Case) e Radiador de Informação (Information Radiator)
  • Práticas Técnicas (Technical Practices): Desenvolvedor de automatizados (Automated developer tests), desenvolva depois teste (Test last development), teste primeiro depois desenvolva (Test first development), Refatoração (Refactoring), Integração contínua (Continuous integration), Design simples (Simple Design), Testes funcionais (Functional tests), Posse coletiva do código (Collective code ownership), Programação em pares (Pair programming).
  • Práticas de Suporte (Supporting Practices): Técnico (Coach), Engajando a comunidade (Engage the community), Lendo em círculos (Reading Circle), Workshops, Treino em sala de aula (Classroom Training).
  • Padrões Aglomerados (Pattern Clusters): Iteration Cluster, Communication Cluster, Evolutionary Cluster, Test Driven Development, Test Driven Requirements.

Em particular, é bom ver as práticas de suporte incluídas. Estas práticas não são ágeis em si; são apenas práticas que contribuem para o aprendizado de qualquer novo corpo de conhecimento. Negligenciar essas práticas torna a aprendizado mais lento e doloroso do que precisamos.

Cada padrão inclui ferramentas úteis para ajudá-lo a determinar se uma determinada prática se adapta ao plano de adoção ágil: uma explicação dos valores do negócio direcionam estes padrões, uma descrição do contexto em que o padrão frequentemente é útil e uma explicação mais aprofundada do que as forças em jogo que o padrão ajuda a resolver. Ao analisar essas seções de um padrão, o leitor consegue determinar o quanto o valor do padrão pode agregar no seu contexto.

Por exemplo, aqui está à seção do padrão “Demo” que são muito úteis para determinar a existência de um ajuste para sua situação:

Valor de Negócio: Demo aumenta a visibilidade das partes interessadas, aumenta a utilidade do produto dando ao cliente um sistema concreto para avaliar, e iterações de apoio. Isto significa que um efeito secundário sobre os valores do negócio afetam diretamente as iterações.

Contexto: Você está desenvolvendo com um time realizando iterações e os stakeholders de fora do time estão interessados no progresso do projeto.

Forças:

  • Pôr requisitos e projeto no papel é bom, mas não é o bastante para ganhar confiança que a aplicação satisfaça as necessidades da organização;
  • Confiança é adquirida por visibilidade regular, progressos demonstráveis;
  • Trabalhando software dá confiança aos stakeholders de que o verdadeiro progresso está sendo feito;
  • Conclusões estatísticas parciais – como as que estamos 30% prontas porque os requisitos e projeto estão totalmente completos e revisados – são defeituosas. Desenvolvedores têm um histórico de serem otimistas;
  • O trabalho feito para chegar ao trabalho de software envolve remover vários defeitos que só aparecem em fases posteriores ao desenvolvimento;
  • Quanto mais cedo um defeito é encontrado, mais barato ele é de corrigir;
  • Encontrar e corrigir defeitos é uma forma de aprendizado, e aprendizado é o gargalo do desenvolvimento de software;
  • Uma solução vislumbrada nem sempre é o que nós esperamos. Quando o software é construído e testado, às vezes não resolve nosso problema ainda que seja exatamente aquilo que pedimos.

Os padrões apresentam seções para ajudá-lo na adoção de práticas de forma eficaz e evitar que armadilhas de muitas adoções de métodos ágeis, dividem-se em:

  • Portanto: a descrição do padrão. O padrão resolve as forças dentro do contexto.
  • Adoção: Passos e guias para adoção do padrão.
  • Mas: Conseqüências negativas que podem ocorrer na aplicação deste padrão.
  • Variações: Diferentes caminhos do padrão que tem sido implementados com sucesso que não o descrito na seção ‘Portanto’.
  • Referências: onde ler mais.

Estas seções destilam um lote de sabedoria da comunidade ágil em um caminho que é de tamanho pequeno e relevante para a tarefa em mãos. Se você está adotando uma prática e sentir que ela não agrega valor, estas seções podem ajudá-lo a decidir o que ajustar sobre a sua abordagem para obter mais valor na prática.

Eu especialmente gosto da seção ‘Mas’. Por vezes é frustrantemente difícil encontrar descrições sinceras dos muitos caminhos que algumas práticas ágeis podem dar errado. A inclusão desta seção ajuda a times novos em práticas ágeis um conjunto de expectativas realistas (nem tudo irá funcionar perfeitamente; há muitas formas de aplicar práticas ágeis) e dá-lhes algumas sinalizações para manter o caminho. Na maioria das vezes, a seção ‘Mas’ contém bons conselhos sobre o que deve ser feito se você tiver errado o caminho. Uma vez que todos os esforços de adoção ágil correr em vários soluços comuns, é bom vê-las tratadas.

Estudo de Caso

A terceira seção do livro contém dois estudos de caso do mundo real de esforços de adoção de métodos ágeis. A literatura ágil frequentemente descreve o que a “agilidade total” do time parece e que é muito diferente de uma equipe de transição lenta para o ágil. Isto pode desencorajar as defesas do ágil quando não se atingem imediatamente os resultados semelhantes aos descritos. É refrescante ler sobre a realidade, todas as verrugas, esforços de adoção. A verdade é que, especialmente em grandes organizações, alterar hábitos pessoais e organizacionais é um processo longo e difícil. Não vai passar sem problemas, mas ao longo do tempo enormes passos podem ser tomados por determinados indivíduos e equipes. Os dois esforços de adoção descritos ilustram bem esta realidade. Às vezes, dá um trabalho grande ajudar uma organização a aproximar-se da agilidade, você apenas precisa saber que os outros enfrentaram choque de roteiros semelhantes, para superar suas dúvidas e perceber que você está fazendo progresso real.

Conclusão

Este livro não é para qualquer um. Eu não recomendo para aqueles completamente novos nos conceitos ágeis – Ellssamadisy assume que o leitor tenha, pelo menos, um conhecimento superficial dos princípios e das práticas ágeis mais comuns, de modo que os iniciantes podem achar que o livro não entra em detalhes suficientes em alguns casos. Eu também não iria recomendá-lo para técnicos experientes em métodos ágeis; eles provavelmente compreendem intuitivamente mais do que o livro cobre.

Todavia, se você leu o suficiente sobre desenvolvimento ágil de software para despertar sua curiosidade, mas não sabe por onde começar, este livro é para você. Se você tem um conhecimento básico das práticas ágeis, mas não se sente confiante o suficiente para ser o expert ágil em sua equipe, este livro é para você. Se você estiver trabalhando com um time ágil e sentir que não está obtendo o máximo benefício das práticas ágeis que você está usando como gostaria, este livro é para você.

Sobre o autor

Autor: Ryan Cooper é um técnico desenvolvedor ágil. Ele é o fundador da Ryan Cooper Consulting, Inc, e co-fundador do Grupo de usuários de Métodos Ágeis em sua cidade Halifax, no Canadá. O seu blog é http://www.onagile.com

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT