Os 12 princípios do pensamento ágil. Qual a importância deles no dia a dia?

Em 2001, o Manifesto Ágil veio à tona com objetivo de estabelecer um novo paradigma para o processo de desenvolvimento de software. O manifesto tem quatro valores centrais, mas poucas pessoas sabem que também existem 12 Princípios Ágeis. Eles oferecem exemplos mais concretos de como o desenvolvimento ágil de software (mas não apenas limitado a softwares) deve ocorrer. De agora em diante, quase todas as organizações dirão que “praticam o Agile”, mas muitas delas apenas defendem os valores e princípios do Manifesto Ágil de forma superficial.

O mundo do desenvolvimento de software também mudou drasticamente. É interessante revisitar os princípios ágeis, ver o que eles significam e avaliar se eles ainda fazem sentido no contexto atual.

Primeiro Princípio – Fluxo contínuo de valor

Como diz o primeiro princípio, “Nossa maior prioridade é satisfazer o cliente por meio da entrega antecipada e contínua de um software funcional”.

Normalmente desenvolvemos software com o tempo e dinheiro de outra pessoa para ajudá-la de alguma forma. Se esperarmos muito para entregar o produto, provavelmente não irá satisfazer o cliente. Isso é ainda mais verdadeiro agora do que em 2001. Não é apenas valioso ter feedback antecipado e continuado durante todo o projeto, os clientes esperam uma entrega rápida.

E cada entrega deve agregar algo de valor para o cliente. Por exemplo, o cliente não se importa se você recriou a página de login. Ele se preocupa com o fato de que agora, ele pode fazer login com sua conta do Google.

Os usuários estão usando cada vez mais, softwares e apps para todos os tipos de tarefas. E estes portanto, demandam atualizações frequentes. Então, quando os clientes pedem mudanças, eles não estarão dispostos a esperar meses antes de vê-las.

Segundo Princípio – Flexibilidade a mudanças

O segundo princípio afirma: “Bem-vindo a mudanças de requisitos, mesmo no final do desenvolvimento. Os processos ágeis aproveitam a mudança para criar vantagem competitiva para o cliente. ”

Em um mundo que muda constantemente em um ritmo rápido, ninguém pode realmente prever quais serão os requisitos de uma parte de um software. No entanto, as empresas não gostam de surpresas. Mas o que eles gostam ainda menos é desperdiçar dinheiro em um produto que não é mais relevante. Se aceitarmos mudanças, o software pode fornecer ao cliente uma vantagem competitiva porque satisfaz as necessidades atuais e mais recentes, não as do ano passado, por exemplo.

O fato de que o mundo está em constante mudança é verdade há décadas. A sociedade muda, o mercado muda, nossas organizações mudam e as pessoas mudam. Em vez de tentar parar ou desacelerar esse processo, devemos adotá-lo e usá-lo para nossa vantagem e/ou para a vantagem de nosso cliente.

Terceiro Princípio – Entrega frequente

O próximo princípio é “Entregar software funcional com frequência, de algumas semanas a alguns meses, com preferência para a escala de tempo mais curta”.

Na verdade, esse princípio parece uma repetição do primeiro e, de certa forma, é. No entanto, o primeiro princípio indica que devemos começar a fornecer softwares funcionais desde o início. Esse princípio é um pouco mais detalhado sobre o que significa entrega contínua. Ele recomenda entregar uma nova versão do seu software em um curto espaço de tempo.

Isso significa versões menores, e versões menores significam menos chances de bugs serem detectados. Lançamentos mais frequentes também fornecem mais momentos de feedback do cliente. Se você só receber feedback sobre todas as suas alterações depois de vários meses, terá muito mais trabalho.

Este é um princípio que se tornou mais radical com o passar dos anos. Não consideramos mais um ciclo de lançamento de “alguns meses” como ágil. A indústria evoluiu para lançamentos diários ou semanais.

Quarto Princípio – Colaboração entre a esfera dos negócios e os desenvolvedores

Outro princípio afirma: “Empresários e desenvolvedores devem trabalhar juntos diariamente ao longo do projeto”.

Os desenvolvedores geralmente estão separados ou longe dos empresários. Os analistas são colocados entre eles para “traduzir” a linguagem de negócios para uma linguagem que os desenvolvedores possam entender. Esse princípio ágil exige que as organizações removam essas barreiras e permitam que os desenvolvedores e a gestão interajam uns com os outros diariamente. Isso aumenta a compreensão e o respeito mútuos.

