Toyota Kata – Resenha

Toyota Kata

Quando iniciei como Agile Coach em janeiro de 2018, promovido após alguns meses com Scrum Master no Agibank, eu logo fiz uma lista de leituras para me tornar um bom profissional nessa função. Dentre esses leituras estava o livro Toyota Kata, de Mike Rother, que é o motivo da minha resenha de hoje.

Toyota Kata é um livro sobre “gerenciar pessoas para melhoria, adaptabilidade e resultados excepcionais”, segundo o próprio autor. Se esses assuntos lhe interessam, continue lendo o post.

Clique na capa do livro para ver na Amazon.

Quem é Mike Rother?

Mike é um pesquisador americano enormemente conhecido por ter difundido no ocidente através de suas publicações os conceitos japoneses de Value Stream Mapping (Mapeamento de Fluxo de Valor, essencial para o Kanban), Fluxo Contínuo e, neste caso, o Toyota Kata também. Ele inclusive recebeu diversos prêmios devido à inovação e contribuição práticas das suas pesquisas na área e manufatura.

Sim, estou em um blog de tecnologia falando de um autor da indústria, ou você esqueceu que as bases dos métodos ágeis vieram do Sistema Toyota de Produção?

Toyota ok, mas o quê é um Kata?

Primeiro você precisa entender o que é um kata na cultura japonesa.

Um kata (forma em japonês), nas artes marciais, é uma sequência de movimentos coordenados cujo objetivo é proporcionar ao praticante da arte e, simultaneamente, experiência de luta. A ideia é que, conforme o estudante dominar os katas, eles se tornarão parte dele e, em caso de necessidade, ele os usará de maneira instintiva ou até mesmo criará novos.

Esse conceito de assimilação de conhecimento das artes marciais é citado por Jeff Sutherland no best-seller Scrum: A Arte de Fazer o Dobro do Trabalho na Metade do Tempo como sendo o famoso modelo Shu-Ha-Ri (também citado por Martin Fowler): na fase do Shu o estudante apenas repete os movimentos, sem entender muito bem o que está fazendo, mas ganhando prática; na fase Ha ele passa a entender os princípios e conceitos e a incorporar outras práticas de outros mestres; e na Ri ele transcende os ensinamentos e cria suas próprias práticas.

No contexto do livro, a referência aos katas se dá pelo fato da Toyota possuir “sequências de movimentos” ou de práticas que eles já incorporaram no seu dia a dia de maneira transparente e natural. Eles estariam no estado Ri de algumas competências gerenciais.

Inclusive Rother cita que, por ser algo tão natural no chão de fábrica japonês que ele teve de fazer intensas observações no dia a dia do trabalho nas gembas. Esse nome, Toyota Kata, ele mesmo quem cunhou.

O que é Toyota Kata?

Na verdade não é apenas um kata, mas dois: o Improvement Kata (Kata de Melhoria) e o Coaching Kata (Kata de Treinamento) e o livro gira em torno de lhe explicar estes dois katas, com muito embasamento de outros cases.

Basicamente, o Kata de Melhoria pode ser explicado a partir da imagem abaixo.

Toyota Kata
Toyota Kata

Nela, partimos do futuro (1), da visão de onde queremos que nosso processo ou produto esteja.Por exemplo, que seja possível atender a um cliente em menos de 10 minutos em uma financeira.

Depois, tiramos uma fotografia da nossa situação atual (2), onde estamos hoje frente ao desafio futuro. Por exemplo, demoramos 1h30 para atender a um cliente.

A seguir, definimos o próximo passo, a Próxima Condição-Alvo (3, Next Target Condition ou NTC), rumo à visão. Por exemplo, reduzir o tempo de análise de novo cliente de 30 minutos para 5 minutos.

Com a Próxima Condição Alvo em mente, conduzimos experimentos (4) para se chegar lá, usando o método PDCA para isso. É importante salientar que serão necessárias várias iterações ou NTCs para se chegar na visão. Ou seja, os passos 2, 3 e 4 se repetem.

Claro que o livro vai a fundo nestes tópicos que eu apenas citei, ensinando a definir estas etapas, a conduzi-las e apresenta cases da manufatura japonesa.

O outro kata, de Coaching, é sobre como na Toyota os líderes ensinam o Kata de Melhoria aos novatos. Como eles fazem gestão de pessoas para melhoria, adaptabilidade e resultados excepcionais.

