Certified Scrum Trainer

Como eu disse no meu ultimo post, na semana passada estive em Recife para apresentar a experiência da Globo.com com Scrum. No final do evento, tive a grata surpresa de ser convidado pelo Boris para fazer parte do seu programa de mentoring com o objetivo de me tornar um Certified Scrum Trainer.

O programa tem um ano de duração, durante o qual eu acompanharei o Boris, ajudando nos seus treinamentos com uma participação cada vez maior, até estar apto a realizar todo o treinamento.

O primeiro passo foi dado nesse fim de semana quando fui à São Paulo, para ajudar o Boris num treinamento CSM aberto. A idéia era chegar na sexta-feira pela tarde para poder fazer a programação do sábado com o Boris no fim do dia, mas devido ao tempo ruim no Rio de Janeiro, o Galeão ficou um bom tempo fechado e acabei chegando em São Paulo muito tarde. Por conta disso tive que fazer a minha parte de improviso.

Durante o treinamento, Boris me pediu para explicar a dinâmica do Wall-Board e no final, quando ele falou sobre como escalar Scrum, tive a chance de mostrar como estamos tratando esse asunto na globo.com com 17 times atualmente.

Foi muito gratificante ver como o Scrum está se difundindo rapidamente no Brasil além de poder trocar ideias com o pessoal da Abril Digital, Instituto Nokia de Tecnologia, Weg e Motorola. Sorte a todos!

PS: ao pessoal que assistiu o treinamento, gostaria muito de ter um feedback sobre minha apresentação e como posso fazer para melhorar. Fiquem a vontade para escrever nos comentários.

Scrum & CMMi

Na última sexta-feira ( 23/05/08 ) estive em Recife para apresentar a experiência da Globo.com com Scrum.

O Objetivo do evento era discutir até onde Scrum e CMMi eram compatíveis ou antagônicos, e para isso tivemos presenças dos dois lados da moeda.

Boris Gloger concluiu o evento com sua exposição Scrum = CMMi?! A provocation to see the truth”, seguido de um debate/Q&A com o Renato da ISD Brasil.

Em sua apresentação, Boris que além de Certified Scrum trainer também já foi Certificado em CMMi, diz que no nível conceitual Scrum e CMMi são iguais, porém suas implementações no nível tático são totalmente diferentes. Boris recomenda CMMi para corporações grandes e estáveis, onde faz sentido a definição de processos formais que quase não mudam com o passar do tempo. O último slide da sua apresentação resume bem isso. Outro ponto interessante foi a observação de que as novas organizações tendem a ser pequenas, distribuidas e guiadas por mulheres, fato que teve bastante apelo para uma platéia de 68 mulheres e 99 homens.

- Pra quem está procurando uma ferramenta para ajudar a organizar a vida do Scrum Master fica aqui a dica de uma ferramenta promissora, o Fire Scrum produzido pelo pessoal do C.E.S.A.R e liberado sob a licença GPL. Apesar de eu achar que nada substitui o quadro branco com os post-its colados nele, quando se tem muitos times num mesmo projeto, ou times com membros distribuídos fisicamente, uma ferramenta como essa passa a ser fundamental.

- Os slides da minha apresentação estão disponíveis aqui:

pra quem assistiu minha apresentação, dúvidas e comentários são muito bem vindos! Principalmente comentários que me ajudem a melhorar para as próximas.

- Por fim, mas não menos importante, queria agradecer a todo o pessoal de Recife pela simpatia e gentileza com que me receberam, em especial um muito obrigado para a Teresa Maciel do SPIN-Recife, que organizou esse ótimo evento, a Isabela pela recepção, a Cidinha, Eduardo, Marco e todo o pessoal do C.E.S.A.R pelo tour e apresentações.

Product Owner Técnico??

A motivação pra escrever esse post veio de uma nobre discussão que meu amigo Guilherme Chapiewski gerou em seu blog ao fazer um post sobre o papel do Scrum Master atuando como líder técnico do time. Como o assunto é polêmico, e vou adicionar um pouco mais de pimenta, preferi fazer esse “post resposta”, pra não transformar o post do GC num fórum. ;)

