Archive for the ‘Agile’ Category

Globo Vídeos para iPhone/iPod touch

Friday, September 26th, 2008

Globo Vídeos iPhoneÉ com orgulho que anuncio, no dia do lançamento do iPhone no Brasil, o lançamento da versão iPhone/iPod touch do Globo Vídeos.

A infraestrutura e o site estavam prontos desde maio e o seu desenvolvimento se deu em aproximadamente 1 mês pela nossa equipe agile de Tecnologia WebMedia. Além de oferecer vídeos no formato H.264 para o QuickTime, o site apresenta uma interface otimizada para o Safari Mobile, aproveitando vários recursos legais desses dispositivos.

Além disso, possibilitamos que iPhones/iPods toquem vídeos nas versões clássicas dos sites que possuem o nosso player embed, incluindo o Globo Vídeos. Como o Safari Mobile não suporta Flash, quando acessado a partir de um desses dispositivos, o nosso player agora é exibido em uma versão não-Flash, servindo formato de vídeo H.264 em vez do flv normalmente oferecido.

Globo Vídeos

Mudando as regras do jogo

Monday, August 4th, 2008

Quantos daily meetings deve haver por sprint? Este trecho retirado do livro Agile Project Management with Scrum sugere que deve haver um daily meeting por dia de sprint.

The Team members have two administrative responsibilities during the Sprint: they are to attend the Daily Scrum meeting, and they are to keep the Sprint Backlog up-to-date and available in a public folder on a public server, visible to all.

Além do mais, o diagrama abaixo indica que deve haver daily meeting apenas em dias de sprint:
scrum
O que acontece é que no último dia do sprint podem ainda existir estórias não finalizadas. Para que todas elas sejam colocadas no status done, alguns times costumam fazer um daily meeting extra no dia seguinte ao fim do sprint.

O ideal no Scrum é não iniciar uma estória enquanto outra ainda está em andamento - fazer item por item. Por outro lado, cada membro do time tem sua especialidade e pode escolher que tarefa irá fazer. Talvez um determinado membro queira assumir uma tarefa de uma outra estória que não a que está sendo trabalhada no momento, pulando tarefas da estória atual e quebrando assim essa regra. Qual é a coisa certa a fazer neste caso?

O que essas duas questões têm em comum? Ambas exploram as características empíricas e adaptivas do Scrum. Mas até que ponto as regras podem ser mudadas?

If someone wants to change the rules, use the Sprint retrospective meeting as a forum for discussion. Rule changes should originate from the Team, not management. Rule changes should be entertained if and only if the ScrumMaster is convinced that the Team and everyone involved understands how Scrum works in enough depth that they will be skillful and mindful in changing the rules. No rules can be changed until the ScrumMaster has determined that this state has been reached.

Eu acredito muito no que diz este trecho desse mesmo livro. Ele sugere que as regras podem ser livremente mudadas, desde que o desejo parta do time e que o time já entenda bem o processo. Isso serve para garantir, entre outras coisas, que mudanças nas regras não engessem o processo. Além disso, ao meu ver, quando o time já tem no sangue os princípios ágeis, dificilmente uma mudança representará um retrocesso. Somente quando o time atinge esse grau de maturidade, adaptações às regras podem e devem ser feitas.

Selenium IDE && ( XPather || Firebug )

Wednesday, May 7th, 2008

Neste post inaugural, vamos demonstrar uma maneira de facilitar o trabalho de implementar testes de aceitação automatizados usando a extension Firefox Selenium IDE. Para ilustrar, tente fazer com o Selenium algum tipo de ação ou asserção sobre algum dos links da parte inferior do site www.google.com, por exemplo. Basicamente, há duas opções neste caso: ou clicar no link (com o botão direito ou esquerdo do mouse) para registrar uma ação/asserção, o que faz com que o Selenium automaticamente escreva um trecho de script, ou você pode escrever o script na mão. A primeira opção tem uma desvantagem: o Selenium poderá gravar como identificador do link o texto do link. Se o texto deste link mudar freqüentemente no site, você não vai querer identificá-lo desta maneira. A segunda opção sempre permite que você faça essa identificação pelo posicionamento desse elemento na árvore DOM do documento, por XPath.

No screencast abaixo, vamos demonstrar como o uso de duas outras extensions Firefox, o XPather e o Firebug, ajudam a descobrir rapidamente os XPaths dos elementos ao escrever os scripts.

Obs.: É necessário acrescentar uma barra (/) no início do XPath gerado para que o Selenium entenda.

P.S.: o Firebug é indispensável para uma infinidade de outras coisas. Portanto, se você gostar do XPather, mantenha as duas extensions instaladas. ;)