Aqui vale uma menção aos exercícios que existem no livro, com situacionais em que você deve tomar decisões e depois vê a resposta correta segundo o autor.

E em software?

Claro que alguém já adaptou isso para o mundo do software, não é mesmo?

No livro Lean Enterprise o Toyota Kata é citado em uma versão modificada, voltado ao desenvolvimento de software. Enquanto que no original o foco era melhoria de processo, aqui o racional é quebrar uma visão de produto em pequenos passos iterativo-incrementais.

No entanto, caso queira realmente entender como funciona essa adaptação, o trabalho original veio deste livro aqui, de funcionários da HP, A Practical Approach to Large Scale Agile Development.

A essência ainda é a mesma, o mais bacana dessas leituras são os cases de aplicação mesmo.

Um abraço e até a próxima!

Gostou da resenha? Compre o livro na Amazon.

* OBS: curtiu o post? Então dá uma olhada no meu livro de Scrum e Métodos Ágeis e/ou no meu curso sobre o mesmo assunto!

Curso de Scrum e Métodos Ágeis
Curso de Scrum e Métodos Ágeis

Como se tornar um Agile Coach?

Nesse mês de maio completo 6 meses na minha nova função como Agile Coach no banco Agibank. Relembrando agora minha trajetória com métodos ágeis desde 2010, talvez eu nunca tenha sido apenas um Scrum Master, uma vez que sempre estive atento a outras práticas e frameworks, adotando o que melhor se adequava à cada necessidade das empresas em que trabalhei (e fundei) desde então. E afinal, essa é a essência de um Agile Coach!

Neste post tento trazer uma luz a um tópico que tanto me deixava receoso no final do ano passado: afinal, o que é preciso para se tornar um Agile Coach de sucesso ou ao menos como se tornar um Agile Coach de verdade? Além das skills básicas de Scrum Master, tal qual as descritas no Scrum Guide, o que mais eu precisaria?

Segundo o Agile Coaching Institute, 8 são as competências necessárias que todo Agile Coach deve possuir para que possa desempenhar a sua função com maestria, e é nessas 8 competências que estruturei o artigo de hoje, explicando o que é cada uma delas e citando referências bibliográficas onde você pode se aprofundar.

Framework de Competências do Agile Coach
Framework de Competências do Agile Coach

Em uma tradução/adaptação livre, temos as seguintes competências:

Cultura Ágil e Lean

Independente do framework ágil de sua preferência, um Agile Coach deve ter um mindset ágil, um foco nas raízes do Lean da Toyota (berço de boa parte das práticas ágeis) e uma cultura de agilidade tal qual descrita no Agile Manifesto. Essa base lhe propiciará um discernimento do que é ser ágil não apenas a nível de prática, mas a nível de princípios e entendimento realmente profundo.

Algumas referências de estudo nessa linha incluem (com links para a Amazon):

Desenvolvimento de Software com Scrum: Aplicando Métodos Ágeis com Sucesso, de Mike Cohn, cujo título original em Inglês faz mais sentido: Succeeding with Agile.

Coaching Profissional

Como o próprio nome da função sugere, o Agile Coach é em essência um treinador e deve ter habilidade para atuar como tal, com um grande foco em orientar os times e os indivíduos a alcançarem a máxima performance, explorando todo o seu potencial. O interesse do seu cliente é o seu norteador e, baseado nele, o Agile Coach deve ser capaz de aplicar as técnicas e métodos mais adequados a cada situação independente da sua opinião ou até mesmo da sua expertise, indo muitas vezes além do técnico dos métodos ágeis e partindo para uma transformação de mindset dos envolvidos (Programação Neuro-Linguística ajuda muito aqui).

Para desenvolver tais habilidades, além de muita empatia e prática, existem cursos específicos para se tornar um coach (como os oferecidos pelo IBC) e algumas leituras recomendadas, tais como o Poder sem Limites do Tony Robbins, o meu autor de PNL favorito.

Facilitação

O Agile Coach guarda nas suas raízes como Scrum Master o perfil de facilitador: um indivíduo neutro, guardião de técnicas, que guia a organização rumo à descoberta de seus processos e ao sucesso de seus projetos.

O fantástico Game Storming de Dave Gray (que aliás é imenso e eu tenho na minha estante) é um prato cheio de jogos para inovar, mudar o rumo de reuniões e ajudar as pessoas a irem muito além de brainstormings já “amarelados”.