Se você já jogou o jogo do telefone sem fio quando criança, você sabe que cada passo extra na comunicação leva à perda de informações. Ter a empresa e os desenvolvedores trabalhando juntos reduz (mas não elimina) esse risco. Mesmo no mundo moderno de equipes distribuídas, deve-se tentar trabalhar junto diariamente. Detectar mal-entendidos o mais rápido possível e obter feedback regular uns dos outros ajuda a produzir resultados promissores.

Quinto Princípio – Indíviduos motivados

Há também “Construir projetos em torno de indivíduos motivados. Dê a eles o ambiente e o suporte que precisam e confie neles para fazer o trabalho. ”

Uma equipe ágil é uma equipe madura e responsável o suficiente para produzir software de qualidade. Isso requer uma certa confiança. Mas se você não pode confiar em seus desenvolvedores, por que eles foram contratados? Com o treinamento, ambiente e ferramentas corretos, os desenvolvedores motivados se sentirão capacitados para fazer seu trabalho profissionalmente.

Se você construir seus projetos em torno de pessoas que não estão motivadas ou foram desmotivadas por falta de confiança ou apoio, seu projeto provavelmente não terá sucesso. Pior ainda, os desenvolvedores inteligentes não terão problemas para encontrar empregos melhores.

Sexto Princípio – Comunicação eficaz e eficiente

E há também o princípio que afirma: “O método mais eficiente e eficaz de comunicação é a conversa face a face.”

A tecnologia aumentou o número de maneiras pelas quais os humanos podem se comunicar. Mas nada disso é tão bom quanto uma conversa cara a cara. Nossos cérebros interpretam todos os tipos de sinais, não apenas as ondas sonoras de nossas vozes. A expressão facial e a linguagem corporal também são importantes. Não é incomum que a comunicação assíncrona cause mal-entendidos.

O diagrama a seguir, do livro “Agile Software Development” de Alistair Cockburn, mostra como as diferentes formas de comunicação são eficazes:

Desde 2001, a forma como trabalhamos mudou drasticamente. Muitas organizações têm pessoas que trabalham remotamente, mesmo em outros fusos horários. Tecnologias como rastreadores de problemas e Slack criam formas de comunicação assíncrona e ferramentas como Skype e Hangouts nos permitem ter conversas cara a cara remotas. Nunca será 100% como a interação na vida real, mas talvez seja bom o suficiente. Equipes em todo o mundo estão provando que ainda podem ser bem-sucedidas e ágeis sem se verem na vida real.

Sétimo Princípio – Software funcional

Um dos princípios diz: “O software funcional é a principal medida de progresso”.

Projetos de software podem levar muito tempo. Portanto, é absolutamente racional para as empresas medirem o progresso. Esse princípio ágil afirma que a principal forma de medir o progresso é o software em funcionamento. Análise finalizada, modelos completos ou belas maquetes têm pouco significado se não forem convertidos em um software funcional. Eles podem ser necessários, mas se você não colocou pelo menos uma pequena parte disso em um produto funcional, então você não criou valor para o seu cliente.

Hoje, muitas vezes damos um passo adiante. Se o software funcional não foi enviado, ele não foi concluído e nenhum progresso foi feito. O software não lançado é um inventário. E o estoque é um custo, não uma parte da receita ou valor.

Oitavo Princípio – Desenvolvimento sustentável

O oitavo princípio é o seguinte: “Processos ágeis promovem o desenvolvimento sustentável. Os sponsors, desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamente. ”

Então, o que isso significa exatamente? Nossa visão é que as pessoas devem trabalhar em um ambiente onde experimentem pressões com as quais podem lidar. A pressão vem de diferentes maneiras. Pense em coisas como orçamento, prazos, política da empresa e respeito entre os colegas.

Cada uma dessas coisas pode ser uma fonte de estresse e fazer com que as pessoas se afastem ou podem ser coisas que estão presentes, mas não são uma preocupação.

Aqui está o ponto. Isso não significa que uma organização Agile não possa ter nenhum desses problemas acontecendo. Isso significa que eles não podem estar acontecendo o tempo todo. Por exemplo, uma equipe Agile pode lidar com um período intenso de trabalho de alto ritmo. Mas eles deveriam ter um período de descanso depois disso. Se a organização está sempre estressando a equipe ao seu limite, não é sustentável – a equipe não pode manter esse ritmo para sempre.

Observe como o princípio menciona “patrocinadores, desenvolvedores e usuários”. Portanto, todos devem ser capazes de manter o ritmo atual de desenvolvimento. Por exemplo, se os desenvolvedores estão lançando recursos muito rápido para os usuários, eles devem se adaptar. Uma maneira de fazer isso seria desacelerar. Outra seria investir mais tempo na documentação e educar os usuários sobre os novos recursos.

