segunda-feira, 26 de abril de 2010

Quem não usa ágil dá um tiro no escuro

Há um tempo atrás, eu estava lendo o livro Extreme Programming do Vinícius Teles e parei um pouco para lanchar. Abri o Rhythmbox, coloquei no shuffle e apertei o play. Começou a tocar Óculos escuros de Raul Seixas. Enquanto ouvia, me veio a cabeça frases sobre XP para substituir as frases da música. Então, resolvi não lanchar aquela hora e fui escrever. O resultado foi esse:

Quem não usa ágil dá um tiro no escuro


(Quem não usa ágil dá um tiro no escuro)
Kent Beck já dizia o requisito vai mudar
(Quem não usa ágil dá um tiro no escuro)
Mas o escopo é fechado e não dá mais para alterar
(Quem não usa ágil dá um tiro no escuro)
A qualidade cai por terra, não dá tempo pra testar
(Quem não usa ágil dá um tiro no escuro)
O analista documenta pois não sabe implementar¹

Quem não usa ágil dá um tiro no escuro
E como a maré, os requisitos sempre mudam
E o cliente então, bate a cara contra o muro

(Quem não usa ágil dá um tiro no escuro)
Pra erro bobo corrigir, pair programming eu vou fazer
(Quem não usa ágil dá um tiro no escuro)
E vou trocar conhecimentos, todo dia aprender
(Quem não usa ágil dá um tiro no escuro)
CMM é o caramba a parada é XP
(Quem não usa ágil dá um tiro no escuro)
Pra que tanto documento se eu tenho BDD

Quem não usa ágil dá um tiro no escuro
E como a maré, os requisitos sempre mudam
E o cliente então, bate a cara contra o muro

¹ Para a grande maioria, isto é verdade. Porém, existem aqueles que encontram o caminho da luz.

Para quem não lembra: música e letra original.

Quem achar que pode melhorar a letra, manda um comentário e a gente vê como fica! =)

Vou ver se gravo uma versão, com a ajuda de alguns amigos, e posto aqui o resultado.

Update (03/08/10): Como prometido acima, aqui está a música! =)

