Arquivo

Arquivo da Categoria ‘Comunicação’

O Poder do Silêncio

7, junho, 2010

O poder do silêncio.

Sempre que chego em um ambiente de desenvolvimento muito quieto, esses onde todos ficam o dia todo com seus fones de ouvidos (nada contra os fones) sem trocar uma palavra, me dá uma sensação um pouco estranha, de que algo pode estar errado ali. O silêncio e o clima do ambiente de desenvolvimento acabam revelando muito sobre como uma empresa desenvolve seus softwares e valoriza seus funcionários.

O individualismo quase sempre leva a uma estrutura egoísta de trabalho, onde cada um se preocupa apenas com seus próprios problemas, sem se dar conta que estes pertencem a todos e sem fazer idéia do que está acontecendo com o restante do projeto. Desta forma o time não colabora, não busca os mesmos objetivos e acabam transformando o desenvolvimento de software em uma atividade monótona e desmotivante.

Em tempos de fábricas de software, as atividades nunca foram tão individualizadas. Muitas empresas ainda veêm uma equipe de desenvolvimento como um conjunto de recursos, substituíveis facilmente, prontos para seguirem os guidelines, padrões e normas que juntos ajudam a eliminar qualquer forma de inovação que poderia emergir.

A comunicação é a ferramenta fundamental para ter sucesso em qualquer projeto. Através dela é possível transformar complexidade em realidade, unir o time e fomentar a motivação.

Rodrigo Branas Comunicação

Conferences perceptions - Agile2009

22, outubro, 2009

Now that most of the labor related to the two best conferences that I’ve ever been has gone, I’ll take time to organize my thoughts and share with you. I’m talking about Agile2009 Conference that took place in Chicago, which I had the opportunity to work as a volunteer, and Ágiles2009, the second Latin American Conference about agile methodologies. This last one took place in my beautiful Florianópolis, and I had the honor to be the Chairman. I’m gonna first describe my experience about Agile2009 in Chicago.

“I’m gonna write in English from now on in order to make it possible to friends that I’ve made abroad communicate with us through this blog.”

I’ve really learned a tremendous amount of new things this year, specially  by dedicating a considerable part of my time working to make these conferences a great experience to myself and to everyone that had the opportunity to attend to them.

Volunteers applying Lean Principles

As a volunteer in Chicago, I could work on the backstage of the one that is the most famous agile conference in the world, and learn how they’ve organized such a great conference. I could then apply what I learned in the Ágiles2009 organization. As I’ve never organized a conference before, every detail that I could learn in Chicago was tremendously valuable for me. One of the greatest experiences I had there, was applying Lean principles in the bag assembly. We, as a whole team of volunteers, created a production line, applying the concepts of continuous flow and an integrated chain of material suppliers. Also, sometimes we used the stop the line concept during the work, aiming to continuously improve the process. One of the goals for this production line was to keep small inventories of materials in the assembling line.

I remember that there was a box full of books boring me in my way, therefore preventing me to be faster. I was not responsible to provide materials for the production line, this was a task of another group of volunteers. My job was to work in the production line assembling bags. As that box was really boring me, I decided to stop what I was doing, take the books out of the box and put them in the production line. Then, the guy who was responsible to keep the inventory in the production line arrived with another bunch of books and noticed that something was wrong. There was too many books in the line now. He looked to me with that face, and I said: opssss! I broke the system :s - sorry. This was one of the times that we stopped to analyze the root cause of the problem and improve the system. That box placed in the wrong place was the root couse of the problem. It was very funny, productive and an outstanding way to check out new Lean ideas, while working and making new friends.

What we brougt from Agile2009 to improve Ágiles2009

090825_0939-agile-2009-085162

Keynote - Alistair Coockburn - photo by Tom Poppendieck

