O que é Agilidade? Revisitando o conceito… (por Daniel Wildt)

daniel-wildt-small

No dia 26 de junho de 2010, o Rafael Helm publicou aqui mesmo no Pingos de Agilidade o que era para mim Agilidade. O Rafael pediu para eu mandar em uma frase.

E eu mandei: Atitude, foco em entrega de software, trabalho em equipe e mehoria contínua.

Só que como todo desenvolvedor Clean Code, tudo pode ser refatorado. 🙂

E nesta declaração, se eu for refatorar, como já vi o @KlausWuestefeld fazer com os valores do eXtreme Programming, chegando no Learning and Coolness, entendo que atitude e foco em entrega fazem o resto acontecer.

Vejamos:

Trabalho em equipe não é opcional. Você nunca vai ser melhor do que uma equipe em sinergia. Não quer uma equipe? Pense em um par, pense nos benefícios de ter conhecimento navegando e se tornando algo consciente e consistente entre as pessoas que fazem parte da equipe.

Melhoria contínua também não é opcional. Se sua equipe não melhora, ela sempre vai piorar. Simplesmente não se consegue “manter” a qualidade porque conforme o aumento da base de código, prazos, decisões mal feitas no projeto, novos problemas relacionados a modularidade e outros aspectos no desenvolvimento de software vão ficar mais visíveis. Então melhorar continuamente é algo que se faz sempre.

É a continuidade do processo de questionar aquilo que está sendo feito e buscar sempre melhorar, faz parte da atitude.

E é o que sobra e ao mesmo tempo faz a diferença. A atitude da equipe perante os obstáculos e como ela encara as situações de planejar novas funcionalidades para um produto, como ela encara o feedback ao cliente depois de um problema na operação do produto. Ou ainda como cada pessoa que faz parte da equipe vê a resolução de um defeito.

Se eu foco na entrega de software, quero garantir que o trabalho será o melhor possível, pois ninguém quer ter que trabalhar a noite ou final de semana ajustando algum problema de produção, causado na liberação de versão.

Então focar em entrega exige busca por qualidade, exige melhoria contínua. Só que sem atitude e foco em entregar aquilo que o cliente precisa, pensando em simplicidade, nada ocorre.

Exige aprender novos truques, em buscar novos conceitos como DevOps e Continuous Delivery.

Anúncios

Agilidade? (por Bruno Pedroso)

104084236_640

Agilidade é reconhecer o processo de software como uma atividade inerentemente criativa, valorizando os aspectos humanos e utilizando abordagens adaptativas (ao invés de preditivas) na busca do equilíbrio entre ação (pragmatismo) e reflexão (aprendizado) ao longo do projeto.

Bruno Pedroso é coach de projetos e coordenador da área técnica da SEA tecnologia.

Agilidade? (por Luiz Claudio Parzianello)

12260_10151163819223263_2111268303_n

É engraçado, mas não sei mais como definir agilidade … Se eu tentar fazê-lo, acho que vou destruir o conceito! Para mim, agilidade é um caminho de descobertas que conduz à ética e ao aperfeiçoamento contínuo, tanto do indivíduo quanto da organização de software.

Na primeira edição do Community Journal da Visao Ágil, pude escrever o seguinte sobre uma pergunta muito semelhante:

Muitos acreditam que o Manifesto Ágil não passa de uma piada, enquanto outros acreditam que ele marca o início de uma mudança na história do desenvolvimento de software. Alguns acreditam que tudo isso é um mero modismo, enquanto outros conquistam continuamente melhorias substanciais na qualidade e produtividade de suas equipes de desenvolvimento. Muitos acreditam que agilidade é assunto para pequenos, enquanto poucos já demonstraram que milhares de pessoas trabalhando de forma colaborativa e distribuída é coisa de gente grande. Pois bem, pude perceber ao longo dos últimos 10 anos, assessorando empresas e capacitando profissionais em projetos de implantação de Metodologias Ágeis, que a agilidade não está associada somente a uma nova cultura de crenças e valores, mas principalmente a uma nova busca de descobertas e iluminação. Iluminação no sentido de enxergar de vez que o desenvolvimento de software é um problema de logística que deve ser sustentado por uma forte cultura de comunicação e colaboração entre todas as partes interessadas num produto ou projeto de software. Logística no sentido de desenvolver competências para a entrega rápida de pequenos incrementos de software de alta qualidade, mantendo sempre um ritmo constante sustentável. Comunicação e colaboração no sentido de compreender como a menor quantidade de software irá aumentar a vantagem competitiva de nossos clientes (fazer cada vez mais com cada vez menos). Se você promover de forma honesta a melhoria contínua de pessoas, ferramentas e métodos, você com certeza encontrará o pensamento Ágil e descobrirá que esse é o único caminho para o sucesso e a satisfação de sua equipe de desenvolvimento.

Luiz Claudio Parzianello é Coach especialista em temas como Engenharia de Requisitos, Lean Software Development, Scrum e Extreme Programming. É sócio-fundador da empresa Surya Gestão Digital e vice-Coordenador do GUMA.

Agilidade? (por Rafael Prikladnicki)

79774-rafaelpucrs

Eu gosto da definição do Philippe Kruchten: “Agilidade é a habilidade de uma organização de responder à mudancas no seu ambiente de atuação mais rápido do que a taxa de ocorrência destas mudanças.”

Além disso, a agilidade reforça a importância do fator humano em projetos de software, bem como inspeção constante e entregas rápidas.

Rafael Prikladnicki é Professor da Faculdade de Informática da PUCRS, integrante da equipe de coordenacao do GUMA,
instrutor e coach de Lean e Scrum.

Agilidade? (por Manoel Pimentel Medeiros)

manoel

Em minha opinião, agilidade não é apenas um conjunto de práticas aplicadas para melhorar o desenvolvimento de software, mas sim uma verdadeira filosofia de vida, que nos faz encarar as questões do dia-a-dia, através do reconhecimento de nossas limitações e ao mesmo tempo, do desenvolvimento de nossas potencialidades como ser humano.

Manoel Pimentel Medeiros é Agile Coach e Diretor Editorial da Revista Visão Ágil.