Entrevista com Robert Elves, do projeto Mylyn

Atenção, este blog foi migrado para: http://brunopereira.org

Nesta entrevista, falarei com Robert Elves, um dos principais committers do projeto Mylyn. Robert é uma peça chave no desenvolvimento do Mylyn e do Tasktop, e nós falaremos sobre estes projetos, Eclipse, processo de desenvolvimento de software e open source software. Vamos começar!

Bruno Pereira: Robert, como começou o seu envolvimento com o projeto Mylyn? Você tinha alguma experiência prévia com desenvolvimento de plugins do Eclipse?

Robert Elves: Meu caminho no Mylyn começou como um estudante de graduação no laboratório CHISEL na Universidade de Victoria. Eu estava pesquisando sobre locomoção em espaços de informação com foco em ajudar desenvolvedores de software. Durante este período eu desenvolvi o protótipo de um plugin para o Eclipse chamado NavTracks que utilizava o histórico de navegação de um editor para recomendar arquivos relacionados com o arquivo atualmente sendo editado.

Por volta desta época eu conheci Gail Murphy e Mik Kersten e aprendi o que era então o projeto Mylar, atualmente Mylyn. Logo após a graduação eu me juntei a eles no Laboratório de Práticas de Software na Universidade da Columbia Britânica para trabalhar no Mylyn.

BP: O Mylyn 1.0 foi lançado independentemente de outros projetos. Entretanto, a versão 2.0 foi parte do enorme lançamento do Eclipse Europa. Você poderia descrever esta experiência? Como este processo foi coordenado de forma que fosse possível que múltiplos projetos lançassem novas versões ao mesmo tempo e tudo se mantivesse compatível?

RE: Com o lançamento da versão 1.0 do Mylyn nós já podíamos ver as estatísticas de download crescer na ordem de dezenas de milhares por mês, e uma forte comunidade de usuários se formando em torno do projeto. Centenas de notificações de bugs nos ajudaram a amadurecer o Mylyn até um ponto em que ficou fácil o bastante para programadores que utilizam o Eclipse adotarem esta nova maneira de trabalhar com foco em tarefas. Nesta mesma época, o projeto de empacotamento do Eclipse nos contactou pedindo que incluíssemos o Mylyn nos downloads padrão do Eclipse.

Nós decidimos que a tecnologia estava pronta, concordamos com o pedido e desde então o Mylyn está disponível para todos os desenvolvedores que baixem o Eclipse Europa. Para participar da versão Europa, os projetos devem atender alguns padrões de maturidade. Por exemplo, nós tivemos que nos provar capazes de gerenciar um site de atualizações, lidar com a agenda de lançamentos e manter um contrato de API. Os requisitos para a próxima versão do Eclipse (chamada Ganymede) estão descritas aqui.

Mik liderou o projeto Mylyn para o cumprimento destes requisitos na versão Europa. Nós adotamos a disciplina necessária para atender aos marcos de lançamento simultâneos trabalhando ao mesmo tempo em ritmo frenético para atingir os objetivos de performance e usabilidade. Neste mesmo período, conseguimos realizar a mudança de nome do projeto de Mylar para Mylyn (que implicou na mudança de nome de todos os pacotes Java do projeto) e revisamos e aceitamos numerosos patches contribuídos pela comunidade. Os projetos foram coordenados com muita comunicação através de wiki e listas de discussão inter-projetos. Para resumir, esta experiência foi como estar dentro de um redemoinho e nós estamos ansiosos para mais diversões na versão Ganymede!

BP: De tempos em tempos eu fico impressionado com o aumento do alcance e escopo do Eclipse. Eu considero o projeto Eclipse um fantástico exemplo de como construir software. Com seu excelente modelo de componentes, ele oferece uma plataforma muito boa para se construir em cima. Como o Mylyn faz ótimo uso deste modelo de componentes, eu gostaria de saber das suas opiniões sobre isto.

RE: Na minha opinião, e tenho certeza de que o Mik concorda, Equinox e OSGi facilitam que desenvolvedores construam melhores sistemas de software. O framework nos dá um mecanismo de explicitamente separar o domínio do problema em plugins flexíveis que colaboram entre si. Você ganha deployment e carregamento sob demanda dos seus componentes praticamente de graça! Sem esta flexibilidade e plugabilidade, o Mylyn não existiria, pois não poderíamos plugar ao núcleo do Eclipse as funcionalidades que a interface focada em tarefas precisa estender. O Mylyn contribui e usa alguns pontos de extensão que permitem que muitas das visões padrão do Eclipse como Package Explorer e Synchronize passem a utilizar foco. Eu ainda não vi uma plataforma de ferramentas tão flexível como o Eclipse, e o Equinox/OSGi tem sido um incrível framework para se trabalhar.

BP: O Mylyn tem crescido e visto sua adoção por parte dos usuários do Eclipse aumentar constantemente. Junto com esta adoção, muitos bugs e solicitações de melhorias foram abertos e solucionados. Como vocês selecionam entre estas requisições o que vai entrar em cada versão?

RE: Desde a versão Europa, nós temos verificado crescente atividade na comunidade do Mylyn, incluindo mais notificações de bugs e solicitações de melhorias. Cada notificação de bug é revisada por um committer do Mylyn. É importante para nós responder em um tempo curto, pois cada solicitação representa uma aresta a ser aparada ou uma nova melhoria. Tendo dito isto, são apenas 4 committers no projeto, então nós precisamos fazer uma triagem com base nos pedidos da comunidade e também analisando como cada requisição se encaixa no plano geral (ver plano do Mylyn 3.0 aqui).