The Agile2009 conference joined more than 1.300 professionals that were there to learn, teach and to improve their networking. With this big number of people, keeping things flowing smoothly amongst speakers, volunteers, organizers and attendees is a really hard job, and I also wanted to learn how they did that. This conference is incomparable with Ágiles2009 in terms of budget, structure and size. Consequently, it’s a perfect place to learn from. I can securely affirm that the success of the volunteers organization at Ágiles2009 came from what I learned at Agile2009 as a volunteer. I just gave the tips to the volunteers leads and they have really done a good job. Thank Alex, Rafael and all the team for that. The Jam Session we had at Ágiles2009 was a smaller and different version of the Music Mastik that we had in Chicago. And the open spaces that we created for Ágiles2009, well, this idea originally was created in the first Ágiles2008, but I also saw that in Chicago, and wanted to repeat at Ágiles2009. One of the most famous guy that used this space was Brian Marick while pair programing with other guys. Awesome!  I want these conferences to be a great place for management to learn, but also a perfect environment to geeks dig deeply into the code and really do agile development.

In Chicago I could meet and talk to gurus such as Alistair Cockburn, Martin Fowler, Diana Larsen, David Hussman, Brian Marick and several other guys that are my favorites sources of knowledge.

Brazileiros com Alistair

From Left to Right, Pedro and Thiago from São Paulo, Eduardo a very nice guy that is from Floripa but lives in Chicago, Alistair Coockburn, Rodrigo and Samuel from OnCast and Hugo from São Paulo.

Another priceless opportunity was to meet again Mary and Tom Poppendieck, and to have a break fest at the venue with them. Rodrigo (my partner) and I enjoyed this time to talk about what would be the best release time-frame for a complex product that we want to develop at OnCast. With this conversation we discovered that our thoughts regarding release time were correct ;)

Also, as I’m a wannabe photographer, I asked some questions to Tom about what would be the best first professional camera to buy, and following his suggestions I bought a Cannon Rable XS before leaving Chicago.

Tom and I

Me getting photografic tips with Tom Poppendieck

I’ll soon take more time to post more information about the specific sessions that I’ve attended at both conferences, as well as to dedicate a post like this to Ágiles2009. Hope you enjoyed this first introduction.

Samuel Crescêncio Comunicação

Os 4 Estágios

4, setembro, 2009
Há algum tempo estou me preparando para enfrentar a preguiça e retomar o hábito de postar minhas visões e experiências. Acredito que não só o momento bom que estou passando como também o tema em que vou abordar neste post são um grande incentivo para que eu possa estabelecer novamente o hábito de escrever e de quebra compartilhar as 4 fases necessárias para se tornar “inconsciente e habilidoso”, seja no esporte , no trabalho, na implantação de uma metodologia ágil ou em qualquer outro campo. Vou tentar de forma consciente, explicar algo que acontece durante o período de inconsciência desde que você tenha por hábito a consciência. (trocadilho para engordar o post.. :P).
Antes de começar, devo esclarecer que quando digo inconsciente, estou me referindo a deixar-se levar pela rotina diária, de forma automática, baseado em conhecimentos passados ou sem atinar-se de que está fazendo a mesma coisa repetitivamente e esperando resultados diferentes. Devo também esclarecer que li sobre estes estados no famoso e recomendado livro “O Monge e o executivo” e por isso resolvi fazer essa contextualização com base na minha experiência com Scrum.
1ª fase : Inconsciente e sem habilidade

São as empresas/pessoas que desconhecem as metodologias ágeis(inconsciente) E nunca colocaram em prática (sem habilidade). Estas geralmente estão sendo movidas no automático em vez de manual e estão inteiramente dependentes das variações do mercado. Por ser um estágio inicial em que não se visualiza nada e nem problemas para resolver é bem provável que qualquer tentativa de mudanças por terceiros cause muita discussão, mas isso é inevitável, visto que a consciência é o requisito mínimo para avançar a próxima fase.

2ª fase : Consciente e sem habilidade