Mentoria

Mentoria é a capacidade de transmitir a experiência, o conhecimento e a orientação de uma pessoa para ajudar no crescimento de outra pessoa nos mesmos domínios de conhecimento ou semelhantes. Resumindo: a capacidade de formar outros Agile Coaches dentro da organização.

Obviamente que você só vai querer fazer isso após ter o mínimo de confiança de que você mesmo é um Agile Coach, mas uma maneira de ir se aperfeiçoando enquanto mentor é se focando em leituras sobre liderança, como o excelente O Monge e o Executivo, e sobre trabalho em equipe como As 17 Incontestáveis Leis do Trabalho em Equipe. Ambos livros te darão um norte de como líderes empoderam times vencedores.

Ensino

Um bom professor é aquele que possui a capacidade de oferecer o conhecimento certo, no momento certo, ensinado da maneira correta, para que indivíduos, equipes e organizações metabolizem o conhecimento para o seu melhor benefício.

Diferente da mentoria, que possui um foco em passar a sua experiência para que outro indivíduo assuma posição semelhante à sua, o ensino foca na passagem de conhecimentos específicos, dadas as circunstâncias de um indivíduo, usando ferramental apropriado.

O clássico Coaching Agile Teams (somente em Inglês), da Lyssa Adkins, que é a “bíblia” do Agile Coaching, tem muitas lições acerca de como ser um bom professor de métodos ágeis, além de um mentor e coach.

Maestria Técnica

Essa competência resume-se a saber “botar a mão na massa” quando necessário, ou seja, não ser apenas um profissional teórico, mas saber como a coisa funciona na prática, a ponto de você conseguir executar ou propor atividades técnicas pontuais no dia-a-dia.

Um Agile Coach sem conhecimento técnico (mesmo que superficial) vai depender e muito de membros técnicos de confiança nos times em que atua para conseguir bons resultados, uma vez que muitas transformações em processos exigem mudanças técnicas nos times como testes, arquitetura, CI, CD, refactoring, código-limpo e muito mais.

É obrigatório o Agile Coach entender o que é Continuous Delivery e ajudar o time a enxergar neste conceito a agilidade técnica de que tanto precisam. Neste ponto, o excelente Entrega Contínua de Jez Humble cumpre bem o seu papel como um guia no assunto.

Já o compilado eXtreme Programming do Daniel Wildt e cia. lhe dará um overview de técnicas e práticas do XP para complementar as lacunas deixadas por uma formação pautada apenas com Scrum (como a minha).

Maestria de Negócios

Além de skills técnicas, cabe ao Agile Coach ter skills de negócio também, principalmente aquelas vinculadas a concepção de novos produtos, validação de hipóteses, personas e muito mais, uma vez que não tem como ser ágil se as áreas de negócio da empresa não são.

Um Agile Coach sem conhecimento de negócio (mesmo que superficial) dependerá de Product Owners extremamente experientes dentro dos times, uma vez que não conseguirá auxiliá-los em etapas extremamente difíceis da jornada de cada time como descoberta de novos negócios, priorizações difíceis, etc.

Leituras neste sentido não faltam, mas seguem duas referências:

Capacidade de Transformar

Um Agile Coach é um agente de mudança e, como tal, deve ser capaz de provocar mudanças culturais e organizacionais dentro da empresa em que atua. Muitas vezes ele deve liderar esta transformação, evangelizando a cultura ágil em todas as esferas da empresa para garantir que a mesma não seja um movimento isolado e que morra com o passar do tempo.

O livro Os 5 Desafios das Equipes (Dysfunctions no original de Patrick Lencioni) trata muito deste assunto, bem como o Virando a Própria Mesa do brasileiro Ricardo Semler, um ícone de transformação organizacional e cultural moderno. Outros títulos famosos, estes que eu não conheço ainda, são Emergência: A Dinâmica de Rede das Formigas, Cérebros, Cidades e Software, de Steven Johnson e o Inteligência Emocional de Daniel Goleman.

E aí, o que achou deste framework de competências? Concorda ou discorda? Use a área de comentários abaixo para discutirmos nossas percepções sobre esse importante papel nas empresas ágeis.

No vídeo abaixo eu falo sobre a carreira do Agile Coach:

* OBS: curtiu o post? Então dá uma olhada no meu livro de Scrum e Métodos Ágeis e/ou no meu curso sobre o mesmo assunto!