A ideia central desse princípio é que todos os envolvidos podem acompanhar o ritmo no qual o software está sendo desenvolvido.

Nono Princípio – Excelência técnica

Há outro ditado: “A atenção contínua à excelência técnica e um bom design aumentam a agilidade.”

Muitas empresas preferem time-to-market (tempo de colocação no mercado) em vez de um bom design técnico. E com toda a legitimidade, eles não podem ser culpados. Acabamos de mencionar que o software não lançado é um custo. O usuário final não se preocupa com a excelência técnica e isso não gera receita para o negócio.

Mas se as equipes negligenciarem um bom design técnico por muito tempo, sua velocidade e tempo de lançamento no mercado começarão a diminuir. Sua capacidade de mudar o produto como uma reação a um mercado em mudança diminuirá. Eles estão portanto, perdendo sua agilidade.

Este princípio ainda é muito relevante. Na minha visão, os gerentes e desenvolvedores não estão cientes (o suficiente) deste princípio. Em projetos pequenos, pode fazer sentido trabalhar rápido sem um olho para um bom design. Mas se o projeto é grande o suficiente, vale a pena prestar atenção à qualidade técnica. Martin Fowler criou um pseudo-gráfico para visualizar isso:

Isso não significa que precisamos de grandes projetos teóricos antes de começar a codificar. Bons designs podem surgir à medida que o software evolui. Mas os desenvolvedores precisam ter tempo e ser responsáveis ​​o suficiente para fazer isso.

Décimo Princípio – Simplicidade

“Simplicidade – a arte de maximizar a quantidade de trabalho não realizado – é essencial”, é outro princípio.

Maximizar a quantidade de trabalho não realizado pode ser feito em vários lugares: você pode remover procedimentos que não são mais relevantes, automatizar o trabalho manual, usar as bibliotecas existentes em vez de escrever as suas, etc. Tudo isso economiza tempo e dinheiro, dando-nos espaço para foco na entrega de mais valor.

Este é um esforço contínuo para todas as organizações. Mas requer algum trabalho para identificar onde e como podemos melhorar.

Décimo Primeiro Princípio – Equipes auto-organizadas ou auto-gerenciáveis

Um dos últimos princípios é que “As melhores arquiteturas, requisitos e designs surgem de equipes auto-organizadas ou auto-gerenciáveis”.

Este princípio é uma combinação de alguns princípios anteriores. Se quisermos que a empresa e os desenvolvedores se comuniquem regularmente e de forma eficaz, se quisermos avaliar o progresso por software funcional e não por modelos teóricos, e se trabalharmos com os motivados, devemos ter equipes produzindo software de qualidade sem muito controle de cima.

As equipes devem aprender a se auto-organizar todos os aspectos do desenvolvimento de software: eles devem reunir os requisitos se comunicando com a empresa, escrever software de qualidade, organizar seu trabalho, etc. Isso leva a um software melhor, porque os desenvolvedores começarão a “possuir” o software.

Os desenvolvedores ainda são considerados trabalhadores da linha de fábrica que podem ser atendidos pelos requisitos. Mas o desenvolvimento de software é um trabalho que exige muito mais. A equipe precisa ter permissão para organizar para entregar.

O outro lado da história é que os desenvolvedores de software devem assumir essa responsabilidade. Uma equipe ágil exige que os desenvolvedores assumam responsabilidades além de escrever código.

Décimo Segundo Princípio – Reflexão, retrospectiva e ajuste de curso

Por fim, há o último princípio que diz: “Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz, então sintoniza e ajusta seu comportamento de acordo.”

Em intervalos regulares, as equipes auto-gerenciáveis devem reservar um tempo para observar a maneira como trabalham e se ajustar de acordo. Nenhuma equipe funciona perfeitamente. Uma equipe ágil madura pode identificar problemas de respeito mútuo e, então, tomar medidas para melhorar o processo.

Este princípio sempre fará diferença. É o que torna os indivíduos, as equipes e os negócios bem-sucedidos, não aceitando o status quo, mas sempre procurando melhorar a situação.

Na década inaugurada em 2021, podemos confirmar que esses princípios são relevantes e nortearão a gestão de projetos e negócios nas organizações

by Joel Junior

Você pode notar que todos os princípios ágeis ainda são relevantes hoje. Isso porque eles são baseados na realidade econômica e na natureza humana, duas coisas que realmente não mudam muito. No mínimo, alguns princípios se tornaram mais radicais do que deveriam ser.

