Archive for 'General'

Previsões Tecnologia para 2009

Primeira semana de 2009 e estamos todos voltando ao ritmo depois do recesso do final do ano, como é uma tradição que acontece em toda a Internet várias pessoas geralmente escrevem suas resoluções e objetivos para o novo ano e também tentam prever o futuro (or kinda) e dizer o que acham que irá acontecer em 2009. Esta será a minha primeira tentativa de “prever o futuro” LOL, vamos ver como me saio :-)

dogjumpfail.jpg
Failblog.org

Twitter.com
Micro-blogging: Como muitos já escreveram por aí, em 2009 o Twitter terá de se concentrar em achar um business model sem deixar de crescer sua audiência. No Brasil acredito que o Twitter já atingiu todos os early adopters e será difícil ele avançar para as massas muito além do crescimento orgânico do mercado, mas Micro-blogging veio para ficar e em 2009 vamos ver mais consolidação neste mercado. O Orkut deve lançar alguma funcionalidade que facilite o micro-blogging e a conversação assíncrona das pessoas nos meus diversos grupos de amizade.

Comunidades: Orkut continuará imbatível e gigantesco, acho que a plataforma de apps vai evoluir no segundo semestre, meio que seguindo a tendência ditada pelo Facebook que já tornou os seus apps algo secundário (em uma aba separada chamada Boxes). Haverá a grande briga para definir quem será o grande mantenedor da identidade digital (personas) dos usuários. Já não faz sentido sites e aplicações terem de criar – e manter -  seus social graphs do zero quando os próprios usuários já elegeram onde mantêm atualizados seus dados e conexões. De qq forma é um mercado bem grande e ser o número 2, atrás do Orkut, não é nada mal. Mundialmente Google, Facebook e, correndo por fora, MySpace brigarão para que suas plataformas se tornem o padrão do mercado. No Brasil, Google já sai com alguns milhões de corpos de frente e o Friend Connect deverá se tornar o padrão por aqui.

Agregadores e LifeStreaming: Em 2008 vimos surgir um grande número de serviços agregadores, ou LifeStreaming, outros se consolidaram como FriendFeed, SocialThing e alguns se foram como o Pownce (deprecated), entre outros. O foco destes serviços em 2008 foi o de agregar o máximo possível de serviços e sites, ênfase total no volume. Com isso temos mais do que nunca uma sobrecarga de informações sobre todas as atividades que todas as nossas conexões fazem, é impraticável. Em 2009 vamos ver muitos novos agregadores surgirem, mas acho que os Players já estabelecidos deverão investir em algoritmos que façam com que o consumo do LifeStream das nossas conexões, seja mais relevante. Aposto que o FriendFeed será o grande destaque neste front.

Metodologias ágeis: Continuaremos a ver as metodologias ágeis se espalharem pelo Brasil com mais e mais cursos e certificados em metodologias como o Scrum, e devido ao fato de estas práticas se tornarem cada vez mais populares, vamos ter um fenômeno onde várias empresas vão fazer muita besteira e  vão dizer que essas coisas de Post-its e Self Organization não funcionam, voltando para suas práticas convencionais e muito buzz vai surgir de que é o fim das metodologias ágeis, como já aconteceu em 2008. Tb vamos ver várias empresas tendo sucesso na implementação destas metodologias e com isso mais e mais material e cases vão surgir, e espero que não só no mundo de desenvolvimento Internet. É importante mencionar que vamos ter o primeiro Scrum Gathering acontendo no Brasil em 2009 e que promete trazer grandes nomes do Movimento Ágil, como Mike Cohn e Ken Schwaber. Tb acho que apesar dos esforços da comunidade não teremos muitos avanços na integração de metodologias ágeis com UX (ou experiência do usuário), ainda existem grandes barreiras culturais que segregam os profissionais de UX dos de Desenvolvimento e Engenharia. Acho que isso esta longe de se resolver, e é sem dúvida um assunto super interessante que vou acompanhar em 2009.

