28 de dezembro de 2009

Dificuldades básicas

Há uns dias eu fui ajudar uma conhecida a usar o notebook que ela comprou para se atualizar tecnologicamente. Vale destacar que ela tem 69 anos de idade.

Eu achei muito legal. A vontade de aprender dela é fantástica.

Começamos por ligar o notebook, novinho em folha com o Windows Vista. Como eu uso o Ubuntu, vindo do XP, não sei usar o Vista como deveria. Assim, para algumas perguntinhas que ela fazia, eu tinha que procurar aonde estavam as opções.

Chegou uma hora que ela me perguntou: "você não trabalha com computador? Não deveria saber isso?" Pois é, quem não é da área acha que a gente sabe tudo. Quando ela me perguntou sobre gravar fotos, tocar música, me deu um arrepio. Mesmo quando eu usava Windows, eu não usava os aplicativos padrão para isso. Agora que uso o Linux, piorou, né? É tudo bem diferente. E ficou complicado para eu explicar.

As dificuldades eram muitas. Ela não sabia nada sobre as setas de movimento, backspace, tab, enter, caixa alta, shift, etc. Entre minha explicação e a tentativa de ela usar, eu ficava pensando como pode existir alguém que não sabia disso. Afinal, era tão óbvio para mim! Algumas explicações eu tentei dar usando a analogia básica: "funciona como uma máquina de datilografia". Sabe o que ela me disse? "A última vez que usei uma máquina de datilografia foi há 50 anos!".

Ela sentiu muita dificuldade em saber quando usar o backspace e a seta para a esquerda. Às vezes ela insistia em usar a seta para a direita quando queria inserir espaços em branco.

E quando ela me disse assim: "Eu quero ver fotos de Paris. Eu quero usar o computador para viajar sem sair da minha casa. Quero visitar um museu também". Como explicar o conceito da internet para uma pessoa que não tem a menor noção do que se passa?!

Até ensaiamos procurar fotos de Paris. Ela me perguntou novamente: "você não trabalha com computador? Não sabe como ver uma foto de Paris?!". Encontramos várias no Google Image Search, mas muitas eram ruins e não mostravam o que ela queria ver. Complicado, né?

Eu percebi que os usuários de computadores não têm a menor noção do que se passa nos bastidores. E não precisam saber, muitas vezes. Mas muitas delas, seria bom se soubessem. Ajudaria um bocado a eles próprios. Mas, como explicar tantos conceitos assim, na lata, já que o computador está sendo vendido pela mídia como mais um eletrodoméstico? Eu acabei dizendo que ela precisava mesmo fazer um curso de como usar o computador.

Se eu quero um forno de microondas, eu ligo na tomada, aperto alguns botões e posso esquentar minha comida. Simples assim. É físico. Com computadores, as coisas são virtuais, não palpáveis.

Para ver as fotos de Paris, eu preciso de:
1) Saber o endereço de um site de busca.
2) Usá-lo para procurar um site com galeria de fotos de Paris.
3) Certamente vamos encontrar vários, portanto, preciso experimentar cada um desses encontrados e ver se é o que eu espero que seja.
4) Quando eu encontrar o site que atenda às minha expectativas, preciso ver as fotos. Mas para isso, seria bom usar a navegação com abas do navegador. Isso agilizaria a visualização das fotos sem recarregar a página da galeria de thumbnail, mas isso seria mais um complicador para minha colega.

Puxa, quanta coisa para uma marinheira de primeira viagem! E muito frustrante. Ela só queria ver as fotos.

Em determinado momento, ela disse que queria mandar um email. Caramba, como explicar que o email do filho dela era UOL e o que estávamos criando para ela era do Hotmail? Ela queria um igual ao do filho! Grande dificuldade foi fazê-la preencher o formulário de inscrição e convencê-la de que preencher um captcha era realmente necessário. Isso ela entendeu. Ela não conseguiu entender como e por quê alguém faria um programa para criar cadastros falsos. E como uma coisa dessa funciona!

E email de confirmação?! Foi um absurdo na cabeça dela.

Como desenvolvedor de aplicativos, aprendi que precisamos fazer as coisas mais claras.

Vi que muitas opções na mesma tela tendem a confundir quem ainda não conhece o jargão da coisa.
Aprendi também que precisamos ter uma linguagem consistente com o usuário do aplicativo. Vi que as coisas mais comuns precisam realmente ter um destaque descomunal para serem encontradas facilmente.

Definitivamente não fui muito bem nessa tarefa de ajudar essa colega. Mas valeu muito a experiência. Tenho certeza de que aprendi muito mais do que ela.

Isso tudo me fez lembrar de uma empresa que trabalhei. Lá, tínhamos um trabalho social voluntário em mente, que era ajudar aos funcionários de uma escola pública a usar os computadores de modo seguro e eficiente. Eu me voluntariei, mas infelizmente não fomos adiante enquanto eu ainda estava lá. Espero que tenham conseguido realizá-lo, pois muita gente precisa de iniciativas assim.

Mas, voltando à minha análise, quando estávamos bolando os tópicos e o tempo de duração das aulas, pensávamos que com uma aula, o aluno já estaria pesquisando no Google e navegando em abas. Na outra, ele já saberia como anexar uma foto num email. Vejo que estávamos redondamente enganados.

As pessoas não sabem usar o mouse. Muitas nunca usaram uma máquina de escrever. Precisamos mesmo frear um pouco para dar oportunidade de adquirir conhecimento.

Se alguém de lá estiver lendo, não deixe o lanbari morrer, viu? Aprendi que tenho muito o que fazer aqui nessa vila de pescadores. ;-)

[Ubuntu] Ripar MP3 no Ubuntu 9.04

