Compartilhar é bom, compartilhar NoSQL é melhor

A vida nos prega peças interessantes

Ontem, 05/11/2012 tive o prazer de compartilhar um pouco da minha experiência em NoSQL na UCS, graça ao convite do professor Daniel Notari. Pude apresentar como foi desenvolver um sistema utilizando o banco de dados Amazon DynamoDB para a turma de Estrutura de Dados.

Com o objetivo de ser único, não comentei uma apresentação, criei um mapa mental e fui escrevendo no quadro branco.

Comecei falando sobre o que era Big Data, em segui porquê surgiram os bancos de dados NoSQL e suas categorias. Depois  entrei no assunto que mais domino no momento o Amazon DynamoDB.

Falei sobre estrutura de tabelas, como é feito o particionamento e replicação dos dados, concorrência.

Após 1 hora falando, fiquei muito feliz ao ouvir perguntas. Entre elas se foi muito difícil desenvolver, o que para mim não foi pois como utilizei as metodologias ágeis, consegui me policiar bastante no tempo e esforço para desenvolver.

Ao final de tudo deu tempo para apresentar o Telescreen (http://kwitter.no-ip.info) rodando.

Um dos grandes materiais de recomendo a leitura para quem ficou interessado sobre o DynamoDB é o blog de Werner Vogels, CTO da Amazon. o nome do seu blog é All Things Distributed, lá duas excelentes postagens são:

http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html

http://www.allthingsdistributed.com/2012/01/amazon-dynamodb.html

Continuar lendo

Ágil é diferente de Rápido

Ágil = Que tem grande facilidade de se mover; ligeiro, leve.

Para o andamento do TCC estou utilizando um modelo bem simples baseado em princípios ágeis. Criei e vou atualizando um backlog de todas as funcionalidades que quero fazer no Marvin e no Telescreen. Todo o domingo eu faço o planejamento de quais atividades eu vou fazer até sábado, ou seja, sprints de 7 dias corridos.

Isso foi um aprendizado com relação ao inicio do TCC 1 onde eu estava fazendo sprints de 14 dias e o processo não estava fluindo. Para dar vazão, alterei para sprints de 4 dias, o que fez com que as atividades realmente fossem concluídas. Com os atuais 7 dias, as atividades estão fluindo bem, o planejamento do que pode ser feito tem sido bom, sobrando algumas horinhas que utilizo para fazer “perfumarias” no sistema.

Para o controle desse backlog e sprints, estou utilizando o site Acunote que é muito prático e vem com vários recursos, entre eles o gráfico de Burndown e detalhamento de tarefas.

Para estimar as tarefas estou utilizando a metodologia de story points (baseada na sequencia de Fibonacci) onde as atividades recebem pontos na sequencia de 1, 2, 3, 5, 8, 13, 21. Estou falhando em descrever as tarefas, pois somente estou descrevendo o título e não justificando o valor agregado. Como todo esse processo (PO, analista, designer, programador, testador, etc) está sendo realizado pela minha pessoa, não estou perdendo nenhuma informação. Mas seria interessante detalhar um pouco mais.

Uma das coisas mais importantes que eu fiz foi com relação ao design do sistema. Fui criando uma arquitetura emergente, onde os pacotes e classes foram surgindo e evoluindo naturalmente, sem a necessidade de ficar pensando muito como fazê-los. Da primeira versão da aplicação até a versão atual (01.00.004)  foram criados 4 pacotes e diversas classes e interfaces, transformando a aplicação em um formato bem modular e escalável.

A melhor definição que ouvi de rapidez e agilidade é a do Coyote e Papa Léguas: o Coyote só é rápido, mas não consegue fazer bem as coisas, já o Papa Léguas é ágil, pois além de também ser rápido utiliza isso em seu benefício.

Prezi: Apresentações Profundas

O Diabo está nos detalhes

A primeira vez que vi uma apresentação no Prezi foi em um treinamento chamado Scrumban: do Scrum ao Kanban realizados pelo Rodrigo de Toledo e Alisson Vale em Julho de 2011. Na época achei muito legal o formato da apresentação, mas não fui muito atrás.

Em Junho de 2012 vi mais uma apresentação, agora do Jorge Audy, e dessa vez foi paixão, me pegou de jeito. No dia seguinte já comecei a procurar saber mais sobre a ferramenta.

Primeiro, esqueça tudo sobre apresentações no PowerPoint. Redefinindo, esqueça como montar uma apresentação no PowerPoint, mas não se esqueça das boas práticas de como fazê-la. Por exemplo:

  • Utilize o mesmo tema de cores durante toda a apresentação
  • Tenha um bom contraste entre a cor do texto e a cor de fundo
  • Não encha o slide com texto, de preferência a tópicos
  • Reduza o número de efeitos diferentes
  • Seja direto, diminua a quantidade de slides
  • Chame a atenção na mensagem que quer ser passada

Essas boas práticas servem tanto para apresentações em PowerPoint como para apresentações em qualquer outro meio digital ou analógico, inclusive para o Prezi.

Vamos as principais diferenças. A mais importante de todas, não existem slides e como não existem slides, não existe transição entre eles. O Prezi se baseia em uma apresentação plana e em níveis. Todas as informações são incluídas e principalmente agrupadas em um único plano. Porém, esse plano pode ser visto com diferentes níveis de zoom tanto uma visão detalhada quanto uma visão mais ampla.

Segue alguns bons exemplos:

http://prezi.com/ucbqnfjsurg9/what-is-prezi-press-the-play-button/

http://prezi.com/mkg9y_pl1cxd/presentation-on-presentations/

O conceito é bem simples:

  1. Coloque informações (textos, imagens, vídeos, animações);
  2. Coloque mais informações que detalham ou abstraem mais esse primeiro grupo;
  3. Crie novos grupos e conecte as ideias através de um caminho por onde a “câmera” irá passar.

Parece simples, mas não é 😦

Como o objetivo é criar apresentações únicas e que chamem a atenção, é necessário, além de uma boa ideia, bastante dedicação e um pouco de edição de imagens e paciência.

Recentemente, vi uma apresentação do Alisson Vale, no Agile Brazil 2012, e é uma das melhores que já vi. Confira em:

http://prezi.com/fro8mgdn3g4r/jogando-o-novo-jogo-do-trabalho-do-conhecimento-com-lean-kanban-e-agile/

Como já comentei, para uma boa apresentação é necessário, além de obviamente um bom conteúdo, uma boa ideia. Uma das apresentações que me deu mais trabalho foi a da KO-IT. Foi gasto quase uma semana de trabalho e quase 10 ideias diferentes de como apresentar todas as informações. O resultado final pode ser conferido em http://prezi.com/6fdxj_igppbf/conheca-a-ko-it/.

Não vou encerrar o assunto Prezi aqui. Em breve, estarei promovendo um workshop sobre ele e vou ter mais informação.

Plano de Projeto: Político

Vote Em Mim E Não Se Preocupe

– Falcão

Estava assistindo a propaganda eleitoral, não foi intencional, a TV simplesmente estava ligada e ela começou. Com preguiça de pegar o controle e trocar de canal fiquei prestando a atenção.
Não analisei: partido, credo, raça, orçamento de campanha, linguagem utiliza, nem mesmo bom gosto. Analisei de forma técnica e objetivo, da ótica que o candidato é alguém que quer realizar um projeto e cada eleitor é um potencial sponsor desse projeto.

Os candidatos que conseguirem maior número de patrocinadores adquirem o direito de utilizar um fundo monetário na qual eu sou um depositário (meus impostos). Simples assim 🙂

Exatamente como num projeto de TI, o stakeholder precise de apoio dos sponsors.

Eu como o agente que deve entender o valor da proposta, fiquei muito decepcionado com todas as que ouvi. Fatos:

  • Em nenhuma delas eu entendi o propósito da campanha
  • Qual o problema será resolvido primeiro
  • Quais são os riscos do projeto falhar
  • Qual o orçamento para fazer tudo isso
  • Qual o prazo para realizar cada proposta

Mas a minha maior fonte de preocupação é: o restante da equipe do projeto está motivada e comprometida a fazer isso? O candidato (prefeito, governador, senador) é só o idealizador, ele precisa de uma equipe para pensar e realizar tudo isso, será que todos os funcionários das autarquias estão comprometidos com o mesmo objetivo? Ou alguém quer que o projeto dê errado pois é de outro partido?

Outro problema é o fato comum em projetos, encher de funcionalidades para agradar todo mundo. Prometer fazer A, B, C, D, E, F, G, H, I… Z (e além) para poder ter mais uma dezena de patrocinadores. Focccco!! seleciona num problema e resolve ele, segundo Pareto 20% das soluções atende 80% da população.

Por outro lado, eu acredito que se um candidato falasse em campanha:

Prometo analisar o que podemos fazer com R$ 1.000.000.000 e identificar quais os problemas tem a educação, resolvendo as dificuldades mais importantes primeiro. Ao longo de 24 meses, acredito teremos resolvido esse problema, pois faremos revisões a cada 3 meses apresentando os resultados a população.

Mesmo sendo verdade e realista, o candidato não agradaria a quantidade suficiente de pessoas pois MUITA gente não entenderia nada do que foi falado 😦

Moonraker – 007 Contra alguém ou alguma coisa

Bond, James Bond

007 é muito maneiro, ao mesmo tempo que é muita galhofada. Estou revendo todos os filmes em sequência do maior agente secreto de todos os tempos, está sendo muito legal ver a mudança do personagem e das histórias ao longo do tempo. Principalmente as mudanças entre o Sean Connery, o primeiro ator, e o Roger Moore. Não vou comentar sobre o George Lazenby que só apareceu em um filme e não gostei nem um pouco. Tem algumas coisas que hoje me incomodam no Bond. Vamos a elas:

  1. Ou James Bond é um nome falso ou ele é um idiota completo pois todo mundo, de mordomos a vilões, conhecem ele pelo nome.
  2. O Q deve ser um agente muito bem informado, em cada filme ele dá ao 007 exatamente os gadget que ele vai precisar.
  3. Como pode o cara ser tão irresistível com as mulheres? Ele chega a pegar 4 diferentes por filme, principalmente as que querem matá-lo.
  4. Os vilões. Tenho que dizer que os planos são perfeitos, tirando que: eles não fazem entregas parciais, não conseguem medir o valor agregado e não se adaptam rápido a mudanças. Mas as suas equipes são muito comprometidas, normalmente até a morte.

Mas mesmo isso eu adoro James Bond. E vou continuar revendo e revendo. Nesse último filme que vi, Moonraker, algumas coisas me chamaram muito a atenção. Em um determinado momento do filme o agente está no Rio de Janeiro segue algumas dessas cenas.

  • Porque no Rio de Janeiro teria um outdoor de uma empresa escrito totalmente em inglês?!
  • Outra vez, será que a língua oficial do Brazil é inglês? Se for, 90% da população é analfabeta
  • O Pão de Açúcar não é um ponto turístico desde a sua inauguração? Onde estão os outros turistas no bondinho, 2 pessoas é um desperdício.
  • Que roupa é essa? Isso era para ser um gaúcho? :@

Mais uma coisa, 007 Contra o foguete da morte?? 0.O

Não tinha foguete, aquilo eram ônibus espaciais. Por favor senhores responsáveis por “batizar” o filme em português, vejam o filme antes de dar o nome.

Não por esses motivos acima, mas o filme não é muito bom, minha nota no Filmow é de 2,5. Não atendeu as exceptivas.