http://www.mobileburn.com/media/apple/thumbs/iphone_3g_launch.jpgCelulares: Nenhuma novidade para 2009, tudo será a mesma coisa, pelo menos no Brasil, onde a maioria das pessoas faz somente chamadas de voz e no máximo manda SMS. Download de apps e software continuará sendo nicho do nicho e Internet de verdade continuará restrita ao iPhone, que por sua vez vai continuar nichado e caro.

Portais: Os portais devem começar a fazer mais personalização, se tornando “canvas” para aplicações OpenSocial, assim as apps feitas para o Orkut poderão ser tb instaladas na Globo.com, Yahoo! e outros portais. Nos mesmos moldes do que o LinkedIn e outros players estão fazendo nos Estados Unidos.

Advertising: A grana de propaganda será curta este ano e o mercado de Internet vai sentir, Google continuará o grande líder no mercado e devemos ver alguma consolidação em display nos EUA, mas no Brasil continuaremos na maior “zona”, talvez alguma Ad Exchange Network venha para cá, trazendo algum respiro de novidade para o mercado.

Video Technology: Adobe continuará nadando de braçada nesta área e o Flash Video se tornará cada vez mais agnóstico e estará presente em praticamente qq device com poder de tocar vídeo e se conectar na Internet (menos o iPhone). A Micro$oft deve continuar investindo no Silverlight, mas ela já percebeu que o jogo será muito mais difícil e de longo prazo, de qq forma como dinheiro não é um problema para a M$, ela deve anunciar uma versão mais madura do Silverlight na NAB2009, com melhores ferramentas de autoria. Sendo assim, não veremos concorrentes que incomodem a Adobe em 2009.

Acho que esta bom para uma primeira tentativa. Aqui tb tem algumas outras previsões, do John Battelle , Kara Swisher e Jason Calacanis.

Unlocking /Destravando o iPhone 3G

Não vou escrever sobre como fazer o unlock do iPhone 3G, que o Dev Team liberou na semana passada. O Guilherme Chapiewski fez um post passo a passo de como fazer para destravar o iPhone 3G, vale a leitura para os que, assim como eu, conseguiram comprar o iPhone 3G fora do Brasil e estavam usando Proxy SIMcards.

Obs: Para as pessoas que compraram o iPhone oficialmente no Brasil com a Vivo, Claro ou TIM, o melhor procedimento é pedir o destravamento diretamente para sua operadora, ela é obrigada pela lei Brasileira a destravar seu aparelho. Fiz o procedimento com o meu Claro e funcionou perfeitamente.

Agile UX: como integrar UX e desenvolvimento

Agilidade envolvendo Experiencia do Usuário, ou simplesmente UX, é um dos assuntos mais quentes no “mundo ágil” nos últimos tempos, como fazer para integrar o desenvolvimento de software com a Experiência do Usuário e Design. O Jakob Nielsen fez um ótimo post a respeito (com um viés um pouco “nós contra eles”) com direito a um post resposta bem legal do Alistair Cockburn. E alguns dias atrás o Guilherme Chapiewski fez um excelente post sobre como tem sido a experiência na Globo.com até o momento. Eu passei por este problema lá e quando vim para o Yahoo! resolvi tentar um novo “approach”, que na verdade era o que eu sempre quis fazer na Globo.com.

A primeira diferença que notei é que no Yahoo! não existem as diversas camadas de responsabilidades na parte de Interface/UX/Design. Na Globo.com existem três camadas que são responsáveis pelo visual e UX de um projeto: Os designers, os Arquitetos da Informação e os desenvolvedores Client Side. Claro que os problemas são muito amenizados quando estes três profissionais são alocados no mesmo time ágil. Mas agora olhando de fora, eu sinceramente acho que isso não resolve o problema.

No final o problema principal é a comunicação, como todos sabemos e já foi mencionado por Jack Welch (veja o quote abaixo) quanto mais camadas vc tiver pior será a comunicação, maior será a burocracia e principalmente o comprometimento com o produto final, podendo gerar os mini-waterfalls.

