Cultura de aprendizado e formação de equipes de alto desempenho — GU Day SUCESU-RS 2013

O assunto Cultura de Aprendizado é um assunto que me cativa demais. Seja pelo meu objetivo de vida de me tornar inútil e ajudar lideranças a serem formadas, mas também pela questão de formação de times de alto desempenho. Ajudar a desenvolver profissionais que sejam melhores profissionais, dia após dia. Lembrar que tudo isto é um processo de adaptar e desenvolver a governança corporativa.

É algo que envolve a cultura da organização, envolve uma questão de atitude de cada pessoa, e principalmente o grupo, a sinergia que o grupo consegue desenvolver.  No final, o que se quer é viver feliz, desenvolvendo um trabalho de valor, e evitar a famosa aposentadoria por alívio.

A cultura de aprendizado sendo trabalhada vai ajudar a desenvolver uma cultura de prevenção. E tudo começa a fazer sentido. Um time mais responsável, com liberdade e muita colaboração para fazer as coisas acontecerem.

— Daniel Widt (assine meu canal de vídeos)

Em busca de um ritmo

banner-A-300x250Me perguntaram dia desses:

“Como fazer para voltar a ter paz com um cliente? O cliente não parava de pedir coisas e estava fora de controle. O time não conseguia atender as demandas, já que sempre vinham novas demandas. E o time não tinha como  negociar com o cliente para acertar as entregas.”

Não tem jeito fácil de virar este jogo. Pegando experiências que tive com equipes, normalmente se passa por três passos:

O primeiro é “aceitar a falha”. Entender que existe um problema com a equipe. Tomar consciência disto. O cliente não é o culpado. Ele pediu, e a equipe aceitou fazer e entregar. Mesmo sabendo do seu histórico. Não existia nenhuma restrição “segurando o cliente” de pedir mais. Esta restrição será criada com as próximas ações.

O segundo passo é trabalhar com a priorização das demandas. Ensinar os clientes a classificar as próprias demandas. Fazer este trabalho junto com os clientes. Capacitando eles, por exemplo a pensar sobre “o que acontece se eu não implementar esta funcionalidade?”. Pequenos detalhes que ajudam na percepção de demandas x valor x real necessidade.

O terceiro ponto que considero importante é o time estabelecer um ritmo de entregas. A equipe deve estabelecer um ritmo de entrega com os clientes. Se não está conseguindo entregar, baixe a velocidade. Aceite a falha novamente. Não corra. Apressar uma entrega pode ser a geração de um defeito no seu código fonte. Qualidade não é opcional.

Com as ações de melhoria contínua, o time vai melhorar, vai ser mais consistente nas entregas, vai ouvir mais o cliente. Agora, o que o time não pode deixar de dar atenção é na questão simplicidade. E lembrar, lá do manifesto ágil:

Simplicidade é a arte de maximizar o trabalho que não é feito. 

Sempre dando atenção a questão simplicidade, garantindo que a comunicação com o cliente está fluindo e a priorização ocorre e que o ritmo está sendo interessante para a equipe e para o cliente, a equipe ganha espaço para seguir melhorando e buscando melhorar ainda mais a qualidade do serviço que presta.

Este ciclo de melhoria não pode parar. Já falei em outros posts, é como Deming dizia:

Não é necessário mudar. Sobreviver não é obrigatório.

Evento online sobre RAD Studio XE4! Novidades do Delphi!

No dia 11 de junho vai acontecer um webinar sobre o RAD Studio XE4, a partir das 14h30min!

O que vai ser tratado?

  • Desenvolvimento Multidispositivo
  • O novo compilador
  • Evoluções da Linguagem Delphi
  • Templates para aplicações móveis
  • Controles e estilos nativos, Actions e Gestures
  • Acesso nativo a sensores
  • Banco de dados embutido
  • Desenvolvimento multicamadas

Curte Delphi? Aproveita e se inscreve no evento!

Se quiser dar uma olhada em vídeos sobre o produto, existem alguns bem legais no site da embarcadero!

JustJava 2013! Aí vamos nós!