As Empresas/Pessoas que reconhecem este estado estão sempre buscando novos caminhos e trazendo o que há de melhor para o seu estabelecimento. É quando se toma consciência de que há um problema mas não sabe como fazer para resolve-lo, então começa a buscar e visualizar as possíveis soluções com maior abertura a mudança. As coisas aqui soam um pouco surpreendentes por conta da consciência adquirida e a falta de habilidade para a execução. É o estado em que as empresas/pessoas procuram por auxílio externo para aplicar uma nova forma de trabalho que traga resultados palpáveis à empresa.

3ª fase : Consciente e habilidoso

Aqui é onde começamos a visualizar o ROI das ações que tomamos durante os estágios passados acrescidos da habilidade de praticar que adquirimos. Assim acontece nos primeiros meses após a aplicação do Scrum , somos capazes de palpar as mudanças e os benefícios trazidos pela metodologia, mas ainda não transformamos todo esse conhecimento e habilidade em uma cultura dentro da organização. Não temos de fato uma mudança cultural na empresa e nas pessoas que a compõem.
Este é um estágio perigoso em que temos sinais de que as coisas mudaram para melhor e que já existe de fato um processo consolidado. Entretanto, o excesso de confiança pode colocar tudo a perder. É aqui que entramos no quarto e último estado.

4ª fase : Inconsciente e Habilidoso

É a fase onde consolidamos uma cultura, um hábito ou mesmo um condicionamento. O aprendizado chega a nível celular e se torna parte do nosso comportamento ou como o quarto estágio sugere “Inconsciente e Habilidoso”. A partir deste momento, os resultados positivos do Scrum passam a não ser mais uma surpresa para a empresa/pessoas. As coisas simplesmente acontecem.
É importante lembrar que o quarto estágio é apenas o fim de um ciclo que se repete constantemente e evolutivamente. Portanto, ao deparar-se com problemas aparentemente sem solução, talvez seja importante reler este post para recomeçar o processo de tomada de consciência.
Estes 4 estágios retratam bem as fases necessárias para se atingir a excelência na implantação e manutenção de metodologia ágeis como o Scrum. É inegável que há muitas coisas a dizer nas entrelinhas deste tema, mas isso fica para os próximos posts. : )

Valder Zacarkim Comunicação

Agile Needs Courage

23, maio, 2009

Um processo ágil não depende somente de ferramentas, boas práticas de engenharia ou mesmo de planejamento. Muito mais do que isso, precisa de pessoas com uma mentalidade ágil, pois são as peças fundamentais desse processo. Já diz o nosso bom e velho manifesto ágil: “Indivíduos e interação entre eles mais que processos e ferramentas”.

Mas o que é preciso para ser uma pessoa ágil? É preciso se comunicar, dar feedbacks, assumir  responsabilidades, ter espírito de equipe e acima de tudo ter coragem. A coragem promove a melhoria contínua (que não acontece sem coragem para mudanças), melhora a comunicação entre os indivíduos, faz com que as pessoas assumam suas responsabilidades, discutam seus erros, critiquem suas práticas.

A coragem é um dos ingredientes de um planejamento ágil de sucesso. A equipe passa a confiar nas suas estimativas, expôr para o product owner os problemas, alertar sobre possíveis impedimentos, aumentando a confiabilidade da equipe perante a ele. Assim funciona com o PO também: sem coragem, não é capaz de priorizar de acordo com seu real conhecimento do projeto, aderindo facilmente a pressões externas - vindas do setor comercial, por exemplo - delegando toda a pressão para a equipe. Isso expõe o projeto a certos riscos, mudando o escopo várias vezes por qualquer motivo (ou pressão), perdendo o foco, priorizando escopo daquela famosa categoria dos 80% de funcionalidades que geram somente 20% do valor.

Vale o cuidado com a utilização errada da coragem para não querer se tornar um “herói”! Afinal os heróis trabalham sozinhos e não se preocupam com a equipe, podendo até prejudicar um objetivo comum por tentar fazer tudo sozinho, querendo mostrar seu valor. Uma equipe unida e corajosa vale muito mais que um exército de heróis!

