Sábado eu dei uma palestra de 20 minutos no 4o. Locaweb TechDay. Gostei muito de ter explorado esse tema. Muitas das ideias foram baseadas no livro Pragmatic Thinking And Learning, do Andy Hunt, misturado com minhas experiências pessoais. Confesso que tenho muitas outras coisas a respeito desse mesmo assunto que eu ainda quero falar. Façam seus comentários para me ajudar!
qual avaliação que a banca fez. Nós tínhamos uma câmera filmando a defesa, mas a fita acabou (#fail) justamente um pouco depois de a banca começar a argumentar sobre a dissertação. Somente as pessoas que estavam presentes tiveram o privilégio de saber qual foi o impacto que essa defesa teve no Instituto de Matemática e Estatística da USP. Digo isso não para me gabar do meu trabalho, mas porque o fato foi realmente EMOCIONANTE e, sem brincadeira, teve gente que até chorou!
Refactoring is a well known technique in software development. In short terms, refactoring is to execute a sequence of small well defined steps with the intention to let your code base more clear, more beautiful, more elegant. The result of a continuous refactoring practice is a simpler and easier to maintain software project. There many times also when refactoring takes the programmer to create new abstractions and code generalizations.
Let’s go to a simple example: suppose we are programming a Person entity class. This class contains attributes like name, weight, age, gender, spoken language. After some time, I find out that I need to insert cats in my system for some reason. Continue reading →
I’d like to use this post to announce 2 big changes in my life. The first one is that since now I will post here in English instead of Portuguese. With this, I’d like to make my blog more understandable outside Brazil. I’m not sure I’m ready to write everything I think in a foreign language, but the only way to find it out is to begin writing and see what happen. So, here I am. For the practice I will also write some poetry in English, in my poetry blog.
Participei hoje do primeiro tutorial na QCON San Francisco 2008. O tutorial foi sobre o assunto que eu venho estudando há algum tempo: Padrões para Introduzir Novas Idéias. Em termos de conteúdo, não vi nada muito novo. Mas o que mais me impressionou foi a presença de espírito da Linda Rising. Foi um enorme prazer estar com ela todo esse dia e ouví-la falar sobre os padrões. A sua fala é tranqüila, clara e perfeita. Nunca tinha vista alguém da área da computação se expressar de forma tão maravilhosa. Me sinto privilegiado de ter participado de um tutorial ao lado de uma das mulheres que seja talvez um dos maiores nomes da computação atual.
Para compartilhar o momento com todos, filmei alguns momentos. Linda propôs que, para aprender melhor sobre os padrões do livro Fearless Change, algumas pessoas fizessem encenações de um script escrito por ela. São pequenas sketches que ilustram momentos de personagens como o Inovador, o Evangelista e outros. Espero que todos gostem!
Clique no link “YouTube” acima para ver os outros vídeos relacionados
Transforme a resistência à nova idéia em algo a seu favor. Toda inovação, no fundo, rompe com algo. Logo, a resistência é bem vinda. Precisamos da resistência para testar nossas idéias e convicções. Os céticos são um presente. Eles nos dão informações sobre o caminho que estamos seguindo e sobre como podemos adaptar nossa abordagem.
Talvez o ponto mais essencial da mudança é a nossa forma de lidar com o medo. Num processo de mudança existe medo de dois lados: quem está sendo mudado quer evitar a dor de ter que, talvez, perder algo; quem está promovendo a mudança tem medo de que sua idéia esteja errada. Quando esses dois lados entram em choque surge um impasse. Continue reading →
Há um tempo tivemos na empresa um treinamento sobre Feedback. Uma das atividades da tarde foi criarmos encenações onde o líder deveria conversar com um subordinado e dar feedback sobre um determinado acontecimento (i.e. não cumprimento de meta, comportamento inadequado, etc.). Duas coisas estavam sendo trabalhadas: de um lado o “ator” no papel de líder estava simulando uma situação real e aprendendo a lidar com situações difíceis do dia-a-dia de forma lúdica. Do outro estava a platéia, que podia (se) observar de fora. Continue reading →
Acabo de voltar do Falando em Agile! O evento foi muito bom, com a participação de grandes nomes do movimento Ágil. Tentei levantar os principais pontos do evento.
David Anderson fez o Keynote de abertura levantando pontos importantes sobre agilidade:
Manter qualidade alta em tudo que for feito. Para isso muitas vezes temos que fazer as coisas com calma e ter o tempo certo para fazer a coisa certa.
Tentar limitar o WIP (work-in-progress) usando kanban
Equilibrar a demanda com a saída, ou seja, não colocar mais trabalho do que a equipe é capaz de produzir (de novo, kanban, processo pull e não push)
Aprender a priorizar, alinhado com o plano estratégico
A geração de bom software não é um processo de produção; é um processo de desenvolvimento. Desenvolver é diferente de produzir. Desenvolver é como criar uma receita, enquanto que produzir é seguir os passos de uma receita pronta. São atividades diferentes. Desenvolver uma receita é um processo de aprendizado, de tentativa e erro. Quando um grande chefe cria um prato, ele não o cria de primeira. O prato primordial é Continue reading →