Tenho desde 2006 participado do JustJava, palestrando e colaborando com a comunidade Java brasileira. Infelizmente ano passado não consegui participar e estava torcendo para chegar logo a edição de 2013!

Neste ano estarei palestrando junto com Guilherme Elias, e faremos um papo sobre arquitetura de software, e nuvens! Pensando sobre os desafios de fazer um sistema funcionar em cloud computing e todos os desafios legais que podemos enfrentar para ganhar em estabilidade, escalabilidade e qualidade.

Veja os detalhes da apresentação. Ela ocorre no dia 7/junho a partir das 17h30min lá no JustJava:

Indo para as nuvens? Cuidado! A queda pode ser grande!

Cloud Computing é o termo da vez, e muitas empresas querem testar e fazer uso do conceito. Colocar seus projetos e produtos podendo usar uma estrutura com precificação diferenciada e com controle dos recursos utilizados.

Você pode colocar seu projeto como está em uma infraestrutura em produção. Mas aí você descobre que pode pagar pelo o que usa. E neste momento se começa uma busca por economia de centavos em tudo o que é possível. E esta busca torna nossa arquitetura mais flexível, nosso código precisa ser simples e componentizado. Nossos recursos computacionais precisam ser melhor alocados. Mais disponibilidade. Mais restrições. Horários de descanso dos sistemas? Sim! E adeus servidor com muita RAM! Olá pequenos servidores!

Vamos tratar nesta palestra sobre desafios no desenvolvimento de software para usar conceitos como infraestrutura como serviço (IaaS) e plataforma como serviço (PaaS). Identificar restrições importantes de serem levadas como regras nos projetos, padrões de arquitetura, de integração e de projeto que se tornam úteis para organizar a evolução de um software nas nuvens.

Quer saber mais sobre o evento? Aí vão alguns links:

Quer praticar programação? Coding Dojo!

Todos times deveriam ter um momento de prática. Um momento para desligar e viver situações diferentes. Treinar programação. Compartilhar pensamentos que não apareceriam no dia a dia de projeto.

Um Dojo é o lugar do caminho, é a casa dos praticantes de artes marciais. Desenvolvimento de Software além de ser uma atividade criativa, é uma arte. E como tal, deve ser estudada, praticada, e melhorada de forma constante.

A troca de experiências que ocorre em uma sessão de treinamento, entre pessoas com mais experiência e iniciantes é algo  único, uma oportunidade de aprender e de ensinar. De colaborar e ajudar na formação de melhores desenvolvedores.

É um ambiente de colaboração. Competição não possui lugar. É um ambiente de treinamento, onde práticas do eXtreme Programming como Desenvolvimento Orientado a Testes (TDD), Design Simples, Programação em Pares e Posse Coletiva podem ser compartilhadas. As ideias devem ser provadas com código. E todo novo código precisa aparecer evoluindo dentro do ciclo do TDD (Red-Green-Refactor). Explico: primeiro se faz a criação de um teste falhando um determinado cenário em foco, depois criar o mínimo necessário de código para fazer o teste passar e por fim aplicar técnicas de refatoração para melhorar a estrutura do código fonte, deixando ele mais simples. Ciclos curtos fazendo isto até fazer o que precisa ser feito.

Normalmente para se fazer um dojo se precisa de:

  1. Um problema a ser resolvido. É normalmente um problema de lógica, onde através de técnicas de design, evolução constante do código através da criação de testes e pequenos passos, este problema vai sendo trabalhado e evoluído. Eventualmente se pode chegar na solução do problema, mas o propósito do Dojo é estudar situações e oportunidades de projetar e resolver um determinado problema.
  2. Datashow ou forma de compartilhar o que está ocorrendo com os participantes.
  3. Uma estratégia para tocar o Dojo. Existem algumas, como o (a) Prepared Kata, onde um especialista resolve o problema do início ao fim. O que mais uso, o (b) Randori Kata, possui um timer tocando a cada 5-7 minutos, indicando uma nova rotação a ser feita. Temos apenas um computador sendo usado nesta abordagem, assim como é com o Prepared Kata. A cada rotação o desenvolvedor que ficou na máquina tem a tarefa de passar o conhecimento e situar quem está chegando. Aqui estão as oportunidades perfeitas para parear pessoas com grande diferença de conhecimento. Assim o aprendizado funciona muito melhor. Ainda temos o conceito de (c) Kake Kata, onde pequenos grupos se formam e resolvem o mesmo problena. As rotações ocorrem dentro do grupo e entre grupos. O desafio neste caso comparado com o Randori, é que a cada ciclo, estaremos visualizando código diferente e que não foi tocado anteriormente pelo time. Então o processo de aprendizado tem mais desafios.
  4. Pessoas. Pelo menos 1 pessoa. Se pode fazer um Prepared Kata e gravar para publicar online.  🙂
  5. E o tempo? Uma hora pode ser o suficiente para passar a mensagem e fazer o time trabalhar junto. Gosto de usar 60-80mins de tempo de trabalho.