BP: Aqui no Brasil estamos vendo mais e mais empresas começando a abraçar metodologias e práticas ágeis de desenvolvimento, provavelmente com o Scrum liderando estas iniciativas. Eu gostaria que você descrevesse o processo de desenvolvimento de vocês e quão desafiador é fazer com que isso funcione tendo um time distribuído.

RE: Ágil é certamente como eu descreveria o nosso time, embora nós não adotemos nenhuma metodologia em particular. Nós temos reuniões de planejamento semanais e constantemente re-priorizamos solicitações com base nos pedidos da comunidade de uma forma que seja transparente para os usuários. O próprio Mylyn é uma de nossas ferramentas chave para uma colaboração de sucesso. Ele permite o compartilhamento do contexto das tarefas e a funcionalidade de notificação de novos pedidos realmente ajuda a minimizar a sobrecarga das caixas de e-mail, ao mesmo tempo em que aumenta a ciência do time sobre o que está ocorrendo. Nós tentamos manter todas as discussões de projeto nos reportes de bugs (em vez de utilizar Skype ou algum IM) para que as decisões de projeto fiquem disponíveis para que outros membros dos time e pessoas interessadas possam revisá-las assincronamente. Este sistema certamente não é perfeito e nós estamos sempre procurando maneiras de melhorar e otimizar o processo.

BP: O Mylyn foi integrado com algumas ferramentas de controle de tarefas, está disponível em um amplo conjunto de distribuições do Eclipse e está sendo constantemente refinado por solicitações de usuários e feedback dos mesmos. Eu recentemente soube que vocês estão trabalhando em uma nova ferramenta chamada Tasktop, que é relacionada ao Mylyn. Você poderia dar uma visão do futuro do projeto Mylyn e dizer o que o Tasktop trará aos usuários?

RE: Mylyn continuará evoluindo tanto como uma ferramenta quanto como um framework para interface focada. A Tasktop Technologies lidera e suporta o projeto Mylyn. Alguns dos commiters do Mylyn são nossos contratados e cada um de nossos desenvolvedores contribui regularmente com patches no Mylyn.

No ciclo da versão 3.0 você pode esperar a mesma taxa de melhorias de usabilidade, integração e performance mantida entre as versões 2.0 e 2.2, lançada recentemente. Para oferecer aos usuários estas muitas melhorias, nós ofereceremos versões finais a cada trimestre. Alguns pontos-chave para se acompanhar nas futuras versões 2.3 e 3.0 são as grandes evoluções no editor de tarefas (que é um ponto focal de interação dos desenvolvedores com o Mylyn) e a adição de um leve workflow de integração para reduzir a quantidade de cliques exigida dos usuários.

O produto Tasktop estende o alcance do Mylyn para além do workspace do Eclipse e atinge o sistema operacional (atualmente apenas o Windows, mas o Mac será suportado ainda no primeiro trimestre de 2008). Com o Tasktop, o tempo gasto em outras aplicações como o Word ou Excel é capturado como sendo parte da tarefa atual. Janelas externas de aplicações são gerenciadas de forma semelhante ao que é feito com editores dentro do Eclipse. Além disso, o Tasktop é capaz de sincronizar com os calendários do Outlook e do Google, dando aos usuários uma visão geral do cronograma de suas tarefas dentro das suas aplicações nativas de calendários. Mas a melhor parte é que o Tasktop foca toda a sua navegação na internet. Agora eu posso navegar e utilizar aplicações na web dentro da área de trabalho do Eclipse com o mesmo foco que o Mylyn traz para as minhas atividades de programação. Confira o site para obter a versão beta.

BP: Mensagem final…

RE: É ótimo saber do interesse no Mylyn vindo da comunidade de desenvolvedores do Brasil. Eu encorajo nossos leitores a tentar usar a ferramenta caso ainda não o tenham feito. Além disso, sintam-se à vontade para ajudar a colaborar com o Mylyn submetendo notificações de bugs ou contribuindo com patches. Nós somos bastante abertos à contribuição da comunidade!

4 respostas para Entrevista com Robert Elves, do projeto Mylyn

  1. Bruno Tonetto disse:

    Para mim que não o conhecia, o Mylyn parece extremamente interessante. Ele adiciona mais um motivo para a utilização do Eclipse. Em particular, o Mylyn traz um conjunto de características de gestão de tarefas integradas à IDE que eu só tinha visto algo parecido no Microsoft Team System😛.

  2. Rafael Chaves disse:

    Muito engraçado ver uma entrevista com um dos committers do Mylin e uma homenagem ao Mussum na mesma página… isso é que eu chamo de um blog eclético… Falando sério agora, conheci o Robert no Eclipse DemoCamp em Vancouver, que ele organizou. Um cara muito inteligente e humilde.

    Boa entrevista, parabéns pela iniciativa.

    Rafael

  3. blpsilva disse:

    Oi Rafael, eu realmente comecei o blog para falar de software, mas à medida que fui publicando, comecei a diversificá-lo um pouco mais🙂 Na verdade o pessoal que comenta comigo sobre o blog considerou positiva esta postura, por deixar a leitura mais “leve” de uma maneira geral. Mas sem dúvida a maioria dos posts será sempre sobre tecnologia e este é o foco do blog.

    Sobre o Robert e o resto do pessoal do Mylyn, não tive ainda o prazer de conhecer nenhum deles pessoalmente, mas meu contato com eles por e-mail e pelo bugzilla do projeto é o melhor possível e a qualidade do suporte que eles dão aos usuários, mesmo sendo um suporte gratuito, é excepcional. Este é um dos projetos open source mais inovadores que já vi e a qualidade do software somada à prestatividade e atenção dos committers me deixa orgulhoso de ser um defensor de software open source. Great, great team!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: