sexta-feira, 25 de junho de 2010

Inspira em Porto Alegre para o Agile Brazil - dia 2

Sem mais delongas, vou compartilhar aqui minhas impressões do segundo dia do Agile Brazil 2010:

Pontos positivos
- Keynotes épicos (Phillippe Kructhen & Klaus Wuestefeld)
- Alto nível de integração entre palestrantes e presentes no evento
- Pessoal integrado para assistir ao jogo do Brasil (foi disponibilizado um telão no evento)

Pontos negativos
- Faltou cafeína (mesmo problema de coffee-break do dia 1)
- Tivemos menos palestras devido ao jogo
- O jogo do Brasil foi muito feio e foi uma total perda de tempo

O segundo dia

O pontapé inicial foi dado pelo Prof. Philippe Krutchen, com um Keynote muito bem bolado, sobre o papel do contexto do projeto e a útilização de metodologias ágeis. Ele falou do "sweet spot", que é o contexto genérico de projetos onde o Agile mostra seu maior potencial. Para projetos fora do sweet spot, como projetos de sistemas com pouca interação com usuários, difíceis de testar, com requisitos de segurança (safety) muito rígidos, ou com requisitos estáveis, o Agile continua sendo uma opção, mas sua utilização deve ser considerada com critério.

Em seguida tivemos o jogo da copa e almoço.

Após o almoço, palestra do Rodrigo Branas sobre workflow de desenvolvimento baseado em Kanban. Ele foi muito objetivo e claro, sempre ligando conceitos do Kanban com situações práticas, como múltiplos projetos simultâneos e dependências entre tarefas.
Exatamente o que eu estava procurando. Surgiu muita ideia legal para colocar em prática!



Thiago Ghisi e Rodrigo Vaccari (.NET architects), Rodrigo Branas (Oncast) e eu



Em seguida palestra com o Luiz Claudio Parzianello e o Rafael Prikladnicki sobre Café Kaizen. Eles estão trazendo uma maneira inovadora de detectar problemas e buscar correções em projetos. Após a apresentação do conceito, que envolve uma boa dose de Programação Neuro-Linguística (PNL), os palestrantes convidaram a plateia a criar uma situação fictícia de projeto, porém verossímil, e juntos utilizamos o Café Kaizen para detectar problemas, causas, objetivos e efeitos esperados e inesperados. Na minha opinião ainda vamos ouvir falar muito do conceito de Café Kaizen por aí. É uma ferramenta simples e que funciona.

Finalmente, tivemos o último keynote com o Klaus Wuestefeld, reavaliando o XP como o conhecemos e propondo novos valores e práticas. Foi um dos pontos altos do evento, na minha opinião. O Klaus consegue ser extremamente engraçado e didático. O conhecimento parece fluir livremente da mente dele para as outras mentes presentes no local. A moral da história ao meu ver é que após um certo nível de maturidade, é possível repensar a forma como desenvolvemos software para um patamar ainda mais extremo.

Bom, é isso. O evento foi extremamente proveitoso, tanto no sentido de troca de conhecimento como no quesito networking. O evento foi preparado por agilistas para agilistas, e considero que foi um grande sucesso. A intenção da Inspira é participar cada vez mais ativamente da comunidade Agile brasileira e colaborar no que for necessário para o seu desenvolvimento.

EDIT: esqueci de comentar duas coisas:

1) Impressionante como o twitter funcionou como uma ferramenta de troca ágil de informações e integração dos participantes do evento.

2) Tivemos alguns "Open Spaces" onde aconteceram discussões paralelas, porém muito interessantes. Muitas ideias interessantíssimas surgiram por lá. Espero ver Open Spaces em outros eventos também

Inspira em Porto Alegre para o Agile Brazil - dia 1

Olá,

Estou em Porto Alegre para o Agile Brazil e vou contar um pouco do que vi neste primeiro dia de evento.

Agile Brazil 2010



Postos positivos