E quer saber qual a parte mais legal? Esta estrutura de pareamento e colaboração pode ser usada para diversas abordagens! Desenvolvimento de um Business Canvas, escrita de requisitos em um dojo de análise de negócios, e por aí vai.

Update Jan/2019, vídeo sobre Coding Dojo.

Extras:

Dúvida para o seu primeiro Dojo? Pegue um problema simples como o FizzBuzz, escolha uma linguagem, um framework de teste e mande ver!

A gente somos inúteis, e isto pode ser excelente!

Em maio de 2013 falei na BITS South America, dentro do espaço de inovação SEBRAE-RS Thinkers. A palestra ocorreu dentro das atividades organizadas pela galera do Thinkers Poa.

Palestra: A gente somos inúteis, e isto pode ser excelente! 

Descrição: A vida em rede é algo real, e os benefícios que temos em colaborar, contribuir, ensinar e aprender são essenciais para nossa evolução como pessoas e como profissionais. Entender até onde queremos chegar e o que queremos entregar, é algo em constante adaptação. E ainda mais interessante quando conseguimos ensinar tudo o que sabemos a ponto de nos tornarmos inúteis, dando chance para aprendermos mais. Venha discutir mais sobre você e como você pode viver melhor, fazendo e realizando mais. Usaremos técnicas como Business Model You e outras que podem ajudar na formação de objetivos, ajudando você nas ações do tipo “vai lá e faz”.

Quer ver um pouco sobre o assunto Business Model You, tarefas, propósito? Veja esta palestra que fiz na Desconf 2012 com o assunto “Quem é você?”.

— Daniel Wildt (update 2021: quem é você em formato podcast)

Eventos para os próximos finais de semana! 20 e 27 de abril!

Nos dias 20 e 21 de abril ocorre o Ideias em Produção, evento organizado pela ThoughtWorks e que reúne várias empresas para falar de assuntos relacionados a Continuous Delivery e Continuous Deployment. Práticas que se tornam importantíssimas para quem deseja entregar software com um ritmo percebido pelos clientes como alguém que gera valor de forma constante. A priorização acaba sendo algo essencial para que isto ocorra de uma forma consistente. Neste outro evento vou falar sobre o tema “Da visão à produção. A ideia é tratar de desenvolvimento de produtos, inovação, pitadas de lean startup, e principalmente o desenvolvimento de uma identidade empreendedora.

No dia 27 de abril ocorre o GUDay 2013 lá na PUC-RS. Diversos Grupos de Usuários de Tecnologia se reúnem para falar do tema Convergência. Em 2012 o evento foi show de bola. E esperamos que em 2013 seja tão legal quanto! Faça a sua inscrição e a dica: associados SUCESU-RS e alunos de diversas instituições de ensino podem fazer a inscrição gratuitamente!  Neste evento vou fazer uma lightning talk sobre formação de equipes de alto desempenho. Vou falar sobre cultura organizacional, cultura de prevenção, liderança, sobre agilidade e outros tópicos legais de serem falados deste tipo de assunto.

Ainda de 26-28 de abril estarei apoiando o Startup Weekend Porto Alegre! Participarei como um dos mentores. O evento ainda tem inscrições disponíveis para quem quer trabalhar com tecnologia, design ou negócios!

Songdoro! Ganhe tempo ouvindo música!