Nota: Este post estava no meu blog antigo e não tive como trazer os comentários. Além dos elogios de Eduardo Hertz, Rogério Atem, Tarsis Azevedo, Lucas, Lucas Fernandes, Cássio RS, Rodrigo Pinto, Marcos Bernardo, Alisson Sales, Michel Amaral, André Faria Gomes, Eberson Pereira, Bruno Marota, Ahdail Netto e Henrique Bastos, destaco alguns:
  • Hugo Lopes Tavares

    Ficou simplesmente foda :)
    Parabéns!

    Eu tenho um patch:

    --- original 2010-04-26 23:13:50.000000000 -0300
    +++ patch 2010-04-26 23:14:33.000000000 -0300
    @@ -9,7 +9,7 @@
    (Quem não usa ágil dá um tiro no escuro)
    O analista documenta pois não sabe implementar¹
    Quem não usa ágil dá um tiro no escuro
    -E como a maré, muitos requisitos mudam
    +E como a maré, os requisitos sempre mudam
    E o cliente então, bate a cara contra o muro

    (Quem não usa ágil dá um tiro no escuro)
    @@ -22,5 +22,5 @@
    Pra que tanto documento se eu tenho BDD

    Quem não usa ágil dá um tiro no escuro
    -E como a maré, muitos requisitos mudam
    +E como a maré, os requisitos sempre mudam
    E o cliente então, bate a cara contra o muro

  • Vinícius Manhães Teles

    Absolutamente sensacional!!!!

    Parabéns!

    Grande abraço,

    Vinícius Teles.

  • Ricardo

    Parabéns! Muito criativo mesmooooo...

    Sugiro trocar: "Pra erro bobo corrigir, pair programming eu vou fazer"
    Pra: "Pra tempo economizar, pair programming eu vou fazer"

    e

    De: "CMM é o caramba a parada é XP"
    Pra: ???

    Creio que não é bom rivalizar o XP com o CMM.. existe um meio termo entre os dois que não será Agile como o XP e nem tão burocrático quanto a maioria das implementações CMM. E começando assim, mesmo ainda com o CMM, a empresa pode ir melhorando rumo à um Agile mais pleno e maduro.

    Grande Abraço

    Ricardo

  • Hugo Maia Vieira

    Valeu pelos elogios pessoal! =)

    Hugo:

    Feito merge!

    Ricardo:

    Tentei preservar a sonoridade da música original e a forma como você colocou foge um pouco e fica meio estranho para cantar. Veja:

    Original: É tanta coisa no menu que eu não sei o que comer
    Sua: Pra tempo economizar, pair programming eu vou fazer

    Quanto à segunda colocação, a intenção é criar questionamentos e ser divertido e não rivalizar =)

    O pessoal do NSI se mobilizou e vamos gravar uma versão. Assim que estiver terminada postarei aqui no blog.

    Abraço à todos!

  • Marcus Rodrigues

    Caríssimos,

    Interessante a versão... bem bolada! Mas permitam-me um comentário. Mas antes, uma citação:

    “Bem-aventurados os que não viram e creram.” João 20:29b

    Ou trazendo para o nosso tema... Felizes os que enxergam mesmo no escuro ;-)

    Interessados em desenvolver a "arte" de atirar no escuro, convido uma leitura sobre o SCRUMMI: http://www.scrummi.com.br/

    O Scrummi é um processo para gerenciamento ágil de projetos que foi desenvolvido como resultado de projeto de pesquisa do mestrado de Ana Sofia Marçal, visando combinar práticas do método ágil Scrum com práticas das áreas de processo de gestão do CMMI.

    Atirar no escuro é possível, e totalmente viável ;-)

    Forte abraço,

    Marcus Rodrigues, PMP, MSC ;-)

  • Luiz C. Parzianello

    Hugo, realmente ficou bem criativo e engraçado! Parabéns! Mas também vou tomar a liberdade de deixar algumas sugestões de refactoring para sua letra:

    1) Substituir "usa ágil" por "pensa ágil". Fica coerente com a sonoridade e vai mais ao encontro com aquilo que pregamos. O próprio David Hussman tem batido na tecla de parar de dizer que fazemos ou usamos Métodos Ágeis. Isso faz pensar em processo novamente acima das pessoas e interações. O processo que temos que pensar é o do pensamento ágil.

    2) Concordo que inserir CMM na letra gera um desconforto para muita gente. Evite aquilo que não se quer e foque mais naquilo que queremos. Uma sugestão, dado que estás explorando mais XP:

    Substituir: "CMM é o caramba a parada é XP"
    Por: "E com o produto integrado, mais valor nós vamos ver"

    Combina com a frase original do Raul e tira o CMM :-)
    "Só com a praia bem deserta que o sol pode nascer"

    Meus 2 cents!

  • Cristiano Teles

    Pô muito boa a ideia, acabei de ouvir a música e achei muito boa.
    Poderia fazer referência desse post com a música gravada ;)
    Já que pesquisando pelo nome da música cai aqui.

    Valeu

[ ]'s

quinta-feira, 22 de abril de 2010

Vamos instalar e configurar o Git?

Git é um sistema de controle de versão gratuito e opensource. É muito simples de manipular e foi projetado para ser usado desde pequenos projetos individuas até grandes projetos com diversas pessoas, com grande velocidade e eficiência.

Para instalar o git rode no terminal (Ubuntu):

$ sudo apt-get install git
A configuração do git fica guardada no arquivo .gitconfig na home do usuário. Você pode configurar o git editando esse arquivo manualmente, porém, recomento usar o comando git config pelo terminal que editará o arquivo pra você, e irá manter o padrão correto de configuração do arquivo.

Para manter a configuração de todos os seus projetos a mesma, utiliza-se o argumento --global.

Usuário


As configurações do usuário são importantes para identificar quem fez as alterações nos arquivos. Para quem usa o github, o e-mail configurado aqui deve ser o mesmo cadastrado no site, para que ele te identifique e relacione seus commits a você, além de colocar as informações cadastradas no gravatar, como sua foto.

$ git config --global user.name "Hugo Maia Vieira"
$ git config --global user.email "hugomaiavieira@gmail.com"

Cores


O uso de cores facilita bastante quando você vai ver alguma informação. Para facilitar a visualização do branch, diff, grep e status você pode ativar o uso de cores para esses comandos do git.

$ git config --global color.ui auto
Assim, ao rodar o git status, por exemplo, você vai ver os arquivos modificados adicionados e não adicionados ao commit em verde e vermelho respectivamente.

