sábado, 3 de abril de 2021

Shu-Ha-Ri no Agile

 

Shu-Ha-Ri é uma filosofia japonesa aplicada em artes marciais, ela engloba o processo de aprendizagem e maestria de uma ou mais técnicas, obedecendo esta ordem: Shu:  obedecer/proteger; Ha: romper/modificar; Ri: separar/superar. Você pode estar se perguntando, o que isso tem haver com agilidade, onde isso é aplicado? Calma, pequeno gafanhoto, vamos definir as três ordens para entender e relacioná-las com a agilidade.

Shu – Seguindo as regras

Em qualquer arte marcial um iniciante precisa entender e praticar as regras passadas pelo mestre, para que possa iniciar seu domínio. É fundamental  praticar sozinho, em conjunto, com o mestre, várias vezes para que os movimentos sejam absorvidos e passem a ser mais naturais. 

Na agilidade, durante o processo de adoção de uma metodologia ágil, como por exemplo o SCRUM, é necessário primeiramente a disseminação das regras, dos papéis, das cerimônias para que todos envolvidos a cada nova sessão se sintam mais confiantes para praticar, gerando assim uma maior aderência.

Ha – Quebrando as regras

Neste ponto um aluno, já acumulou bastante experiência, realiza os movimentos com um excelente domínio, a figura do mestre acaba não sendo tão necessária, e o aluno ainda pode arriscar alguns lances diferentes, realizando movimentos suavemente diferentes, que podem aperfeiçoar sua luta.

Na agilidade, quando um time já executa uma metodologia ágil, o time começa a desenvolver uma maturidade suficiente para se permitir a “quebrar algumas regras”, um exemplo, pular uma Daily porque todos os assuntos estão em andamento e nada de novo está no radar e o assunto foi tratado via e-mail. Ou seja, não existe perda de performance e nada foi prejudicado, por conta da experiência do time é possível flexibilizar algumas regras.

Ri – Extrapolando as regras 

Em RI, o aluno já não precisa racionalizar os movimentos na hora de praticar a arte marcial, todos os movimentos estão nativamente em seu ser, neste ponto onde é possível começar a incorporar novos movimentos de outra arte marcial, ou ainda efetuar a adaptação de movimentos para gerar um novo. É basicamente quando o aluno se torna mestre de si mesmo.

Na agilidade, é onde um time consegue adaptar a metodologia ágil para aumentar a performance, desde a simples remoção de algo que não esteja agregando, ou ainda implementar uma ferramenta proveniente de uma outra metodologia. Ainda no exemplo da Daily, digamos que a equipe decida eliminar as reuniões diárias e substituí-las por um quadro atualizado em tempo real e com indicações de impedimentos. Basicamente cada time já contém experiência suficiente para efetuar adaptações com o foco de aumentar a performance. No conceito Ágil toda equipe deve chegar neste ponto em algum momento.

O próprio Manifesto Ágil (aqui) se define com uma metodologia que se adapta às diferentes realidades e é totalmente flexível para que possa derivar novas formas de trabalho que agregam valor para todos. Aplicando as ordens do Shu-Ha-Ri, poderemos avaliar o estágio da maturidade da agilidade dentro da empresa, para auxiliar as equipes a se tornarem mestre de si mesmo.


Marcelo Goberto de Azevedo 

Arquiteto na GFT Brasil

//marcelogoberto.com.br


domingo, 7 de março de 2021

Mindfulness com Origami

 

Você com certeza já ouviu falar de Mindfulness, esse termo pode ser traduzido de forma livre para “Atenção Plena”, ou seja, é o ato de se concentrar fortemente numa tarefa no momento atual para que você utilize todo o seu potencial para executá-la.

Os benefícios da utilização dessa concentração são vários, entre os principais voltados para área de tecnologia são: mente aberta, confiança, desapego, aceitação e o principal paciência. Estamos vivendo uma época em que somos constantemente bombardeados dos mais diversos estímulos, e caso não tenhamos controle e consciência estaremos sempre se “perdendo” num mar de pensamentos, e sabendo que o pensamento é nossa principal ferramenta de trabalho, é fundamental que possamos ter nossa mente focada para gerar ideias com qualidade.

Existem algumas maneiras de praticar o estado de atenção plena, a mais conhecida é a através da prática de meditação, entretanto num ambiente de trabalho, caso não exista um espaço que ofereça essa possibilidade, fica muito mais difícil. Outra forma é através da respiração cadenciada, ou seja, através do controle da inspiração e expiração podemos induzir o estado, contudo é necessário um tempo longo para completar o ciclo. 

Uma forma bem interessante e simples e que pode ser utilizada em qualquer lugar, hora e ambiente, é executar dobraduras, mais conhecidas como origami. Origami é uma arte milenar japonesa de representar elementos naturais através de dobras em folhas de papel utilizando somente as mãos, sem cortá-la ou colá-la. Quem assistiu a série “La Casa de Papel” deve lembrar que quando o professor entrava em negociação com a polícia, ele pegava uma folha de papel e iniciava a dobradura de origami, isso porque essa ação lhe obrigava a manter a sua mente no momento atual. 

