Métodos Ágeis
#FISL 13: Agilidade e software livre na globo.com

Assim como no ano passado, o pessoal da Globo.com fez uma ótima palestra. O Demetrius Arraes Nunes mostrou como migraram das soluções proprietárias para livres, comentando ainda sobre o processo de adoção de métodos ágeis para a gestão das equipes e seus resultados. Vamos aos detalhes.
- Até 2002, utilizavam software proprietário, desde o hardware de balanceamento de carga até o servidor web e de banco de dados;
- Servidores Sun com Solaris, Oracle Weblogic, Vignette e Java (antes de ser open source);
- Atualmente, a maior parte da estrutura é baseada em software livre, restando ainda o banco de dados, onde a Oracle ainda mantém “uma perninha”;
- Linux nos servidores (HP, Dell e IBM), Apache e NGINX, MySQL, MongoDB, REDIS, Virtuozzo, Ruby, PHP, Python, Django, WordPress, GloboCMS, Varnish;
- Destaque para o appliance com Varnish que eles montaram, que escalou melhor que soluções proprietárias, e rendeu um prêmio no Cisco Networkers de 2010;
- É esta estrutura baseada em software livre que suporta os 5 bilhões de pageviews/mês e 220 milhões de vídeos vistos;
- O Demetrius fez questão de comentar que a Globo.com usa software livre porque é melhor;
- Assim como no ano passado, fizeram questão de comentar sobre a transmissão da copa de 2010, que registrou pico de 302 mil transmissões simultâneas e chegou a ser responsável por 15% da banda no país;
- São mais de 300 profissionais envolvidos;
- O vídeo das empreguetes teve 7 milhões de visualizações somente na 1ª semana, e o BBB é o maior site da internet brasileira, com 380 milhões de visitas e 220 milhões de vídeos visualizados por mês (triste isso…);
- Eles têm uma preocupação muito grande com a experiência do usuário (UX – User Experience);
- São mais de 15 milhões de linhas de código, mais de 2000 servidores;
- Utilizam métodos ágeis (SCRUM com ciclo de 2 semanas), o que permitiu desfazer a separação entre criação e tecnologia que havia antes, de forma que hoje as equipes trabalham com maior interação. Mostraram um time lapse de um dia de trabalho da equipe;
- Buscam transparência nas equipes;
- Todos têm notebooks (mobilidade);
- O “Espaço Lounge” oferece jogos, integração, etc;
- O RH promove atividades de integração, que incluem um dia para ser o que quiser na empresa, ocupar o cargo que desejar e fazer o trabalho “pra valer”, numa técnica chamada FedEx Day que visa promover inovação, e incentivam qualificação (MBA, Mestrado, participação em eventos, etc);
- Agile e Software Livre: tudo a ver!
- Princípios ágeis
- Software funcionando;
- Mudanças são bem vindas;
- Releases frequentes;
- Colaboração com cliente;
- Auto-organização;
- Auto-motivação;
- Excelência técnica (aspecto destacado pelo Demetrius sobre os profissionais que trabalham com software livre);
- Princípios ágeis
- 3 lições
- Money Talks – 50% de redução nos custos;
- Open Source é menos arriscado;
- Open Source significa mais qualidade – péssima experiência com suporte da Oracle, ótima experiência com comunidades;
- Retribuindo
- Mais de 30 projetos ativos;
- Thumbor – processamento de imagens para portais;
- Splinter – testes de interface;
- Stewie – monitoramento de anomalias;
- Tsuru – computação em nuvem;
- Bootstrap – front-end accelerator;
- nginx-push-stream – HTTP streaming;
- http://github.com/globocom
Sem querer chover no molhado, mas penso que podemos inferir pela experiência da Globo.com que não é necessário ser xiita ou lunático pra perceber as vantagens do software livre. Parabéns pra eles!
#FISL 13: #Scrum com #Kanban – pequenos ajustes, grandes melhorias