Eu trabalhei muito tempo usando a Pomodoro Technique com um timer de cozinha. Tem quem prefira o bom e velho tomatinho do site do Pomodoro.

Fiz um primeiro post sobre o Songdoro em Janeiro de 2010. Foi um post em inglês. A técnica foi desenvolvida no final de 2009 e publicada neste mesmo blog.

Como começou?

Continue a ler “Songdoro! Ganhe tempo ouvindo música!”

Colocando os tomates para trabalhar! Pomodoro Technique!

Você acorda e pensa sobre o que precisa fazer hoje. Você toma seu café da manhã (eu vou só em um copo de suco) e pensa novamente sobre o que precisa fazer hoje. Neste momento já aparecem coisas importantes para fazer. Você certamente coloca na sua lista mental coisas que irão deixar você muito feliz. Muito mesmo. Aí você vai tomar um banho ou vai assistir ou ler um jornal da manhã. Mais coisas começam a aparecer nesta lista mental.

O que tem de errado nisto? Ainda nada… o ponto é que você começa a querer fazer tudo e no final, não consegue “encerrar nada“. Você fica com aquela sensação de dia sem objetivo, chato, pesado. E nenhum dia precisa ser assim. Frustração.
A técnica do Tomate (Pomodoro em italiano) vai ajudar você a conhecer mais do seu ritmo. A controlar o seu otimismo quando você pensa em um dia sem interrupções e você completando todas tarefas que pensou. Isto pode acontecer e vai ser excelente, mas não será sempre assim.

Bom, o processo é bem objetivo. Vamos em passos para poder começar:

  1. Peque uma folha de papel.
  2. De cima para baixo, anote o que você quer fazer hoje.
  3. Use um timer, seja de cozinha ou do celular, marcando 25 minutos.
  4. Pegue o primeiro item da lista, e foco! Se terminar o primeiro item, foco no próximo.
  5. Se aparecer algo novo, preencha de baixo para cima. Uso isto para poder diferenciar o que eu planejei inicialmente das coisas que tive que completar durante o dia.

Ao final dos 25 minutos, você vai parar de fazer o que estava fazendo, onde estava. Não tem mais 1 minuto só para terminar uma coisinha. A restrição do tempo é importante para criar consciência. A partir disto, você vai marcar no timer 5 minutos e vai fazer qualquer coisa, tomar água, banheiro, dar uma olhada nos emails e por aí vai. Lembre que são 5 minutos. E que você não pode seguir na tarefa que estava.

Agora você está pronto para mais um ciclo (ou um novo pomodoro). De volta ao timer de 25 minutos, executar as tarefas da lista e seguir fazendo este ciclo de 25 + 5 até completar 4 ciclos. Ao completar 4 pomodoros você ganha um super bônus de 30 minutos e agora pode ter um tempo de descanso maior. Pode aproveitar para ler um jornal, fazer um lanche ou algo do tipo.

Uma coisa importante! Notou o uso do “quer” quando pedi para você montar a lista? Temos um ponto para trabalhar em entender que muitas vezes temos que fazer o que queremos e também o que precisamos. Então a nossa lista vai possuir tarefas que dão prazer porque foram feitas. Outras darão prazer porque nos livramos delas.

Você vai querer entender também quantos ciclos foram necessários para terminar uma tarefa. Você vai começar a buscar tarefas melhores, menores, mais detalhadas, para que o seu ciclo seja mais efetivo. A melhoria contínua está presente sempre. Você quer tornar seus dias mais proveitosos. Mais produtivos. Entender que dentro das possibilidades você consegue fazer X tarefas por dia. E era isto. Sem frustrações. Se por acaso você conseguir fazer mais, só felicidade hein?