<post_resposta>

Na minha opinião, uma das grandes sacadas do Scrum está justamente no fato dos papéis estarem muito bem definidos.

Durante anos a empresa para a qual eu trabalho, transformou nossos melhores técnicos em coordenadores, pois esse era o único jeito de diferencia-los do resto da equipe pelo excelente trabalho que eles faziam como desenvolvedores/arquitetos/resolvedores de problemas. E é ai que começam os problemas, pois o nosso excelente desenvolvedor senior, foi promovido a aprendiz de gestor junior e tem um longo caminho a trilhar. Mas pra complicar um pouco mais, ele não pode dedicar 100% do seu tempo as suas novas atribuições e ao seu aprendizado, porque alem de coordenador ele também é líder técnico, mete a mão na massa, faz café e chuleia, ou seja, começa a sofrer da sindrome do sofá-cama e não consegue fazer mais nada direito.

Felizmente, a menos de 2 anos atrás, nós criamos o cargo de “especialista” e agora as pessoas podem optar por seguir a carreira técnica e se dedicar aquilo que elas realmente gostam de fazer. Mas isso não resolveu o problema dos nossos amigos coordenadores que ficaram perdidos no espaço-tempo vestindo o chapéu de gestor até o meio dia e o de líder técnico depois do almoço. Isso só foi endereçado a cerca de 10 meses quando começamos a implantar o SCRUM.

Hoje temos coordenadores e até gerentes vestindo integralmente o chapel de time, analistas atuando como Scrum Masters, e todos -podendo- se dedicar 100% ao que mais gostam de fazer.

</post_resposta>

Essa polêmica toda acerca do Scrum Master técnico já foi muito bem endereçada pelo GC em seu blog. No entanto isso me fez lembrar de um tema que venho pensando há algum tempo e que deu origem ao título desse post.

Pode, ou deve, o responsável pelo retorno de investimento do projeto ser uma pessoa com excelentes conhecimentos técnicos?

Entre os papéis que o Product Owner deve exercer estão coisas como:

  • Definir as features do produto;
  • Release management;
  • responsabilidade pelo (ROI);
  • priorizar as features que tenham o maior valor de negócio;
  • aceitar ou rejeitar o trabalho feito pelo time;

Certo, olhando para isso não me parece que o P.O. precise de qualquer conhecimento técnico. Mas espere um pouco, observe como as grandes empresas que apostam no Lean Thinking constroem os seus produtos.

Vamos começar pelo criador da filosofia, a Toyota. No livro “The Machine that Changed the World”, James P. Womack explica que o elemento chave no processo de desenvolvimento de novos carros é o Shusa, uma espécie de super homem, o engenheiro chefe com excelência técnica, que mistura poderes de gestão a uma visão de mercado excepcional, para ser responsável pelo sucesso do produto. Ele tem responsabilidade e autoridade total sobre o projeto, é ele quem decide quais são as features que o carro terá e também qual será o seu custo no mercado.

O fato do shusa ser multidisciplinar, facilita a decisão rápida na hora de colocar na balança o custo de se implementar determinado requisito funcional versus o seu valor de negócio.

A Toyota é reconhecida por valorizar os seus funcionários como sendo o seu maior patrimonio, pois são as pessoas que desenham processos e produtos. E é com essa premissa que o shusa é “construído” dentro da Toyota, em geral ele é um engenheiro senior com mais de 10 anos de experiência, que então começa a ser moldado nas áreas de gestão, negócios, marketing e etc, para depois de cerca de mais 10 anos finalmente virar um shusa.

Na 3M, nosso líder é chamado de Champion e tem funções muito semelhandtes ao shusa. Todo desenvolvimento de um novo produto é liderado por uma figura dessas e um time extremamente motivado. É o Champion quem concebe o produto(sempre visando resolver um problema do cliente), escreve a sua especificação inicial, monta o time, motiva, remove impedimentos, e lídera até o delivery. O Champion é um líder técnico que consegue enxergar um problema do cliente e endereçar o mesmo com uma solução inovadora.