- Evento muito bem organizado, com conteúdo altamente relevante e baixo custo
- Foi sensacional conhecer tantas mentes brilhantes e apaixonadas por desenvolvimento de software, gente que eu já conhecia, de certa forma, por acompanhar blogs, podcasts, revistas e outras fontes de informação.
- Palestrantes muito bem preparados e com temas atualíssimos, saindo do forno

Postos negativos

- Coffee-break mal-dimensionado
- Havia 5 opções simultâneas de palestras por horário (6 contando o WBMA). Você acaba sendo forçado a perder palestras de altíssimo nível por impossibilidade de estar em vários lugares ao mesmo tempo.

(Entendo que esta foi a solução que os organizadores encontraram para dar voz ao máximo possível de opiniões num evento com duração limitada. Mas de qualquer forma dá uma certa dor no coração).

Agora sei como ela se sente...



O primeiro dia

O credenciamento foi muito tranquilo, não peguei fila nenhuma e ganhei um kit com uma sacola de algodão bacana, uma caneca estilosa e mais alguns itens maneiros.

Logo no início do evento tivemos uma breve cerimônia e em seguida o keynote do Martin Fowler. Ele enfatizou conceitos básicos do desenvolvimento ágil, como débito técnico, a importância das pessoas em detrimento de processos, a capacidade de responder a mudanças e controlar o custo de manutenção do seu código no longo prazo. O Martin é um palestrante bastante conciso e organizado na sua linha de pensamento.

Em seguida já corri para ver a apresentação do Alisson Vale sobre Kanban. Ficou claro para quem assistiu que o Alisson é profundo conhecedor do assunto, discorrendo sobre conceitos teóricos, empíricos e comparações com modelos de processos de outras indústrias, como a automotiva. Mas como meu foco para o evento é buscar mais experiências práticas, troquei de sala e assisti um bom pedaço do tutorial do Paulo Caroli sobre "Agile Card Wall", que foi muito bacana por sinal, bem voltado à prática. O Paulo trouxe exemplos de como os quadros ágeis trouxeram resultados em diversas situações, como conflitos gerenciais, priorização de backlogs e correção de "bugs" (ou issues).

Depois disso uma pausa para o almoço. Foi uma ótima oportunidade de socialização (e também aproveitamos para conhecer o campus da PUC-RS).

Depois do almoço, nada melhor do que uma palestra sobre Coaching de Guerrilha com o Frank Trindade, da ThoughtWorks. Ele trouxe situações de sucessos e fracassos que ele teve durante processos de adoção de metodologias ágeis em empresas, e trouxe muitas dicas interessantes sobre como influenciar para a mudança ágil. Excelente palestra.

Imediatamente fui correndo trocar de sala para o Workshop do Rodrigo Yoshima e Phillip Calçado sobre modelagem em projetos ágeis. Por sorte consegui entrar no Workshop, pois a quantidade de vagas era limitada e a procura foi muito grande. Conversamos sobre o conceito de modelagem e sobre como fazer modelagem de um jeito ágil. Em seguida tivemos a oportunidade de praticar estes conceitos, modelando o protótipo de um sistema para troca de figurinhas para a copa. No final, o Phillip trouxe um pouco da sua experiência com modelagem ágil na ThoughtWorks. Foi um workshop bem descontraído, mas nem por isso deixou de ser didático.

Por fim, assisti a uma palestra sobre erros comuns em TDD, com o Maurício Aniche (que também foi bem voltada para a prática), e o XP in the Real World com o Greg Warren e o Carlos Lopes da ThoughtWorks. Infelizmente eu já estava muito cansado e não consegui absorver muito desta última palestra.

Conclusão

O saldo deste primeiro dia de Agile Brazil foi altamente positivo. Volto a parabenizar o comitê organizador pelo excelente trabalho. Amanhã eu volto para contar como foi o segundo e último dia do evento.

EDIT: Uma coisa muito bacana que eu me esqueci de mencionar. Conversei bastante com o Martin Fowler e o pessoal da ThoughtWorks (Phillip, Paulo, Gary, Amit, etc.). Eles foram super solícitos e cordiais, exatamente o contrário da ideia original que eu tinha deles (por puro preconceito). Obrigado, ThoughtWorkers!

