Agile for beginners: este artigo foi escrito pelo Suleander Zahn, originalmente publicado no Linkedin.
Há uns meses tive o privilégio de facilitar em Braga uma sessão de descoberta sobre as bases do Agile, promovida pela Factory Braga e hospedada pela Primavera BSS, com o título Agile for Beginners. Durante aproximadamente uma hora estivemos à conversa e a realizar pequenas dinâmicas de grupo que nos permitissem experimentar conceitos como: ciclos curtos de interacção, auto organização, feedback, consenso e consentimento, compromisso e envolvimento, os princípios e valores do Agile Manifesto, além de uma vista de olhos mesmo muito rápida sobre o framework Scrum e o método Kanban.
Entretanto, como já era esperado, da sessão saíram muito mais dúvidas do que respostas. Tivéssemos mais uma hora de atividades e o sentimento seria o mesmo… muitas das questões levantadas, se calhar dariam uma nova sessão por si só… Assim, comprometi-me a percorrer todas as dúvidas de maneira descritiva e respondê-las através de posts. Permitindo assim a outras pessoas que não estiveram presentes, também participarem e enriquecerem a discussão.
A ideia é escrever este artigo de maneira interactiva e incremental, buscando obter ciclos de feedback quanto ao nível de detalhe de cada resposta bem como a satisfação quanto à sua aplicabilidade no decorrer do processo, através dos comentários. Para já iremos agrupá-las nos seguintes clusters:
- Fundamentos: Questões voltadas à base do Agile e das metodologias (Os quês e Porquês).
- Processos – Como funcionam os frameworks na prática (Comos e Quandos)
- Pessoas: Questões relativas a equipas, performance, desempenho, etc. (Quem)
Observação: As perguntas que seguem abaixo são quase na sua totalidade a transcrição exacta das que foram escritas nos post-its e fixadas ao quadro branco durante a sessão.
As respostas terão, na medida do possível, links para seus originais. Propositadamente para que o leitor não se contente com o conteúdo aqui descrito, mas busque “beber direto da fonte”.
Espero que apreciem a leitura, encontrem as respostas que de facto buscam e contribuam e enriqueçam a discussão nos comentários. Comecemos…
O que é Agile?
Usamos as nomenclaturas Agile, Ágil, ou mesmo Métodos Ágeis para agrupar um conjunto de metodologias, frameworks e práticas de trabalho, inicialmente formuladas para o desenvolvimento de software, que por terem características comuns, culminaram num conjunto de quatro valores e doze princípios: O Manifesto para o Desenvolvimento Ágil de Software. (https://agilemanifesto.org).
O manifesto veio a ser o resultado de um movimento criado em resposta à insatisfação com a gestão tradicional de projetos de software predominante até os anos 2000. Muito focada em contratos de tempo, âmbito e custo fixos, excessivamente burocrática e que desprezava em muito o fator humano na equação.
Quais são as metodologias/técnicas?
- Extreme Programming
- Scrum
- Kanban
- Test Driven Development
- Adaptive Software Development
- Crystal
- DSDM
- Feature Driven Development
- Lean Software Development
Kaizen é Metodologia Agile?
O termo Kaizen, do Japonês Kai = Mudar / Zen = Melhor, foi traduzido para o ocidente como o princípio da Melhoria Contínua. É uma das bases do Lean Manufacturing e teve sua prática amplamente difundida na indústria fabril desde o Sistema Toyota de Produção.
Implica na identificação de falhas, levantamento de soluções (hipóteses), decisão sobre a melhor solução possível no momento, implementação e monitorização da mesma, análise do resultado, busca por novas falhas… e o ciclo se repete, sempre impulsionado pelo envolvimento das pessoas que executam o trabalho e fazem parte do processo em questão, buscando padronizar as melhores práticas.
A prática foi absorvida pelas Metodologias Ágeis, sendo evidente, por exemplo, na cerimónia de Retrospectiva do Sprint (Scrum), e registrada no 12º princípio do Agile Manifesto, onde se lê: “A equipa reflecte regularmente sobre o modo de se tornar mais eficaz, fazendo os ajustes e adaptações necessárias”.
Kaizen vs Kaikaku em Agile?
De maneira genérica, ambas são abordagens para a gestão da mudança organizacional. Sendo o Kaizen, já abordado no tópico anterior, focado em pequenas mudanças evolutivas e incrementais. Pode ser considerado um método e evolucionário para promover e gerir a mudança.
Já o Kaikaku quer dizer mudança radical, também planeada o com os seus resultados monitorizados. Entretanto, promove uma grande ruptura entre o status atual e o novo, e normalmente exige um maior esforço, não apenas por parte da equipa, mas de outras áreas da organização. Por isso é considerado um método revolucionário.
Tomando-se como exemplo um contexto de mudança organizacional passando de uma gestão tradicional para uma abordagem mais Agile, a decisão por adotar práticas do método Kanban poderia ser considerada uma transição evolucionária. Pois começa-se com o que se tem no momento, enquanto que a adoção do framework Scrum promoveria uma mudança revolucionária, pela criação de novos papéis, eventos e artefactos.
Qual o verdadeiro papel/função do Scrum Master na metodologia Scrum? O que faz exatamente um Scrum Master?
Para se falar do Scrum Master, o melhor mesmo é recorrer ao Scrum Guide. Lá está a melhor definição do papel bem como as actividades que este desempenhará junto ao Product Owner, junto à Equipa de Desenvolvimento e, num nível mais abrangente, junto à Organização. Para já, segue a definição ipsis litteris que lá se encontra. Bem como o link para download gratuito do guia, no idioma que preferires:
“O Scrum Master é responsável por promover e suportar o Scrum como definido no Guia do Scrum. Os Scrum Masters fazem-no ajudando todos a entender a teoria, as práticas, as regras e os valores do Scrum.
O Scrum Master é um líder‐servo da Equipa Scrum. O Scrum Master ajuda aqueles que não pertencem à equipa Scrum a entender, de entre as suas interações com a equipa Scrum, as que são úteis e as que não o são. O Scrum Master ajuda todos a modificar essas interações para maximizar o valor criado pela Equipa Scrum.” Fonte
Quando a equipa não tem conhecimento, como convencer a adesão da metodologia?
As equipas usualmente são as primeiras a quererem trabalhar em metodologias ágeis.
As ferramentas/metodologias Agile permitem aumentar a produtividade?
Gosto particularmente do 10º princípio descrito no Agile Manifesto, que diz: “Simplicidade – a arte de maximizar a quantidade de trabalho que não é feito – é essencial”.
Para mim, esta é a definição máxima de produtividade que devemos buscar sempre.
Entender que produzir muito ou produzir rápido não são sinónimos de trabalho bem feito. Produtividade, valor gerado ao cliente e muito menos certeza de faturamento (ou lucro).
Por terem foco claro na colaboração com o cliente/utilizador final, fomentarem a adaptação rápida à mudança e promoverem um ambiente de autonomia e confiança à equipa de desenvolvimento é que as práticas ágeis culminam na geração de maior valor. E no fim, é isso que deve contar.
Como resolver conflitos?
Independente do contexto de trabalho uma coisa é certa: onde há pessoas há conflitos. Existem diversas formas de se lidar com conflitos e de certo modo geri-los, desde a esquiva ao confronto direto. Mas a maneira que se demonstra mais eficaz a resolvê-los costuma ser o compromisso.
Através do compromisso, ambas as partes conflitantes abdicam de algo em prol da realização de um objetivo maior. Normalmente alinhado com o propósito da organização.
Para se chegar a este ponto, uma técnica muito útil é o exercício das posições perceptivas, onde cada uma das partes envolvidas conta sua história sob três ópticas distintas: o EU, quando vejo a situação da minha própria maneira, com os meus sentimentos, julgamentos e preconceitos; o TU, onde me coloco no lugar do outro e tento interpretar a história sob a perspectiva dele; e o NÓS, passando desta vez para uma posição de observador neutro e enxergando a situação pelos dois pontos de vista anteriores, facilitando o alcance de uma resolução favorável a ambos.
Entretanto, deve-se ainda ter em conta que muitas das vezes o conflito é apenas a manifestação de um sintoma. Apenas uma investigação mais profunda de sua causa raiz, revelará o real problema enfrentado pela equipa/organização. Neste caso uma boa opção pode ser a técnica 9 Whys, do Liberating Structures.
Por fim, queres aprofundar os teus conhecimentos na área? O curso Metodologias Lean & Agile está quase a começar e tem vagas limitadas.
Sabe mais aqui.