Vitor Pelizza Comunicação

Planning Poker Online!

21, maio, 2009

Com certeza um dos momentos mais interessantes do planejamento é a hora de estimar as estórias! As melhores estimativas surgem quando o escopo da estória é bem discutido entre os membros do time e cada um defende fortemente suas opiniões sobre como alcançar os objetivos.

Ferramentas como o Planning Poker são alternativas muito interessantes para prender a atenção do time e motivar todos a pensarem e participarem ativamente do processo de estimativa de cada estória em vez de aceitar passivamente o que os outros decidirem.

Em http://planningpoker.com/ é possível criar as estórias e adicionar os participantes!

Planning Poker Online!

Planning Poker Online!

O bom e mais ou menos velho baralho sempre terá seu valor, no entanto esse tipo de ferramente pode facilitar e simplificar ainda mais o processo, trazendo mais interatividade, estimulo e união para todo o time!

Rodrigo Branas Comunicação, Ferramentas

Sprint Planning 2 vale a pena?

11, maio, 2009

Não é raro observar em iterações onde o Sprint Planning 2 não foi feito, problemas como: estimativas parciais, daily meetings mais longas e menos objetivas, impedimentos descobertos tarde demais e falta de alinhamento do time em relação ao que deve ser feito em cada estória.

O Spring Planning 2 é o processo no qual toda a equipe junta percorre os itens do selected backlog, entende o que se espera de cada estória e pensa em questões como: Quais classes devem ser criadas? Quantas camadas do sistema serão impactadas? Impedimentos? Quais tabelas do banco de dados serão atualizadas? Que telas devem ser criadas? Quantos testes unitários devem ser feitos? Qual é o critério de aceite? …

Após esse processo, os cartões de atividades serão criados e o time todo estará mais alinhado com o que deverá ser feito para atingir o objetivo em cada estória.

Lembra aquela estimativa que foi feita no Sprint Planning 1? Após todo esse processo, ela ainda continua válida? Muitas vezes ela precisa ser alterada e isso é necessário para garantir que o time se comprometa com entregas que ele realmente tem a capacidade de fazer.

Durante as Daily Meetings, que devem ser de curta duração e se restringir a responder as perguntas objetivas: o que foi feito ontem? o que será feito amanha? existem impedimentos afetando o desenvolvimento da estória?

Não é incomum notar estórias decompostas de forma inadequada ou até atividades criadas “on the fly” (durante a própria Daily Meeting) e com isso dificultando as respostas básicas e objetivas para ter um processo ágil e transparente. Além disso, evita explicações acerca do escopo da atividade, já que todos sabem pois também fizeram parte do processo de definição de todas as atividades.

Falando em impedimentos, será que não é tarde demais para pensar neles? Imagine uma iteração de 3 semanas. O que acontece se na última semana, quando uma estória foi decomposta em atividades, “apareceu” um impedimento que já poderia estar sendo resolvido desde o início da iteração. Agora existe a possibilidade de não entregar mais a estória porque pode não existir mais tempo hábil para resolvê-lo. Quanto antes os impedimentos forem descobertos mais livre será o caminho para fechar a estória, com menos interrupções e mais motivação.

O que mesmo precisa ser feito nessa estória? Perguntas como essa sempre surgem no meio da iteração, afinal ninguem mais lembra da reunião com o Product Owner e detalhes importantes do escopo da estória acabam sendo esquecidos. Se as atividades tivessem sido criadas enquanto todo esse conhecimento ainda é recente na mente de cada integrante do time, questionamentos poderiam surgir e ajudar a entender melhor o objetivo de cada estória que deverá ser desenvolvida ao longo da iteração.

Rodrigo Branas Comunicação, Riscos

Trabalhando com fatores motivacionais em uma equipe ágil

8, maio, 2009

 