segunda-feira, 14 de junho de 2010

Novo escritório - Fotos

Finalmente nos mudamos para o novo escritório. Ainda estamos nos acostumando com ele, mas já é possível afirmar algumas coisas:




  • O novo arranjo do escritório - uma sala só, sem paredes - mudou totalmente o ambiente e a dinâmica do trabalho. Agora as informações fluem muito melhor. E também a equipe está mais enturmada.

  • Espaço é importante! O escritório antigo era um amontoado de gente, e isso degradava muito o ambiente. O aluguel por pessoa aumentou de R$ 120 por mês para cerca de R$ 300. Mas o investimento é baixo se comparado com o retorno em termos de troca de conhecimento e ambiente de trabalho.

  • Um espaço maior faz com que a equipe se sinta valorizada e aumenta a motivação





Momento de descontração




Além da mudança física, nós também queríamos implementar ideias antigas que nunca sairam do papel, algumas porque o escritório antigo não permitia, outras a gente podia ter feito antes mas a mudança acabou sendo uma oportunidade de colocá-las em prática. Algumas plantas, o logo da empresa na parede e um Scrum Board foram algumas dessas mudanças.



Uma coisa bacana que está acontecendo é que a equipe se sente parte integrante da empresa. Todos ajudaram na mudança e se sentiram à vontade para colocar seu toque pessoal no novo escritório





A ideia das canecas foi da própria equipe




Desta vez, com menos restrições de espaço, paredes, etc. pudemos fazer as coisas do jeito que sempre quisemos. Desde as instalações elétricas e de rede, passando pela disposição das mesas, banheiros, copa, etc.





A foto reflete o clima descontraído e amistoso. Repare no Wii ao canto direito, entre a impressora e a TV :)




Pode não parecer, mas nós também trabalhamos. E muito! Nós nunca ficamos satisfeitos e queremos sempre descobrir jeitos novos de fazer softwares melhores com custos e prazos mais baixos. E acreditamos que um bom ambiente de trabalho é fundamental para alcançarmos estes objetivos.





Nós fazemos malabarismos para entregar seu projeto no prazo


segunda-feira, 10 de maio de 2010

Estamos de mudança

Após pouco mais de um ano na Avenida Paulista, vamos precisar de um lugar maior.

Nossa prioridade foi encontrar um lugar de fácil acesso para nossos funcionários, e que pudesse prover um ambiente produtivo e ao mesmo tempo divertido. Isso permitirá que continuemos prestando um bom serviço a nossos clientes.

Anote nosso novo endereço:
Rua Jardim Ivone, 17, cj 103 e 104 (ao lado do Etapa do metrô Ana Rosa).

Vamos sentir saudade do escritório da Av. Paulista. Apesar de pequeno ele é muito aconchegante, e ele fez parte de alguns momentos decisivos da Inspira. Tivemos muitas alegrias e superamos muitas dificuldades por lá. Mas agora é o momento de alçar novos vôos.

quarta-feira, 12 de agosto de 2009

Migração de artigos do Mambo para o Joomla

Olá, eu sou o Leonardo Fukui, funcionário da Inspira, e recentemente trabalhei com migração de dados do Mambo para o Joomla, ambos em PHP.

Durante a migração percebi que o script utilizado para adaptar os artigos, o "imgReplacer", tinha alguns problemas. Ele só importava a primeira imagem dos artigos, replicando-a para todas as imagens encontradas no restante da página. E também não estava recuperando todo o estilo e o texto alternativo das imagens.

Cheguei a pesquisar sobre o assunto e acabei caindo em fóruns oficiais, fóruns especializados em Joomla entre outras páginas que falavam em Mambots para importação. Porém em todas as páginas que entrei tinham pessoas questionando esse problema na migração, dizendo que só conseguia importar a primeira imagem, ou seja, o mesmo problema que tive.
Para não dizer que a minha busca foi um fracasso, encontrei uma página onde vendiam uma ferramenta para a migração de imagens, que eu acredito que funciona.
Entretanto não vinha ao caso pois se existe alguma forma de fazer, nós faríamos.