Como é de se imaginar, na Toyota e na 3M, a posição do shusa e do champion são altamente desejadas. Esse é o lugar onde todo mundo dentro da empresa gostaria de estar, e isso motiva novas pessoas a perseguirem esse caminho gerando uma escola natural de líderes.

Seja Shusa ou Champion, o fato é que produtos brilhantes são concebidos por pessoas brilhantes.

No início do Scrum o P.O. era visto como uma pessoa que trabalhava com uma distância grande do time, ja que a pressão que ele exercia era prejudicial ao time. Atualmente a grande missão do Scrum Master é transformar o P.O. num aliado do time.

Juntando todas essas peças, formulo minha teoria de que, se alguém além do time deve ter conhecimentos técnicos, esse alguém é o P.O.. Ele sim deve ser um grande líder, com experiência técnica em alguma área funcional, que direciona o time pela competência, motiva e entusiasma. É a pessoa na qual o time se espelha e briga pra fazer da idéia dele uma realidade.

Ouvindo MP3 on line

Boa dica para ouvir MP3s on-line com uma interface muito fácil de usar no iPhone:

www.seeqpod.com

seeqpod.jpg

[]’s

Conectando o iPhone ao seu Linux (o modo mais fácil)

Galera,

já faz um tempo que não posto aqui porque estou realmente sem tempo até para responder os comentários(perdão).

Mas essa dica é muito boa e como acabei de descobrir quero compartilhar com vcs.

Alguns posts atrás eu comentei como fazer para conectar o seu iPhone ao Linux usando o sshfs/fuse. Hoje lendo no TUAW vi que implementaram o AFP para o iPhone e fiquei pensando qual seria a melhor forma de fazer algo parecido no Linux. Ai lembrei que o servico de SFTP do iPhone jailbreaked é publicado via Bonjour!!!

Então é muito simples fazer o mesmo no Linux com Gnome sem precisar instalar nenhum software adicional no iPhone, veja:

vá até o menu do gnome e clique em PLACES->NETWORK, e automagicamente seu iPhone irá aparecer na lista!!

screenshot-network-file-browser.png

ai basta um duplo clique, colocar login e senha (root/alpine no 1.1.1 ou root/dottie no 1.02, se vc não alterou ainda)

screenshot-network-file-browser-1.png

e pronto, agora vc pode acessar seu iPhone para leitura e escrita facilmente.

screenshot-sftp-1921681106-on-1921681106-file-browser.png

com isso vc pode facilmente instalar novas aplicacões, jogando o diretório.app no /Applications, copiar suas fotos direto do /var/root/Media/DCIM/100APPLE ou ainda fazer backup das suas informacões que estão no /var/root/Library.

Quem foi que disse que Linux não é user friendly?  dessa vez deixou o Mac Bem pra trás hehe  ;-)

[]’s

Notas escondidas no iPhone

Dado do problema:

Quero manter minhas anotacões no iPhone longe dos bisbilhoteiros!

Bom, todo mundo sabe que o Notes do iPhone é bonitinho mas ordinário.

Vc não tem como classificar anotacões e se vc quizer anotar algo particular o problema é maior ainda.

Pra tentar resolver o ultimo problema e brincar um pouco com o database do iPhone (sqlite3), pensei em fazer o seguinte:

- Toda vez que escrever uma nota, poderia verificar por uma palavra-chave e caso ela estivesse presente, o corpo da nota desapareceria.

- Pra ver a anotacão novamente, poderia simplesmente digitar uma outra palavra reservada e BINGO! a anotacão apareceria como por mágica!

pois bem, implementei uma versão dessa estória, sem ter que escrever nenhuma linha de código… apenas alguns poucos SQLs.

O uso não ficou la essas coisas mas já é alguma protecão e serve para o meu propósito, veja um exemplo:

Na figura abaixo está o texto que eu quero esconder

Pra isso basta digitar a palavra mágica “HIDDEN” em qualquer lugar do seu texto

Clique no NOTES e saia do aplicativo notes clicando no único botão físico do seu iPhone.

Entre novamente e clique no “Teste 2″

BINGO! sua anotacão desapareceu!!!

E agora??? onde foi parar minha nota?? Calma! basta digitar o seguinte: “Vazionao”

e mais uma vez, salvar seu texto clicando em Notes.

saia do aplicativo entre novamente

BINGO! ai está o conteúdo do seu texto novamente:

Bom, agora que vc já viu tudo funcionando, vamos a parte que interessa, o HOWTO:

1) (iPhone) Faca um backup do seu arquivo de notes:

# cd /var/root/Library/Notes

# cp notes.db notes.db.original

2) (PC) Copie esse arquivo para o seu iPhone: hidden_notes.sql

# scp hidden_notes.sql root@192.168.1.100: /var/root/Library/Notes/

3) (iPhone) Execute o script:

# sqlite3 notes.db < hidden_notes.sql

4) BINGO! Divirta-se e até a próxima.

Configurando o formato do número de telefone no iPhone

ATUALIZADO: (13/Abril/2008 )

para firmware 1.1.4 faça o seguinte:

primeiro instale o “AppSuport Patch 1.1.4” e o “Region Patch 1.1.4” que estão na categoria “Tweaks (1.1.4)” do seu “Installer”

depois copie esse arquivo para o seguinte diretório do seu iPhone:

/System/Library/Frameworks/UIKit.framework/PhoneFormats

# scp UIPhoneFormats.plist root@seu.ip.vai.aqui:/System/Library/Frameworks/UIKit.framework/PhoneFormats/.

reinicie o seu iphone, vá em Settings>General>International>Region Format e escolha Brasil.

BINGO!

__

ATUALIZADO:

O PROCEDIMENTO ABAIXO É PARA O FIRMWARE 1.0.2.

PARA O FIRMWARE 1.1.1 OS CAMINHOS MUDARAM, DEEM UMA OLHADA NO BLOG DO Tunico .

__
Como o iPhone só é vendido nos EUA, a formatacão de números de tefone obedece a regra deles.

Se vc quiser pode alterar para o nosso padrão editando o arquivo:

/System/Library/Frameworks/AddressBookUI.framework/ABPhoneFormats.plist

pra isso vc tem que baixar esse cara do seu iPhone, converter ele para texto, alterar a entrada US e jogar ele de volta para o iPhone(não precisa converter denovo para plist)

para facilitar sua vida basta copiar as mascaras que eu defini abaixo:

<key>us</key>
<array>
<string>(0## ##) ####-####</string>
<string>(0##) ####-####</string>
<string>+55 ## ####-####</string>
<string>####-####</string>
<string>###-####</string>
<string>00 $</string>
</array>

depois disso re-inicie o seu iPhone e …

ATUALIZADO:

Pro iPhone reconhecer os números de quem está ligando corretamente, independente de ter o prefixo da operadora na ligacão origem ou não, vc vai precisar fazer o procedimento descrito no blog do Tunico:

BINGO!

iPhone agora fala!

Finalmente meu iPhone está recebendo SMSs e fazendo ligacões sem ter que usar o speaker.

Se vc como eu, fez o hack do unlock do iPhone e está tendo problemas para fazer ligacões(o speaker fica mudo) além de não receber SMSs, a solucão está aqui:

http://hackint0sh.org/forum/showthread.php?t=3508&page=3

mérito do Toninho e Azamba novamente… eu tava na sala de corpo presente, mas tava muito enrolado com o trabalho pra poder ajudar eles… dei mais um apoio moral ;)

Wallpaper do dia para iPhone:

Comecando a brincadeira com o iPhone

Se vc fez como eu e instalou um ssh server no seu iPhone, a brincadeira só está comecando:

A primeira coisa que vc vai querer fazer é montar o seu iPhone no linux e pra isso basta usar o SSHFS.

Algo do tipo:

# sudo sshfs -o allow_other root@192.168.1.100:/ /mnt/iPhone/

ai vc pode acessar seu iPhone em /mnt/iPhone e ver por exemplo que ele grava todos os seus PIMs em:

/var/root/Library

e se vc prestar mais atencão vai ver que o formato que ele usa é o SQLITE3 então basta abrir seus arquivos e edita-los usando um:

# sqlite3 /mnt/iPhone/var/root/Library/Calendar/Calendar.sqlitedb

BINGO!