Outra questão é que você vai passar a dar mais valor ao tempo. E a querer controlar interrupções. A cada interrupção que você aceitar, o timer deve ser parado e o pomodoro é cancelado. Quando você se liberar, inicia um novo pomodoro. Este ponto vai ajudar você a entender o quanto você é interrompido. Faça um cálculo de quantos ciclos você tentou fazer e quantos você realmente fez. E neste sentido, você vai trabalhar para liberar tempo, para poder executar alguns ciclos em sequência. Costumo guardar 3 a 4 horas do dia seguidas para poder trabalhar sem interrupções. E as interrupções podem ocorrer, eu sei, mas tento isolar reuniões durante um turno. Prefiro reuniões no turno da manhã e deixar as tardes para focar em fazer. Guardar tempo para coisas burocráticas e ações que preciso fazer com outras pessoas. Managers time contra makers time. Não deixe o seu dia ser controlado por interrupções. Você deve controlar o seu dia. Comece assim. O nosso objetivo é que você viva o seu dia. Lembre disto. Agende reuniões, mas lembre de marcar reuniões pequenas, e estabeleça objetivos claros com as pessoas. Datas para retorno ajudam e te dão tempo para trabalhar nos assuntos. Prefira um “falamos na volta do almoço” do que um “falamos daqui a pouquinho”. Apesar da relatividade, trate o tempo o mais objetivo possível!

Me perguntaram outro dia se eu vivo o dia inteiro com a técnica do pomodoro. Não. Eu utilizo a técnica do pomodoro com dois objetivos. Primeiro para poder focar durante uma tarde de trabalho e completar tarefas que preciso resolver. Se eu estou fazendo uma tarefa de pesquisa a noite em casa, de puro aprendizado, livre, querendo ver vídeos legais e ler artigos relacionados, eu não fico controlando tempo destas coisas. Agora, existem situações em que quero focar. Tomar decisões. O segundo motivo de usar a técnica é para evitar perder o foco, normalmente visto quando não consigo ver mais os ícones das abas no navegador de internet. Neste ponto o pomodoro me ajuda. Sei que no máximo 30 minutos estarei de volta ao objetivo que iniciei 30 minutos antes.

Então, se eu pudesse resumir dicas para ajudar você no uso da técnica do pomodoro eu digo o seguinte:

  1. Saiba que você vai ser interrompido!
  2. Use a técnica quando ela fizer sentido no seu dia. Você não é um robô!
  3. Analise o que está ocorrendo com o seu dia. Suas tarefas estão menores? Mais consistentes? Está realizando aquilo que é necessário e importante?

Quanto a saber que seremos interrompidos, não é uma boa notícia, mas é a pura realidade. Então busque ajustar o seu dia para ter ciclos de criação/realização/ação. Não precisa virar uma rotina, mas encontre estes momentos. O desafio não é aprender a dizer não, mas saber entender a criticidade de um assunto e poder postergar em 30 minutos ou 1 dia. Caso seja algo realmente urgente, se deixe interromper e resolva!

Toda técnica deve gerar benefícios. Então entenda quando esta técnica pode ser usada para dar mais efetividade no seu dia a dia. Lembre! Você não deve ser controlado por um timer. A restrição de tempo está presente para ajudar a focar e a quebrar melhor as tarefas a serem executadas.

Quer mais ferramentas para o seu tempo? Veja este material que estou montando!

Não consegue baixar livros no app do Kindle para Mac?

Tenho a prática de ler livros do Kindle no próprio aparelho, e também no iPhone.

Pela facilidade de poder procurar algo nos livros enquanto estou pesquisando, deixo eles carregados no Mac também.

Recentemente fui baixar alguns livros que tinha comprado, mas que ainda não estavam no MacBook. Recebi uma mensagem de erro que não era possível baixar os livros (“Unable to download the book…“). Eles ficavam “na fila” e daqui a pouco aparecia a mensagem de erro.

Achei várias pessoas reclamando disto, e achei um post esclarecedor a respeito, mas a resposta mesmo para mim estava nos comentários do post.

Resumindo, eu acabei tendo que fazer o seguinte para poder baixar meus livros no computador novamente:

  1. Nas preferências do aplicativo Kindle no Mac, eu fiz o “deregister”, marcando para ele remover o conteúdo licenciado do device.
  2. Removi o Aplicativo do Kindle
  3. Na pasta Home -> Library -> Application Support, removi a pasta “Kindle” que tinha ali dentro.
  4. Pela Apple Store reinstalei o Kindle
  5. Refiz o registro
  6. Uhu! Consegui baixar meus livros novamente para o computador.

Se você passou por isto e conseguiu resolver o problema, então boa leitura!