Curso de Scrum e Métodos Ágeis
Curso de Scrum e Métodos Ágeis

Lançamento do meu livro de MongoDB


Foi em 2015 que conheci MongoDB. Sim, eu estava bem atrasado considerando que a tecnologia havia sido lançada em 2009 e desde 2010 já existiam grandes projetos usando-a. Como sempre gostei de criar aplicações com massas grandes de dados, como meus mecanismos de busca, logo me interessei pelo approach baseado em documentos do Mongo e facilidade de consultar. E pela performance, é claro.

Assim como fiz em 2012, conforme ia iniciando meus estudos de Android, fui documentando tudo o que aprendia e testava sobre MongoDB, ao mesmo tempo que estudava e aplicava outra tecnologia em meus projetos: Node.js.

Obviamente não comecei meus estudos partindo do zero, uma vez que já trabalho com sistemas que usam bancos de dados há cerca de 10 anos. Todo o meu conhecimento de banco de dados (que engloba muito SQL Server e um pouco de outros bancos), aliado às boas práticas de Engenharia de Software, Gestão de Projetos, Testes de Software, etc formaram o profissional que sou hoje.

No uso de MongoDB eu tenho experiência de mais de dois anos na data que escrevo este post e uma meia dúzia de projetos entregues e funcionando.

Pois então que há alguns meses decidi escrever um novo livro. O segundo de 2017 (o primeiro foi sobre Node.js), justamente sobre todo esse conhecimento de MongoDB que possuo que já me renderam algumas ofertas de emprego bem interessantes e alguns milhares de reais em projetos entregues usando este banco de dados.

Esse livro chama-se MongoDB para Iniciantes, e está à venda desde essa semana na Amazon.

Apesar do seu tamanho, 120 páginas, é um livro bem completo. Ele não se limita a listar e explicar comandos para consultar e manipular o MongoDB. Ele parte do princípio que você quer entender como funciona a orientação à documentos, que quer saber como se gerencia minimamente um servidor Mongo. Com uma didática clara e objetiva, como todos livros de minha autoria (quem já leu os demais sabe do que estou falando), e que pega o leitor pela mão e ensina desde os conceitos mais básicos até tudo que é necessário para ter um banco modelado corretamente e rodando, pronto para suas aplicações se conectarem. Inclusive ensina como usar MongoDB com Node.js, ASP.NET Core e PHP, sem entrar em muitos detalhes destas linguagens.

Do primeiro insert até comandos mais elaborados para manipulação de campos multi-valorados, índices, relatórios de performance e subdocumentos, MongoDB para Iniciantes é para quem está começando a trabalhar com MongoDB e bancos relacionais e está completamente confuso com a quantidade de tutoriais, informações conflitantes e artigos fora de ordem. Nele, ensino a usar tudo o que deu certo em meus projetos com MongoDB nos últimos anos, um banco não-relacional que é bom, confiável e que possui grande mercado.

Neste livro você vai aprender:

  • introdução aos bancos não-relacionais e NOSQL;
  • execução do servidor MongoDB;
  • conexão usando o client nativo Mongo;
  • quando usar e quando não usar MongoDB;
  • comandos básicos e intermediários para consultas;
  • comandos básicos e intermediários para inserção, atualização e exclusão de documentos;
  • como extrair relatório de performance de suas queries;
  • criação de índices;
  • gerenciamento mínimo de servidor (backup, restore, import);
  • como modelar os seus documentos usando o paradigma do MongoDB;
  • como criar aplicações reais usando Node.js, PHP e ASP.NET Core;
  • dezenas de boas práticas com MongoDB;

Novamente, devido às atualizações constantes, optei apenas por ter somente versão digital, que você pode ler no Kindle, no PC usando o ler.amazon.com e no smartphone/tablet usando o app Kindle Cloud Reader. Livros de tecnologia impressos tendem a ficar obsoletos rapidamente, coisa que eu detesto.

Além disso, caso assine o Kindle Unlimited (primeiro mês grátis e depois R$20/mês), você pode ler o meu livro e milhares de outros títulos gratuitamente.

Se ainda não é cliente da Amazon, esta é uma excelente oportunidade de começar com o pé direito. Modéstia à parte. 😉

Leia a amostra grátis do livro abaixo e tire suas próprias conclusões:

Curso Node.js e MongoDB
Curso Node.js e MongoDB