A queda da produtividade do time pode ter suas origens em fatores motivacionais. Percebê-los a tempo é fundamental para que medidas corretivas possam ser tomadas a tempo de restabelecer o foco do time, eliminar o desperdício e reduzir o risco de não conseguir entregar o que foi combinado com o cliente no final da iteração.

Vários fatores podem causar a desmotivação de uma parte ou até de todo o time durante uma iteração. Estórias sem um objetivo claro, atividades decompostas de forma inadequada, complexidade e impedimentos constantes são fatores que podem ser resolvidos pelo próprio time antes e durante o processo de desenvolvimento, evitando a queda de produtividade e de motivação.

Uma estória sem um objetivo claro, pode levar o time por caminhos incertos, causando retrabalho, ao invés de convergir toda a sua força produtiva para contribuir com o aumento do progresso da iteração. As reuniões de planejando têm seu papel fundamental na extração do máximo de informações acerca do escopo de cada estória, tornando o processo de desenvolvimento objetivo e reduzindo a possibilidade de estimativas equivocadas.

Mesmo em uma estória onde não existem duvidas em relação ao que deve ser feito, a forma como a decomposição das atividades é feita serve para guiar o time em meio ao escopo definido, antecipando possíveis impedimentos que podem ocorrer. Além de contribuir positivamente com o foco no que deve ser desenvolvido, é possível mensurar o progresso da estória de uma forma mais precisa, prevendo os atrasos e adiantando as medidas corretivas que podem ser executadas para mitigá-los e garantir a entrega no final da iteração.

Impedimentos podem impactar fortemente a produtividade do time durante uma iteração. Após decompor as estórias é possível, salvo nas primeiras iterações, identificar atividades criticas que possam impedir o desenvolvimento da estória. Antecipar esses impactos é fundamental. Paralelizar a resolução dos impedimentos das estórias seguintes com o desenvolvimento das estórias atuais abre caminho para o processo produtivo seguir livremente, com menos interrupções.

Manter um canal de comunicação sempre aberto, ajuda a diminuir o risco de deixar que problemas se agravem e comprometam a entrega do time no final da iteração. Quando todos se envolvem e passam a agir como uma equipe comprometida, as barreiras técnicas são superadas, os impedimentos são resolvidos mais facilmente e os bons resultados vêm naturalmente.

Rodrigo Branas Auto-gestão, Comunicação

Métricas de qualidade das estimativas

14, abril, 2009

Um dos problemas mais críticos de um projeto é quando o cronograma foge do controle do time e as estimativas revelam-se erradas e sem maturidade. Isto demonstra que os processos utilizados para chegar a elas podem ter falhas. Frente a problemas como este, é importante ir fundo nas suas causas e planejar que tipo de melhorias podem ser feitas para tornar as próximas iterações bem sucedidas.

Nas primeiras iterações, é inevitável. De certa forma, é esperado que as estimativas não sejam realista por motivos como: desconhecimento do escopo, novas tecnologias e falta de entrosamento da equipe. Esses fatores reunidos, ocasionam a falta de estimativas confiáveis e o desconhecimento da velocidade real do time.

Com o passar do tempo, a fluência da equipe aumenta e é possível confiar mais no que está sendo estimado e  se comprometer com uma quantidade de trabalho, tendo a confiança de poder entregá-la com qualidade e dentro do prazo combinado.

Entretanto, é comum ver projetos já avançados com problemas no cronograma. Atrasados ou adiantados, ambos os casos são ruins. Demonstram que o processo de desenvolvimento tem problemas e que o time pode nao estar conseguindo mensurar corretamente o risco existente em cada estória.

Por isso, é importante recolher métricas, constantemente, para uma melhoria continua dos processos ligados a às estimativas. Depois de cada Daily Meeting, podemos avaliar de uma maneira simples e direta, seja marcando no próprio cartão ou em uma planilha, os resultado das estimativas. Caso elas tenham se cumprido, devem ser consideradas adequadas, caso contrário, baixas ou altas. Também é interessante ter algumas observações referentes aos motivos dos problemas, se for o caso.