The more layers in a business, the more spin, meddling, and worst of all, delays

Quando estava formando meu time no Y! uma das principais premissas era não criar silos de especialização, ou seja, ter desenvolvedores que queiram mexer com todo o ciclo de desenvolvimento desde BackEnd, Banco de dados até Frameworks Javascript e TDD; um Product Owner que queira entender a importância dos desenvolvimentos de infra-estrutura e processos de qualidade e, neste mesmo contexto, eu tb estava procurando um Designer que não tivesse medo que meter a mão em código e desenvolver a parte Client Side quando fosse necessário. A primeira parte não foi tão difícil, existem muitos desenvolvedores multifuncionais e que tem a cabeça aberta para assimilar que eles devem entender de todo o ciclo e não apenas de uma ou outra parte. Mas achar um Designer/UX que também entenda de implementação não é nada fácil. Apesar de que todos os Designers que conheço (ou quase todos) fazem “freelas” que envolvem escrever código e muitas vezes desenvolvimento usando PHP ou Ruby, quando estão trabalhando na empresa muitos deles se limitam a gerar um PSD, muitas vezes não porque queiram, mas devido a forma como o processo foi estruturado.

No meu time atual tive a sorte (e bota sorte nisso) de encontrar um Designer que gosta de desenvolver toda a experiência, e tem a função de garantir que a visão de funcionamento e design do produto esta sendo bem executada do início ao fim. Neste caso o Designer ou UED (User Experience Designer) tem a responsabilidade de criar a experiência usando sua ferramenta favorita (Fireworks no caso) e depois implementar este design em código garantindo que tanto o visual quanto a experiência será a mesma em todos os browsers que suportamos e de que as boas práticas de implementação estão sendo seguidas.

O que sempre ouvi dizer é que não é possível fazer a interface/design sem pensar no produto todo, na experiência que estou tendo nesse momento posso dizer que isso é meia verdade. A visão do produto precisa estar clara: o que é o produto, quais as funcionalidades chave, qual o público que ele se destina, etc. Mas estou podendo constatar que não é preciso ter todos os detalhes para desenhar a experiência, e que sim podemos fazer a implementação da experiência aos poucos junto com a evolução do produto. No nosso caso estamos apenas no segundo Sprint e o desenvolvimento da interface/design e UX estão seguindo as histórias priorizadas no Backlog, e é muito legal ver a interface ganhando forma de uma maneira iterativa, posso dizer que a interface do nosso protótipo mudou umas 10 vezes (totalmente) e isso em nada impactou os desenvolvedores.

Isso acontece porque decidimos separar totalmente a “camada de apresentação” da “camada de negócios”, o UED é responsável pela camada de apresentação codificando e comitando os templates Django diretamente no SVN. Com isso o UED tem total controle da interface e pode alterar totalmente a usabilidade sem necessitar de outras pessoas (camadas) para isso.

Na última semana, foi até engraçado, pois estavamos todos trabalhando com uma interface na cabeça e de um dia para o outro o UED do time mudou totalmente o funcionamento da interface – para melhor claro. Neste momento me lembrei de como seria se tivessemos as três camadas envolvidas (designer, arquiteto, clientside) … acho que levaria alguns dias/semanas para discutir tudo e no final provavelmente a interface seria vetada por se tratar de uma mudança muito radical. Neste ponto vale lembrar que não adianta ter pessoas de qualidade se vc não deixar que elas tomem decisões, neste caso quem possui a última palavra em termos de UX é o nosso UED.