Efetuar a dobradura de um origami pode aumentar nossa atenção plena de forma simples. Iniciar uma dobradura exigirá somente uma folha de papel e pode ser executada em qualquer local e qualquer situação, seja numa reunião, numa palestra, ou em sua mesa. Durante o processo de dobradura sua mente estará sendo "obrigada" a se colocar no momento presente, para executar o próximo passo, com isso ela não consegue escapar para o passado ou futuro.  Todo origami é único, ou seja, isso irá lhe treinar a abandonar o perfeccionismo, a autocrítica ou o autojulgamento. O ato da dobradura pode ser considerado uma micro meditação, porque você está completamente envolto no processo e dentro do aqui e agora. O origami também força a desaceleração, porque o ato de dobrar o papel em formas predeterminadas deve ser feito com paciência e consideração. Por fim, ao final da dobradura você poderá compartilhar com outras pessoas o resultado, tanto o origami, como a forma de fazer, criando assim conexão.

Como iniciar? Simples! Escolha um modelo de origami, eu recomendo um Tsuru, por conta da quantidade de dobras, exigirá de seu cérebro uma concentração maior para lembrar os passos, abaixo vou deixar um passo a passo, execute algumas vezes até decorar os movimentos. Toda vez que você for iniciar uma atividade que precise aumentar sua atenção, inicie a dobradura do origami, naturalmente seu cérebro irá se adaptar após a execução e lhe prover mais potencial em foco na atividade subsequente. E claro, pratique sempre, pois através da repetição o estado gerado pelo Mindfulness será mais facilmente acessado a cada nova sessão.



Marcelo Goberto de Azevedo 

Arquiteto na GFT Brasil

//marcelogoberto.com.br


sábado, 6 de fevereiro de 2021

As Três Leis do TDD

 

Já enumerei as principais razões para utilização da metodologia de Desenvolvimento Orientado a Testes neste artigo (link) e também como praticar em sessões de Coding Dojo neste outro artigo (link), dessa vez quero abortar as leis do TDD (Test Driven Development), essas leis que podemos entender como regras são fáceis de entender e principalmente nos fornecem uma forma simples de validar o que estamos fazendo.

Essas regras foram definidas por Robert C. Martin (Tio Bob), principalmente no intuito de auxiliar no processo de iniciação na utilização da metodologia TDD, essas três regras são mecânicas, você deverá aplicá-las porque irá lhe forçar a escrever código de melhor qualidade e aumentará a facilidade de manutenibilidade.

Lei 1: Você não pode escrever nenhum código fonte, antes de escrever uma especificação de teste que falhe

Isso quer dizer basicamente, o principal e o óbvio para a metodologia, nenhum código pode ser criado, ou classes, ou interfaces, ou seja nada, antes que a especificação do testes seja escrita e falhe, que obviamente irá falhar porque não tem nenhum código para ser validado.

Lei 2: Você não pode escrever mais do que um teste para falhar (e não compilar é falhar)

Muitas vezes já queremos adiantar todas as possíveis soluções e cenários plausíveis para garantir que o que iremos desenvolver irá cobrir os testes e atendendo os resultados esperados, porém esses testes não são testes unitários, são especificação de testes de comportamento, ou seja, você terá que primeiro escrever uma especificação de teste, essa especificação falhará, você então irá codificar para passar no teste e só depois você poderá escrever uma nova especificação de teste para um novo comportamento, dessa forma a cada nova especificação, codificação, estará sendo criado uma pilha de testes que continuaram sendo validados sobre o que está sendo desenvolvimento com qualidade e sem quebras.

Lei 3: Você não pode escrever código fonte mais do que o suficiente para passar no teste que está falhando

Essa talvez seja a regra mais difícil de executar, porque como programador é natural durante o processo de implementação, já tentamos adiantar passos e prever condicionais, situações e comportamentos, porque dessa forma conseguimos escrever códigos que aceleram a implementação final, porém a metodologia nos obriga a dar um passo de cada vez para que possamos ter ciência e principalmente cobertura de todo o processo, com isso fica bem claro que o código fonte que devemos implementar tem que ter o propósito de fazer o teste ser passado e somente isso. Um exemplo básico para ilustrar, caso escreva um teste que precise validar a soma de dois valores (exemplo 1 e 3), sua função deve simplesmente retornar 4, isso fará o teste passar. O motivo por trás disso é forçar você a pensar e dar pequenos passos e ser muito mais produtivo do que tentar codificar em grandes etapas.

Essas três leis podem parecer simples e talvez irão criar um processo moroso inicialmente, entretanto a principal função do TDD é garantir qualidade de código gerado e principalmente cobertura de testes focadas na solução do problema. Ter implementações menores oferecem um poder de concentração maior num único ponto, o que potencializa sua capacidade de resolver o centro do atual problema, com o ponto resolvido, você passa para o próximo e assim até o final. É exatamente para isso que servem essas três leis.


Marcelo Goberto de Azevedo 

Arquiteto na GFT Brasil

//marcelogoberto.com.br