Idealmente, a produtividade que foi acordada no inicio deve variar pouco, mostrando que o time é capaz de manter processos sustentáveis de desenvolvimento. Apesar de ser bom manter uma reserva gerencial, ou gordura, para se resguardar de quaisquer problemas que possam acontecer em durante a iteração, se este for um hábito constante, pode acabar ocasionando gráficos parciais e dados irreais, além de um processo opaco tanto para o time quanto para o cliente.

Analisando o gráfico, após uma iteração problemática, é possível notar os pontos que fizeram com que a iteração não fosse bem sucedida. As métricas das atividades fechadas nos dias em que a produtividade oscilou de forma acentuada devem ser analisadas com cuidado. É provavel que essas estimativas estejam marcadas como baixas ou altas, e com o objetivo de melhorar no futuro, podemos nos aprodundar nos motivos que causaram estes desvios.

Se as estimativas foram altas, medidas como planejar escopo extra ou antecipar estórias de alto risco podem ser interessantes para agregar mais valor à iteração e garantir uma entrega completa e com qualidade. É interessante justificar para o cliente que as superestimativas decorrerem de novas abordagens tecnológias ou de negócio do projeto, ou seja, frente a um risco que teve que ser considerado, com isso o time vai ganhar mais maturidade e com a lição aprendida vai saber lidar com situações parecidas em futuras iterações. Entretanto, caso não existirem motivos suficientemente justificados para elas, uma conscientização do time, acerca do problema e de como poderá afeta a imagem do time perante o cliente, deve ser feita.

Por outro lado se ocorrerem estimativas baixas, isso pode refletir um desconhecimento das técnologias envolvidas ou do negócio, comum no inicio do projeto, e isso vai trazer também maturidade para o time da mesma forma que aconteceu com as superestimativas. Caso as estórias sejam livres de débitos relacionados à novas técnologias ou escopo ainda não trabalhado, uma análise dos impedimentos que podem ter ocorrido durante o desenvolvimento é fundamental para identificar que ações corretivas que foram tomadas no momento em que os problemas aconteceram, e se ajudaram a evitar a queda de produtividade do time. No primeiro sinal de queda da produtividade por problemas de impedimentos é importante parar a atividade até que os impedimentos sejam resolvidos para evitar a desmotivação do e desperdicio do esforço do time, que poderia estar sendo convergido em estórias sem impedimentos.

Caso a desmotivação já tenha dominado o time, tomar medidas corretivas como pair programming ou move people around, podem ajudar a subir a moral do time e estabilizar o processo produtivo.

Com a obtenção e avaliação desse tipo de métrica, podemos entender melhor cada movimento que o gráfico realizou e como isso afetou a iteração e assim o time poderá se desenvolver de uma forma mais transparente,  madura e produtiva, com um alto grau de confiabilidade tanto nas estimativas, quanto na garantia da entrega do que foi assumido com o cliente, aumentando a confiança de ambos os lados e gerando novas oportunidades de negócio para a empresa.

Rodrigo Branas Comunicação, Riscos

Comunicação e Código

5, abril, 2009

Comunicação e código? Por que o primeiro post neste blog falaria sobre algo tão distante de código como comunicação? E comunicação aqui não é nenhum protocolo utilizados em dois sistemas ou duas camadas, é comunicação entre pessoas mesmo.

O problema está justamente aí, comunicação e código são distantes nos paradigmas atuais de engenharia de software, principalmente nos mais tradicionais. Imagine um processo onde uma pessoa tem uma visão sobre um sistema informatizado, ele escreve esta visão, outra pessoa a lê, analisa e escreve outro documento detalhando o que o sistema deve fazer para atingir esta visão. Uma terceira pega este segundo documento, lê e implementa. Que tipos de problemas temos neste modelo de comunicação? Leia mais…

Rodrigo Machado Comunicação