Por exemplo, deveríamos implantar semanalmente ou mesmo diariamente e agora podemos automatizar mais do que imaginávamos em 2001. Por outro lado, alguns princípios receberam um significado diferente do que imaginávamos em 2001, por exemplo: os indivíduos não precisam mais estar no mesmo espaço para uma comunicação eficaz.

Portanto, vimos nesse artigo como os 12 princípios se convertem no dia das organizações. Embora todos os exemplos utilizados tenham sido relacionados a indústria de software, já temos cases de sucesso de implementações ágeis em diversos outras indústrias.

Se você está chegando agora, quer aprender mais sobre ágil, ou quer fazer a transformação do seu negócio, nós podemos te ajudar! Entre em contato conosco através dos nossos canais e nós iremos lhe atender!

Acompanhe-nos em todas as plataformas sociais

—- Sobre NX2IN (Joel C Junior) Joel Junior, MsC, PMP é um profissional da área de gestão com carreira desenvolvida em empresas multinacionais desde a posição de estagiário até a gerência.

Com mais de 19 anos de experiência, é apaixonado pela proposta de profissionais ACIMA DA MÉDIA com footprint de treinamento e mentoria para jovens e profissionais experientes do mercado.

A partir de 2021, se dedicando a compartilhar através da web suas ideias para profissionais que desejam experimentar uma carreira ACIMA DA MÉDIA.

—-

Quais são os 4 valores que fundamentam a Metodologia / Pensamento Ágil?

O Manifesto Ágil é um documento originalmente publicado em 2001, que inclui valores que norteiam a proposta ágil e os seus princípios. Ele foi escrito por vários desenvolvedores que acreditam que qualquer desenvolvedor de software deve ser capaz de usá-los como um guia ao longo de seu projeto. É interessante notar que o manifesto ágil surgiu da prática para a teoria e não ao contrário como vemos comumente. Originalmente, era intitulado “Manifesto for Agile Software Development” e “Agile Alliance”. É portanto, uma leitura obrigatória para empresas que empreendem qualquer processo de desenvolvimento de software hoje.

Além de saber sua origem e propósito final, quais são os 4 princípios básicos da metodologia ágil? Este artigo descreve os pontos-chaves do manifesto.

Uma Visão Geral do Manifesto Ágil

O principal objetivo do Manifesto Ágil é encontrar maneiras alternativas de executar o processo de desenvolvimento de software padrão. Para algumas organizações, o processo padrão pode se tornar muito complicado e pouco eficaz. O objetivo geral é entregar mais valor agregado aos indivíduos e melhorar as interações sobre processos e ferramentas.

O objetivo de seus autores não é promover a anti-metodologia. Em vez disso, eles queriam “restaurar a credibilidade da palavra em si’”. Então, eles objetivaram equilibrar as formas existentes de desenvolvimento de software, junto com algumas novas alternativas. Por exemplo, eles aceitam modelagem e documentação apenas quando é útil para o projeto.

Os criadores dessa proposta também acreditam que o planejamento é importante. Mas, enquanto se espera que o plano evolua e mude, a flexibilidade deve ser implementada para modificações futuras.

E agora vamos então falar um pouco sobre os 4 valores que norteiam o pensamento ágil, os quais hoje já se expandiram para além das fronteiras das empresas de tecnologia e tem sido implementado com sucesso em diversos outros segmentos.

Valor #1 Indivíduos e interações mais que processos e ferramentas

Não faz muito tempo, a grande maioria das equipes de software se concentrava exclusivamente na aplicação dos melhores processos e ferramentas para construir seu software. Mas as coisas continuam evoluindo na indústria de tecnologia. Embora o lado técnico do processo seja importante, o Manifesto Ágil sugere que as pessoas que estão por trás desse processo são mais importantes.

Este valor argumenta que o desenvolvimento de software bem-sucedido não seria possível sem uma equipe de desenvolvedores de software. E, com isso em mente, a colaboração dentro da equipe deve ser de grande importância. Os membros que se comunicam com eficácia uns com os outros e agem com base em um objetivo comum podem resolver com mais eficácia quaisquer problemas que surjam. Boa comunicação, neste caso, significa o melhor software.

Este valor do manifesto Agile também está relacionado à comunicação com os clientes. Existem várias coisas que um cliente pode querer perguntar e é responsabilidade dos membros da equipe garantir que todas as dúvidas e sugestões dos clientes sejam prontamente atendidas, mais do que focar em processos e protocolos de resposta definidos.

Resumo dos 4 valores do Manifesto Ágil

Valor #2 Software funcional mais que uma documentação abrangente