Com sucesso consegui modificar os dados de artigos com o um Script que fiz, adaptando o "imgReplacer" para funcionar com mais imagens e pegando todos os dados de estilo e texto alternativo.

Para ninguém mais ter esse problema, resolvi compartilhar o script com vocês!
O script deverá ser rodado após a importação dos dados (ele modificará o banco).



Abraços e boas migrações!

segunda-feira, 15 de junho de 2009

Implementando metodologia ágil na Inspira

Uma das minhas atribuições como responsável pela área de Tecnologia aqui na Inspira é garantir que os projetos de TI vão atender as demandas de nossos clientes. Como em todo bom projeto, principalmente de TI, os prazos são curtos e os recursos são limitados. Mas talvez a grande característica que diferencia TI das demais áreas é a necessidade de adaptação a mudanças.

O ser humano é, inevitavelmente, um ser que não gosta de mudanças. Psicologicamente falando, nós temos medo de sair "no prejuízo" quando os cenários mudam. Se a mudança é do tipo "Ganhar 10 milhões na loteria", ninguém tem medo desse tipo de mudança... mas se o seu chefe pede para que você compareça na sala dele em 5 minutos porque "mudanças" acontecerão na empresa, esse sim é o tipo de mudança que nos deixa bem inquietos.

Lidar com a mudança e encará-la como algo positivo (ou pelo menos neutro) envolve principalmente coragem. Coragem para peitar o cliente e explicar que certas decisões dele podem arruinar o projeto. Coragem para não varrer a sujeira para debaixo do tapete, deixando as tarefas mais arriscadas para o final do projeto. Coragem para discutir certos temas, principalmente envolvendo falhas e desvios de projeto.

Meu grande desafio aqui vai ser propor uma metodologia que seja realmente ágil, e que encoraje discussões construtivas, análise de erros anteriores e melhoria contínua.

Já usamos Scrum em alguns projetos, com ótimos resultados. Porém, precisamos ligar o processo de desenvolvimento com a estratégia da empresa; afinal, somos uma empresa de tecnologia. Isso significa poder mensurar e gerenciar os projetos de TI de forma ágil e eficiente. Provavelmente, vamos precisar criar uma metodologia própria, baseada em Scrum, XP, Agile, Lean, etc. Isso vai envolver um longo trabalho de pesquisa, mas será divertido.

Conforme tivermos avanços eles serão publicados aqui. Sugestões serão muito bem-vindas. Aguardem!

domingo, 8 de março de 2009

Algoritmo para início e fim do horário de verão

Quem nunca teve problemas com o computador durante o horário de verão? Ninguém sabia com antecedência as datas de início e fim. Pior: o Windows tentava adivinhar e sempre fazia caca. Era o terror dos administradores de rede.

A partir de 2008 passou a valer uma nova regra muito simples: o horário de verão se inicia no terceiro domingo de outubro à meia-noite (de sábado) e se finda no terceiro domingo de fevereiro (também à meia-noite de sábado para domingo).

Notícia fantástica para quem precisa calcular o horário de verão no computador (viu, Microsoft?).

Seria perfeito, se não fosse uma "pequena" exceção: quando o terceiro domingo de fevereiro coincidir com o domingo de carnaval, o final do horário de verão ocorre uma semana depois.

Lindo isso, né? O legislador que propôs esta regra é simplesmente um gênio.

Isso complicou bastante o algoritmo, mas pelo menos ele ainda é determinístico. Chupinhei-o descaradamente desta página e transcrevi-o para C#. Resolvi publicá-lo aqui porque pode ser útil para alguém.

Bom, chega de papo. Segue o algoritmo:



Achei que ficou relativamente bem escrito e fácil de entender. Qualquer dúvida, mande um comentário. Até a próxima.