Voltando aos principios ágeis, onde pensamos iterativamente, sempre entregando software funcionando a cada sprint, posso dizer que se fossemos utilizar a forma antiga onde o UED investe 20 dias (no mínimo) pensando em todos os fluxos possíveis do produto, mais a identidade visual, mais toda a teoria. Com certeza hoje estariamos jogando grande parte deste trabalho fora, pois a idéia do funcionamento do produto evoluiu muito nos últimos 15 dias, e ao incluirmos evoluções iterativas do design/UX conseguimos fazer os ajustes necessários e o impacto foi mínimo. Claro que estou contando com possíveis grandes alterações no futuro, mas pelo menos estas alterações serão fruto da visualização do design aplicado na prática e não de um monte de PSDs e Fluxos de arquitetura.

Ainda não sei o quanto esta forma de trabalhar vai escalar no futuro, mas o ganho que tivemos na agilidade e na qualidade neste início estão valendo a pena.

Porque odeio ferramentas de gerenciamento

Para as pessoas que me conhecem melhor, esse título não é nenhuma novidade, na verdade eu repito esta frase de tempos em tempos só pra me lembrar do quanto eu odeio ferramentas de gerenciamento de projetos. Também já  adianto que este post será grande e nem todos vão concordar tenho certeza.

Em todos os eventos relacionados a desenvolvimento de software sempre tem uma pergunta da platéia sobre que ferramentas são usadas para gerenciar as equipes que usam métodos ágeis. Algumas estão aqui:

- Como gerar relatórios e ver como estão as coisas?
- Como ter certeza de que um release será entregue? Eu consigo ver isso quando uso o M$ Project!
- Como podemos controlar as pessoas que são alocadas parcialmente em diversos projetos sem uma ferramenta?

Ai quando penso nas respostas vejo que o título deste post não esta sendo verdadeiro, na verdade não é que eu não goste de ferramentas de gerenciamento, eu não gosto de ferramentas de uma forma geral. Isso é tão verdade que tenho uma resistência muito grande para aceitar tools nas minhas equipes, isso aconteceu recentemente quando minha equipe no Yahoo! sugeriu usarmos o Campfire para registrar os bate papos da galera e os links que são trocados, assim todos podem ter um log do que aconteceu durante o dia. Tenho uma grande preocupação de que uma ferramenta vá efetivamente adicionar valor ao trabalho das pessoas e não apenas gerar mais um passo no dia a dia delas que não seria necessário se não fosse o relatório para o gerente ou diretor, que na maioria das vezes nem lê estes relatórios.

O que mais me chateia neste tipo de pergunta é que existe um fato que muitas vezes não admitimos,  as pessoas preferem acreditar muito mais no que uma ferramenta mostra do que se um “humano” apresentasse a mesma informação. As pessoas preferem conversar por um chat ou IM do que levantar e ir conversar cara a cara ou no pior dos casos por telefone. Com o decorrer dos tempos e a popularização de diversas tecnologias passamos a nos apoiar nessas ferramentas de forma desmedida, em detrimento do relacionamento e do trabalho em equipe. Neste ponto acho importante fazer uma mea culpa, eu sou viciado em tecnologia e uso meu iPhone o dia todo, o tempo todo, twittando, mandando SMSs e navegando, mas isso não me tira o dever de interagir com meus colegas e amigos entre uma twitada e outra :-)

Quando falamos em desenvolvimento ágil estamos falando de pessoas (vejam o vídeo do Danilo Bardusco),  nestas equipes preferimos usar a comunicação verbal do que documentos com happy paths e paths alternativos e preferimos desenvolver o que sabemos com clareza do que tentar prever o futuro por seis meses, acredito muito na premissa que li em uma entrevista do J Allard (head de games da Microsoft e responsável pelo projeto do Xbox) “if it’s a possibility that you may fail, then fail fast and learn“.

Voltando a questão de gerenciamento por ferramentas, é importante dizer que nunca trabalhei com equipes espacialmente distribuídas, já vi várias aqui no Yahoo!, mas eu nunca gerenciei uma delas. Então toda a minha experiencia vem de trabalhar com equipes alocadas no projeto, fora quando eu trabalhava com empresas terceiras de três letrinhas, onde experimentei na própria pele o pesadelo das malditas fábricas de software.

Sendo assim, quando desenvolvemos algumas coisas, eu basicamente uso o Quadro branco com post-its ou cartões (como prefere o Phillip Calçado). Mas em alguma situações admito que é preciso gerar algum tipo de report para áreas gerenciais. Na minha opinião não existe nada melhor do que ver o quadro, nada é mais claro para ver como as coisas estão andando do que o quadro com as Histórias, tarefas e o burndown chart.

Atualmente estou usando um Twiki que gera os principais gráficos de acompanhamento do sprint, é exatamente da mesma forma que usava quando trabalhei na Globo.com, lembro que na época existia uma vontade ensandesida de comprar alguma ferramenta para que as equipes pudessem atualizar suas tarefas e assim gerar relatórios fantásticos de custos e performance, bugs por pessoa, por linha de código ou por piscada de olho do desenvolvedor.

O problema na verdade não esta no relatório ou na ferramenta, o problema real é que as pessoas não confiam umas nas outras, e elas se apóiam em tecnologias e ferramentas para se blindar e muitas vezes se armar e poder desmascarar uns aos outros. Agora como é que se pode trabalhar em um ambiente em que não existe confiança, onde as pessoas ficam falando pelas costas umas das outras. Este é O PROBLEMA, e as ferramentas de gerenciamento não resolvem isso, só agravam. Não é pagando US$566.40 dólares por usuário/ano em uma ferramenta que se resolve esse isso, porque nenhuma ferramenta pode arrumar isso, só uma conversa clara, limpa e verdadeira é que pode ajudar a resolver essa situação.

Havendo transparência e confiança, pode-se trabalhar para arrumar os nossos defeitos e outros problemas, afinal de contas somos humanos e não máquinas.

Muitos podem não concordar comigo, não tem problema, acho que todos temos as nossas opiniões e acho legal que tenhamos divergências, mas eu já sofri muito e tentei muito usar ferramentas na minha vida. Mas cansei, elas nunca funcionaram comigo, e olha que já trabalhei com diversas empresas CMM5 e com três letrinhas que são super premiadas internacionalmente e não adiantou, os M$ Projects nunca diziam a verdade e tínhamos sempre que “gambiarrar” o projeto, onde geralmente o que era cortado de cara era a qualidade e as pessoas eram tratadas como utensílios. “Ah este recurso aqui esta alocado 13% em requisitos deste projeto, mas ele atua como tester 35% neste outro projeto aqui” QUEM é que em sã consciência acredita que um humano consegue se controlar desse jeito (13% para um lado, 35% para outro, 26,5% para tal coisa) isso é muito idiota.

Por ter errado muito na minha vida e ter caído no conto da carochinha muitas vezes, pensando que selos e certificados significavam alguma coisa, eu aprendi a ter aversão a ferramentas e processos burocráticos, pesados e principalmente mentirosos. Tem uma frase que uso muito e que ouvi pela primeira vez de um diretor de uma grande empresa de comunicação: “Cachorro mordido por cobra, tem medo de salsicha!“.

Hoje em dia o que mais vale pra mim é estar bem com o que estou fazendo, discutir de forma construtiva com minha equipe e outras pessoas e poder trabalhar com coisas legais, mesmo sabendo que nem sempre fazemos coisas legais 100% do tempo. #prontofalei.

Mudança de rumo, agora vou vestir roxo

Depois de mais de 7 anos na Globo.com, chegou a hora de mudar de rumo. Não, não estou saindo do mercado de Internet, nem de desenvolvimento de software para montar um grupo de pagode ou vender produtos Apple. Estou me mudando para São Paulo e me juntando a equipe do Yahoo! no Brasil, estou assumindo uma posiçãoo de gerente sênior de desenvolvimento em um time que preciso montar do zero (mas isso é assunto para outro post). Saio do Azul para o Roxo.

Hoje foi meu último dia e na segunda-feira (01/09/2008) já começo no Yahoo!, na verdade as últimas semanas foram bem pesadas, pois tenho um imenso link afetivo com a Globo.com e com as pessoas que fazem esta empresa. Quando saí­ da RealNetworks em 2001 para me juntar à  Globo.com, eu era apenas um engenheiro, não tinha equipe e sempre trabalhei sozinho. Nestes 7 anos tive o prazer de montar uma equipe sensacional e de trabalhar com alguns dos melhores profissionais de Internet e Tecnologia do Brasil, sem sombra de dúvidas. Nunca me faltaram desafios, nem técnicos, nem gerenciais, nem políticos/relacionamento e todos estes me fizeram crescer e ganhar maturidade como profissional e como pessoa.

O ambiente de trabalho da Globo.com sempre foi excelente, mesmo nas épocas de vacas magras e de bolhas estourando, é uma empresa com alta tolerância a erros e grande “liberdade”, e quando bem usado  é o ambiente ideal para se ter idéias e torná-las realidade. Empresas assim nos dias de hoje são raras.

É importante lembrar que a Globo.com é uma empresa de mídia na Internet, não espere que ela vá desenvolver Orkuts e plataformas de Mapas, o foco é em conteúdo e em tudo o que é possível se fazer em torno desta montanha de conteúdo que as Organizações Globo geram, seja em ví­deo, texto, fotos, etc, adicionando valor a esses assets.

Em um movimento pra tornar a Globo.com uma empresa mais “Internética”, gerou-se diversos fronts de ação e entre eles trazer talentos e profissionais de referência na comunidade de desenvolvimento, como o Phillip Calçado (hoje ThoughtWorks), Guilherme ChapiewskiPeleteiro e mais recentemente Fernando Meyer e Andrews Medina, que vieram juntar forças com as equipes existentes. Passamos a implementar um processo mais ágil de desenvolvimento (Scrum) e estamos caminhando com os ajustes e acertos necessários, mudar não é fácil!

Tive tb o privilégio de fazer parte de alguns dos maiores projetos da Internet Brasileira, Big Brother Brasil (todos os 8), transmissão ao vivo da Copa de 2006, NBA Live, trazer o Blogger.com para o Brasil, construir toda a infra de produção e distribuição de vídeos da Globo.com, o Globo Media Center (atualmente Globo Vídeos), Você na TV Globo e vários outros projetos internos que mantém a máquina funcionando. Foram MUITOS Gbps de tráfego e muitas noites varadas em janelas e montagens de infra e lançamentos. Sem falar nos campeões de audiência como G1.com.br e GloboEsporte.com, onde atuei marginalmente, mas foi super importante para mim.

Mas agora chegou a hora de passar o bastão, e de realizar meus próximos sonhos de infância seguindo humildemente os conselhos de Randy Pausch em “Really Achieving your Childhood Dreams” (este é um vídeo totalmente obrigatório).

Deixo a Globo.com em excelente forma, nas mãos de excelentes profissionais e com a certeza do dever cumprido.

Por fim, quero agradecer mais uma vez a toda equipe WebMedia: Guilherme “sem noção” Chapiewski, Marcello “Animal” Azambuja, Tiago “pac man” Peczenyj, Rafael “Burns” Pereira, Bruno “Boneca” Souza, Tiago “Sergio” Motta, Carlo “ZeD” Caputo, Vitor “Pedro” Pellegrino, Bruno “Dulça” Dulcetti, Caina “Caetano” Nunes, Guilherme “Ganso” Cirne, Bruno “Barney” Carvalho, Carol Caliopio, Thiago “Claudio” Mello, Leo Burla, Diogo Kiss, Anselmo “picanha com fritas” Alves, o recém chegado Paulo “Panoramix” Jeveaux e tb aos ex-WebMedia: Fernando Valente, Luiz Felipe “Henrique” Silva, Marco “the French” Bicudo e Phillip “Shoes” Calçado … e Especial aos velhos amigos Danilo “Picareta” Bardusco, Magno “Coró” Torres, Marco Lucio e Jacques Varaschim.

YOU GUYS ROCK!