Para ripar MP3 no Ubuntu 9.04, tem que instalar um pacote para habilitar o perfil MP3 no Sound Juicer, digitando o seguinte comando no terminal:

sudo apt-get install gstreamer0.10-plugins-ugly-multiverse

Solução simples para um problema que poderia não existir.
Afinal, você já viu alguém que tem um Ogg Vorbis player? Ou um FLAC player?!

Já que MP3 é de longe o formato mais usado no mundo, poderia haver uma mensagem em algum lugar dizendo o que fazer para resolver isso, né?

Fica aqui registrado.

Seja objetivo

Meu avô dizia que "quem fala muito, dá bom dia ao cavalo".

Tenha isso como princípio de vida: faça só o que importa.

Agindo assim você vai se livrar da lista de afazeres, que muitas vezes atrapalha mais do que ajuda.

Outra vantagem é que ninguém vai te enxergar como um "enchedor de linguiça".

Se você é programador, não escreva código além do necessário. Menos código = menor chance de erro.

Seja objetivo!

Sou ágil porque faço ou faço porque sou ágil?

"Por que sua equipe é ágil?"

Se alguém lhe fizesse essa pergunta, como você responderia?

Sua equipe é ágil porque usa Scrum/XP ou usa Scrum/XP porque é ágil?
Essa é uma versão moderna da questão sobre o ovo ou a galinha. Quem veio primeiro?
Afinal, a galinha é galinha porque bota ovo, ou bota ovo porque é galinha?

Tem gente que pensa assim: "Quero ser identificado como agilista. Então preciso usar Scrum e XP. Caso contrário ninguém vai saber que sou ágil."
Outras, já pensam diferente: "Pelo que eu pude ler, acho que estou usando um pouco Scrum. Eu sou ágil!"

Participando de listas sobre ágil há um tempinho, tenho notado que existe a preocupação grande em dar nome ao que se faz. Uma preocupação existente no mundo corporativo é ter títulos ao invés de competências. É uma sopa de letrinhas que não acaba mais. Quem é certificado Java ou PMI que o diga! Minha esposa, que não é de TI, diz que isso é estratégia pra cobrar caro. E ela não deixa de ter razão.

No final das contas o que realmente importa? Ser galinha ou botar ovos? Ser ágil ou usar Scrum/XP?

Outro dia eu conversava com um colega sobre como analisar candidatos para vagas na empresa dele. Eu perguntei como eles avaliavam os currículos. Veja a resposta:
"Se o sujeito diz que é programador, precisa me mostrar código. Se ele não tiver certificações, cursos, faculdade, nem experiência profissional, mas escreve código bom, a gente acha que vale a pena."
Como diz o slogan do iG, "o mundo é de quem faz".

Sua equipe não será ágil simplesmente se vocês usam Scrum ou XP. E, sendo ágil, vocês não necessariamente usarão Scrum ou XP. Aliás, não se usa Scrum ou XP. Na minha opinião, Scrum e XP são aplicados e não usados.

Algumas técnicas são usadas sim, mas o que determina se uma equipe é ágil ou não é a atitude dela e não o que ela usa. O artigo "2 anos de Scrum e Agile na Globo.com e algumas coisas que eu aprendi", do Guilherme Chapiewsky, fala sobre isso, de uma forma diferente. Ele passa muita experiência vivida e por isso vale a leitura.

Tá, mas se você me perguntar: "Pô, se não é aplicando ou deixando de aplicar algumas técnicas, então como saber se estou sendo ágil?"
Simples, meu caro, leia o manifesto ágil!

Há um tempo atrás eu escrevi um artigo que fala um pouco sobre isso, chamado Eu já sou ágil e não sabia. Dá uma lida nele. Isso, clica aí, leia e depois volte para continuar esse artigo aqui.

O grande objetivo por trás do manifesto ágil é encontrar formas melhores de desenvolver softwares que funcionem. D-E-S-E-N-V-O-L-V-E-R. Sacou? Não é preencher planilhas infindáveis, trocar emails quilométricos, participar de reuniões sem fim! Não. O objetivo é desenvolver software. E que funcione.

Ser identificado como ágil significa que você, apesar de ser organizado, consegue resolver os problemas dos seus clientes num tempo aceitável, sem muita burocracia, está aberto a mudanças e pronto a replanejar conforme a necessidade deles, os clientes. Sim, eles são os donos do negócio, o motivo de sua profissão existir e são eles quem devem dizer quais funcionalidades o sistema vai ter. Você sugere, mas ele bate o martelo. Acostume-se a isso, por mais absurdo que possa lhe parecer!

Esqueça os nomes e as sopas de letrinhas. Preocupe-se com a qualidade das soluções que você oferece aos seus clientes, com a transparência nas atividades, com o cumprimento dos prazos e, muito importante, com a comunicação interna da equipe.

É por isso que o quadro branco com post-its é tão difundido no meio ágil. Ele é simples de entender, todo mundo domina essa tecnologia, todo mundo vê, não distrai e é fácil de modificar. Simples e objetivo.

Para ter uma noção mais clara do que estou falando, veja Lean em 4 minutos e assista à palestra ministrada na Câmara dos Deputados pelo Bruno Pedroso.
Se você quiser saber como se faz na prática, dê uma lida no PDF sobre produtividade, da Visie. Se gostar mesmo, pense seriamente em participar do curso XP na Prática, da SEA Tecnologia. Leia o depoimento de um participante.
Com esses recursos você vai sacar direitinho como é ser ágil sem dogmas, mas com muito embasamento. Esse pessoal aí sabe o que está falando. Eles vivem disso, viu?

Participar de uma equipe ágil, é mais ou menos como entregar uma mensagem a Garcia.
Experimente!

Para finalizar, me atrevo a responder a pergunta título desse post: Sou ágil porque faço acontecer.