No passado, não era incomum que desenvolvedores de software passassem anos criando documentação detalhada. E tudo isso estava acontecendo antes mesmo de eles escreverem uma única linha de sua codificação. Embora a documentação não cause nenhum dano, as equipes devem focar no processo e fornecer aos clientes um software funcional de alta qualidade. O Manifesto Ágil enfatiza a importância de ser centrado no cliente neste princípio básico. Depois de entregar o produto acabado ao cliente, espere algumas mudanças e revisões e use-as para melhorias.

Pense que, do ponto de vista ágil em termos de desenvolvimento, não há sinal maior de progresso do que um software funcional (mesmo que parcial) entregue ao cliente o quanto antes para que ele possa começar a ter a experiência esperada.

Joel C Junior

Valor #3 Colaboração com o cliente mais que contratos negociados

No passado, o aspecto mais importante do desenvolvimento do projeto era o contrato. Você redigiria um contrato exato com seu cliente, fornecendo detalhes precisos do produto final. Mas, como você provavelmente pode imaginar, havia muito contraste entre o que os desenvolvedores criaram, o que o contrato dizia e o que o cliente realmente precisava.

Em vez de utilizar este método desatualizado, o foco deve estar no desenvolvimento constante do seu produto. É por isso que é tão importante trabalhar lado a lado com seu cliente para fornecer seu produto final ideal.

Os princípios do Agile de certa forma, imperam que os clientes estejam envolvidos em todas as fases do projeto. A abordagem em cascata ou metodologias tradicionais permitem apenas que os clientes negociem antes e depois do projeto. Isso costumava resultar em desperdício de tempo e recursos. Se os clientes forem mantidos informados durante o processo de desenvolvimento, os membros da equipe podem garantir que o produto final atenda a todos os requisitos do cliente.

Valor #4 Resposta ás mudanças mais que seguir um plano fixo

Ao contrário das metodologias de gestão do passado, os valores Agile são contra o uso de planos elaborados antes do início do projeto, rígidos que obriga o time a continuar a cumpri-los de qualquer maneira. As circunstâncias mudam e às vezes os clientes exigem recursos extras no produto final que podem alterar o escopo do projeto. Nestes casos, os gerentes de projetos e suas equipes devem se adaptar rapidamente para entregar um produto de qualidade e garantir 100% de satisfação do cliente.

Embora nem todas as mudanças venham a ser benéficas, como acontece com o desenvolvimento de software, manter o status quo não promove melhorias. Também não o tira da sua zona de conforto. Os clientes continuarão a solicitar alterações e revisões até que você crie o produto desejado. Esta é a principal razão pela qual o Manifesto Ágil sugeriu que as equipes de software sempre deveriam ter a capacidade de mudar a direção de seu trabalho sempre que necessário.

Pense que, se o cliente solicita uma mudança, é porque ele realmente precisa!

Joel C Junior

Algumas conclusões

O verdadeiro propósito da abordagem Agile é o compromisso de desenvolver um produto de forma incremental, seguindo um processo passo a passo. Embora muitas empresas já tenham mudado para o Agile, seguir a tendência provavelmente não o beneficiará, a menos que você entenda totalmente como ela funciona.

Antes de mudar de uma metodologia de desenvolvimento para Agile, certifique-se de conhecer o básico, revise cuidadosamente os 4 princípios que colocamos nesse artigo. Avalie suas implicações e como você irá incorporá-lo à estratégia geral da empresa e de sua equipe. Uma ótima maneira de começar é lendo o Manifesto Ágil, que inclui quatro valores essenciais e doze princípios adicionais.

Depois de passar por eles, é hora de planejar e criar estratégias. Agile é a metodologia mais eficiente para seu projeto?

—- Sobre NX2IN (Joel C Junior) Joel Junior, MsC, PMP é um profissional da área de gestão com carreira desenvolvida em empresas multinacionais desde a posição de estagiário até a gerência.

Com mais de 18 anos de experiência, é apaixonado pela proposta de profissionais ACIMA DA MÉDIA #saidamedia com footprint de treinamento e mentoria para jovens e profissionais experientes do mercado.

A partir de 2021, se dedicando a compartilhar através da web suas idéias para profissionais que desejam experimentar uma carreira ACIMA DA MÉDIA.

—-

Siga-nos no Instagram: https://www.instagram.com/gerentesdep…

Siga-nos noTwitter: https://twitter.com/nx2in

Conecte-se LinkedIn: https://www.linkedin.com/in/jcjeng

Siga-nos no Facebook : https://www.facebook.com/gerentesdepr…

Website: https://gerentesdeprojetos.com

Inscreva-se em nosso canal no Youtube: https://www.youtube.com/channel/UCCYwBR5z96bFgY_nCsxSflw