Editor


Ao fazer qualquer interação que precise de alguma entrada de texto, por exemplo um commit, o editor que você configurar aqui será aberto para você escrever, neste caso, a descrição do que foi alterado. No meu caso eu uso o vim.

$ git config --global core.editor vim

Abreviações/Apelidos


Algumas pessoas preferem usar abreviações em vez de digitar o nome do comando inteiro. Eu particularmente acho desnecessário, pois o comandos são curtos e o tab também ajuda bastante, mas para quem gosta ai vai um exemplo no estilo SVN

$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.co checkout
$ git config --global alias.st status

Essas são apenas as configurações mais básicas. Para mais informações sobre outras diversas configurações existentes veja a documentação.

Nota: Este post estava no meu blog antigo e não tive como trazer os comentários. Seguem o bom comentário que lá estava:
  • Hugo Lopes Tavares
    Aprendi um alias muito interessante com uma apresentação que o Gabriel Lima me enviou por e-mail:

    git config --global alias.gl "log --graph --pretty=oneline --abbrev-commit"
    O que isso fará é um log, mostrando um gráfico com contrabarras e pipes de merges, apenas uma linha com as informações do commit (hash e mensagem do commit) e fará uma abreviação do hash. Assim, um no should-dsl eu tive, entre outras mensagens:

    $ git gl
    * e7ce5fe should.thrown added
    * 5044b8b obsolete comments removed
    * 1bee06e matcher added: equal_to_ignoring_case
    * 2674658 updated version

    Abração!
[ ]'s

sexta-feira, 9 de abril de 2010

Deus e Ruby!

Deus e Ruby

Um bom exemplo do poder de ruby e da lentidão de sua versão 1.8 =)

Estou começando a brincar com o Inkscape. Como tinha a ideia dessa tirinha, resolvi cria-la usando o Inkscape para dar uma treinada. Pretendo fazer outras como esta, se surgirem ideias novas =)

[ ]'s

segunda-feira, 5 de abril de 2010

Novo blog em Django!

Com o intuito de começar aprender Django e aprimorar o CSS, além de outros projetos que tenho em mente e que pretendo colocar em prática durante o ano, comprei o domínio hugomaiavieira.com e contratei um serviço de hospedagem para criar meu novo blog.

Tendo como base o blog desenvolvido durante a leitura do ótimo livro Aprendendo Django no Planeta Terra, alterei e incrementei seu código para chegar a esse blog.

Tenho que dizer que é extremamente legal programar em Django, por ser bem definido, simples e mostrar resultados rapidamente! Outra coisa irada do Django é sua documentação que é muito boa!

Com isso, passei os poucos posts do meu antigo blog do wordpress para este novo blog desenvolvido em Django =)

Vou tentar postar mais esse ano. Já têm várias ideias anotadas no Tomboy, agora é achar um tempinho para escrever. =)
  • Juvencio

    Parabens, tb estou tentando estudar o Python django.

    Onde posso encontra umas videos aulas de Django, poderia me ajudar.

    grato

  • Hugo Maia Vieira

    Juvencio,

    A documentação do Django é muito boa e grande parte dela está em português também. Acredito que este seja o melhor material. Tem um Tutorial muito bom.
    Outra boa referência é o livro Aprendendo Django no Planeta Terra.
    Com vídeo aulas eu não posso te ajudar, pois nunca procurei. O google vai ser mais prestativo que eu nesse sentido :)

    Abraço!


[ ]'s

domingo, 4 de abril de 2010

Refactoring script html-characters

Quem desenvolve para web sabe que é um saco ter que ficar colocando &aacutE; ao invés de á, por exemplo, para não ter problemas com a codificação.

Como tive esse problema recentemente, adicionei ao projeto Refactoring scripts o html-characters.sh, que troca caracteres especiais da língua portuguesa por seus respectivos códigos html. O script informa os caracteres encontrados em cada arquivo que foi modificado.

Lembre-se de rodar esse script apenas para os arquivos de, por exemplo, templates (django) ou views (rails), para não modificar arquivos que nada tem a ver com o assunto.

O legal é que você pode escrever a vontade, sem se preocupar com os acentos e rodar o script antes de fazer o deployment (ainda mais se for automatizado).

Informações mais detalhadas:

$ ./html-characters.sh --help
[ ]'s