O Paulo Caroli (@paulocaroli) fez uma palestra interessante, “Scrum com Kanban – pequenos ajustes, grandes melhorias“, onde mostrou como as duas técnicas podem ser aplicadas em conjunto com ótimos resultados. Vamos às observações.
- A idéia do KANBAN é garantir uma experiência mais visual do fluxo de trabalho (workflow);
- Limitar trabalho em andamento (WIP – Work in Progress) é interessante pois melhora os resultados, aumentando as entregas, uma vez que a equipe não inicia mais tarefas do que consegue concluir;
- A idéia do SCRUM é estabelecer um processo de desenvolvimento iterativo e incremental, com ciclos ou sprints (2 semanas é comum), e tem origem com Frederick Taylor, cujas idéias influenciaram Henry Ford e definiram uma maneira de administrar empresas aplicada até hoje, que inclui a idéia de linha de produção/montagem e workflow (sequência de passos executada por uma pessoa ou time para atingir um objetivo);
- User stories – conceito que se refere aos requisitos gerais de projeto, quebrados em partes menores visando facilitar a entrega;
- Workflow visível – exibir num quadro branco uma tabela com as fases do workflow, onde cada coluna é populada com post-its relativos a cada user story, ou seja, ficam visíveis as tarefas “não iniciadas”, “em andamento”, “em teste”, etc;
- O modelo tradicional de desenvolvimento segue a lógica “Push the Work“, em que alguém “atribui” as tarefas, “empurrando” o trabalho para os profissionais;
- O modelo recomendado, segundo o Paulo, é o “Pull don’t Push“, em que o profissional decide o que quer fazer depois que termina cada tarefa;
- Algumas estatísticas interessantes obtidas usando Scrum com Kanban:
- Lead Time – tempo para terminar um trabalho;
- Cycle time – intervalo entre duas entregas consecutivas;
- WIP – controlar número máximo de tarefas em andamento;
- Quanto maior o Lead Time, pior a qualidade, e quanto menor (mais rápido), mais qualidade (curioso, não ?);
- O WIP é proporcional ao Lead Time médio, e limitar o WIP permite equilibrar o workflow, pois alguém de uma “coluna da tabela” pode ajudar na outra. Exemplo: um desenvolvedor (coluna “em andamento”) pode ajudar um testador (“em teste”) caso haja muitas entregas a testar, aumentando a quantidade de entregas prontas;
- Filosofia: “Stop starting, start stopping“
Como completo ignorante em SCRUM, a palestra foi bem instrutiva pra mim, e achei bem interessante a idéia de usar SCRUM com KANBAN.
ITIL ou DevOps? O que você precisa saber sobre dois dos métodos mais adotados do mundo!

O que é ITSM?
“A abordagem padronizada pode ser adaptada por organizações individuais como base para os seus processos próprios, repetitivos.”
ITIL | DevOps | |
Optimizado para | Economia de escala | Velocidade para o mercado |
Despesas de execução | Alta | Baixa |
Tempo para execução | 2-3 anos | 6 meses+ |
Níveis de pessoal necessário | Médio para Alto | Baixo para Médio |
Estabilidade | Bem estabelecida | Ainda em evolução |
Habilidades de mercado disponíveis | Amplamente disponível | Poucos, mas em rápido crescimento |
Melhor para | Processos padronizados, repetitivos | Inovação |
#Mitos sobre #produtividade
Este texto é uma tradução livre do original do Lifehacker. Mito 1 – É necessário acordar cedo para ser produtivoHá estudos que revelam que pessoas que acordam cedo tendem a ser pró-ativas, obter melhores notas na escola, o que as leva a melhores universidades, e melhores empregos. Por outro lado, pessoas que acordam mais tarde são mais criativas, espertas, têm mais senso de humor.Entretanto, outro estudo mostra que o mais importante é trabalhar nas horas certas, ou seja, nas horas em que você é mais produtivo, seja cedo ou tarde. Organize-se para fazer o “trabalho duro” nas horas produtivas, e deixar atividades menos complexas para outros horários.Mito 2 – Trabalhe além da exaustãoEstudos já desfizeram este mito há tempos, e deixam claro que, quando se sentir cansado, a melhor coisa é fazer uma pausa, “desligar um pouco”, ou se dedicar a outra tarefa, enfim, qualquer coisa que ajude a mudar o foco e recuperar energias para retomar seus objetivos e concluir aquele trabalho.Nossa força de vontade é limitada e deve ser usada com sabedoria.Mito 3 – Múltiplos monitores aumentam/diminuem a produtividadeUsar mais de um monitor pode ser mais produtivo ou não, mas tudo depende do seu perfil. Não se trata de verdade absoluta.Além disso, um dos estudos que apontava o uso de vários monitores como sinal de produtividade foi patrocinado pela Apple e coincidiu com o lançamento de seu Apple Cinema Display. Outro foi patrocinado pela NEC, fabricante de monitores.De todo modo, há estudos que indicam que o uso de mútiplos monitores, ou monitores maiores, pode aumentar a produtividade se o seu trabalho pode ser beneficiado por mais “espaço visual”. Minha experiência mostra que, quando precisamos lidar com várias tarefas ao mesmo tempo, como é o meu caso, mais de um monitor pode fazer bastante diferença.Mito 4 – O excesso de informação está nos tornando burros (desconecte da web para ser produtivo)A Internet pode nos fazer lembrar menos coisas, afinal basta lembrar como acessar o Google, né ? Mas isto não significa que estejamos ficando menos inteligentes, apenas mais preguiçosos, talvez.Por outro lado, a Internet traz, de um modo mais fácil do que nunca, uma infinidade de possibilidades de distração, o que pode fazer com que pessoas desorganizadas ou descontroladas “se percam” vagando pela web indefinidamente, destruindo completamente sua produtividade. Mas isto não é culpa da web, é culpa sua, que não consegue manter o foco. Se necessário, há inúmeras ferramentas na própria web que ajudam a manter o foco numa tarefa.Einstein dizia que não precisava saber “de cabeça” a velocidade da luz, pois esta informação estava disponível nos livros. É por aí.