Calma, calma, eu sei que o título está um pouco, ou melhor, muito ambicioso, mas em 2009, Jurgen Appelo fez um post chamado “A grande lista de práticas ágeis“, sabendo desde o inicio que o post seria odiado e amado por muitos, visto que já muita gente encara metodologias de modos mais partidários ou religiosos. Com este aqui não será diferente.
Eu gosto de encarar essas práticas como uma caixa de ferramentas, e nessa linha, podemos encarara que cada ferramenta certa para o problema certo, ou seja, dependendo de cada realidade ou contexto, ferramentas diferentes serão ou não úteis. Tomei como base a lista do Jurgen e incluí algumas outras práticas.
Referências
Um dos maiores problemas da sociedade moderna é a dificuldade de locomoção diária, a maioria das pessoas passa horas em seus carros, ou em meios de transporte públicos para irem de lugar a outro. Há alguns anos atrás quando morava na zona norte de São Paulo e trabalha na zona sul, essa era minha realidade. Uma vez que naquela época passar por isso era inevitável procurei formas de fazer com esse tempo pudesse de alguma forma torna-se produtivo, foi então que comecei a ouvir à podcasts.
De acordo com a Wikipedia, Podcasting é uma forma de publicação de arquivos de mídia digital (áudio, vídeo, foto, etc.) pela Internet, através de um feed RSS, que permite aos utilizadores acompanhar a sua atualização. Assim, é possível o acompanhamento e/ou download automático do conteúdo de um podcast.
Neste post apresentarei os podcasts aos quais escuto e os episódios principais para que você ouça. Sugiro que você utilize o iTunes para inscrever-se nos podcasts e sincronizar com seu iPod.
por Vinícius Teles
http://improveit.com.br/podcast
Português
Por AgilCoop
http://agilcoop.incubadora.fapesp.br/portal/agilcast
Português
Por André Faria e Luiz Faias Jr.
http://podcast.bluesoft.com.br
Português em Áudio e Vídeo
http://agiletoolkit.libsyn.com
Inglês
Inglês
http://www.agilepodcast.com
http://www.thoughtworks.com/what-we-say/podcasts.html
Inglês
por Leo Laport, Jono Bacon e Randal Schwartz
Inglês
Podcast da Comunidade JBoss
Inglês
http://asylum.libsyn.com
Por Tor Norbye, Carl Quinn, Dick Wall e Joe Nuxoll
Inglês
http://www.javaposse.com
Inglês
http://www.javaworld.com/podcasts/jtech
Por Glen Smith e Sven Haiges
http://grailspodcast.com
Por Jason Seifer e Gregg Pollack
Inglês
http://railsenvy.com
por Geoffrey Grosenbach
Inglês
http://podcast.rubyonrails.com/
Por Mike Moore
Ingles
http://rubiverse.com
Inglês
http://blog.jquery.com/2009/11/13/announcing-the-official-jquery-podcast/
Inglês
http://yayquery.com/
Inglês
http://ajaxian.com/by/category/podcasts
por Cali Lewis
Inglês
http://www.geekbrief.tv
por Pragmatic Bookshelf
Inglês
http://www.pragprog.com/podcasts
por Software Engineering Radio
http://www.se-radio.net
Inglês
por Elegant Code Community
http://elegantcode.com
Inglês
http://code.google.com/p/google-developer-podcast/downloads/list
Inglês
http://herdingcode.com
Inglês
The Dev Show
Inglês
http://5by5.tv/devshow
The Changelog
Inglês
http://thechangelog.com/
http://itc.conversationsnetwork.org
Inglês
por Amber MacArthur e Leo Laport
http://www.twit.tv/natn
por Leo Laporte, Jeff Jarvis, Baratunde Thurston, e John C. Dvorak
http://www.twit.tv/twit
por Leo Laporte, Don McAllister, Paul Kent, and Andy Ihnatko
http://www.twit.tv/mbw
por Leo Laporte, Gina Trapani, Jeff Jarvis e Mary Hodder
http://www.twit.tv/twig
inglês
http://www.sitepoint.com/podcast
por 37 Signals
Inglês
http://37signals.com/podcast
por Max Gehringer
Português
http://cbn.globoradio.globo.com/servicos/podcast/NOME.htm
por Heródoto Barbeiro
Português em Áudio
http://cbn.globoradio.globo.com/servicos/podcast/NOME.htm
http://startuppodcast.wordpress.com
Inglês
por TED Talks
Inglês
http://www.ted.com
Se você quiser incluir algum outro podcast nesta lista, deixe um comentário. Espero que seja Útil!
É com grande satisfação que anuncio a publicação do artigo “Desenvolvendo com Agilidade” na revista Java Magazine Edição 68. Esta foi a primeira vez que escrevi um artigo para ser publicado em uma revista, e sem dúvida foi uma grande oportunidade que me trouxe excelentes experiências e maturidade. No artigo, procurei apresentar uma visão geral sobre o desenvolvimento ágil de software, sua origem, principais metodologias e práticas.
Espero que através de artigo mais pessoas entrem em contato com o desenvolvimento ágil e que tenham assim uma melhor experiência profissional. Escrevi sobre esse tema porque realmente acredito nele, e sei que pode trazer grandes benefícios ao dia-a-dia de muitas pessoas.
Críticas, sugestões e feedback serão sempre bem vindos.
Já nas bancas!
Nos dias 23 e 24 de Outubro participei do evento “Falando em Agile 2008” realizado pela Caelum aqui em São Paulo. Da mesma forma que fiz no “Rails Summit 2008“, tentarei transmitir um pouco da minha visão sobre o evento.
No primeiro dia, Alexandre Magno fez a abertura apresentando a proposta do evento e lançou uma questão para que as pessoas refletissem: “Agile simplesmente está na moda ou veio para ficar”?
Em seqüencia houve o Keynote de David Anderson, uma grande personalidade do mundo ágil envolvido na criação da metodologia Feature Driven Development (FDD), ele foi trazido à São Paulo pela Heptagon para ministrar o treinamento Zen Of Agile. Algumas pessoas já falaram sobre a palestra do David, mas gostaria de comentar alguns pontos que me chamaram atenção.
“Working harden rather than smarter:” David questionou sobre simplesmente trabalhar duro ao invés de trabalhar e forma inteligente, e comentou sobre a fato de as pessoas não terem vida social ou tempo para a família porque trabalham mais (ou muito mais) de 40 horas semanais. Será que isso é mesmo necessário?
“The workers are not the problem, managers are:” Essa é uma frase de Barry Boehm que foi citada para começar uma reflexão sobre diversos problemas de gerenciamento de software, segundo David, um fraco gerenciamento pode encarecer o desenvolvimento de software mais intensamente do que qualquer outro fator. O palestrante disse acreditar que os gerentes do Starbucks são melhores do que a maioria dos gerentes de projetos de desenvolvimento de software: – “Eles simplesmente fazem o que tem que ser feito“.
“Todo trabalhador do conhecimento é um executivo:” No sentido de que tomamos milhares de decisões todos os dias para realizar nosso trabalho, não se trata apenas de seguir uma especificação.
“Software quase sem defeitos é possível:” David afirmou que um software sem defeitos pode até ser impossível, mas quase sem defeitos, com certeza, é possível. Comentou sobre a idéia que vem do Lean de parar tudo para resolver defeitos e falou da importância incentivar e dar condições aos desenvolvedores de fazer tudo de forma apropriada (inclusive dando a eles mais tempo se for necessário).
Alguns outros bons conselhos de David foram:
O Adail Retamal da Heptagon fez uma apresentação sobre Agile Thinking (Pensamento Ágil) onde apresentou diversas técnicas que utiliza como apoio ao desenvolvimento ágil. Adail fez um tributo a filósofos e pensadores que o ajudaram a formar seus principais conceitos: Platão, Aristóteles, Arquimedes, Newton, Professor Júlio César de Melo, Richard Feynman e Eliyahu Moshe Goldratt.
Em seqüencia, foi apresentada a técnica de desenhar Mapas Mentais, que são um tipo de diagrama voltados para a gestão de informações, de conhecimento e de capital intelectual, que pode ser usado para desenvolver documentação de projetos. Foi sugerido que se faça um mapa para projetos que responda as perguntas:
Adail explicou como funciona a UML em cores, e apresentou o conceito de Teoria das Restrições (TOC), e como utilizá-los no desenvolvimento de software para melhoria contínua, identificar problemas, encontrar raízes de problemas, manter o foco no que é importante, e suas solucionar problemas.
A Galera da Sea Tecnologia e o Tenente Souto apresentaram um case de desenvolvimento ágil de software dentro da aeronáutica, comentaram sobre a experiência adquirida na quebra de paradigmas e enfrentando diversas dificuldades culturais.
O Guilherme Chapiewski da Globo.com fez uma apresentação sobre liderança em equipes ágeis, os principais conceitos na minha perspectiva foram os seguintes:
No final no primeiro dia, claro, assim como no Rails Summit, tivemos um Happy Hour no bar opção que fica na região da Avenida Paulista com presença da maioria dos palestrantes e uma galera super bacana.
No segundo dia, o Danilo Bardusco da Globo.com falou sobre como foi a introdução do Scrum na Globo.com, como surgiu a idéia, quais eram as necessidades, quais foram as dificuldades e como eles estão as vencendo. Entre as dificuldades, Danilo citou a quebra do paradigma do Big Design Up Front (BDUF), ter a equipe toda trabalhando em uma historia por vez e enfrentar a resistência de quem acha que está perdendo o poder. Achei interessante a idéia de utilizar personas para ajudar entender as histórias e reuniões periódicas entre disciplinas (arquitetos da informação scrum masters, etc.). Os Slides da apresentação estão disponíveis no blog do Bardusco.
O Daniel Cukier e o Professor Fábio Kon, ambos da Agilcoop e do IME/USP fizeram uma apresentação sobre “Padrões para Introduzir Nova Idéias” com base no livro “Fearless Change” de Linda Rising e Mary Lynn Manns, uma ótima abordagem quem está implementando metodologias ágeis em organizações. Recomendo assistir à esta entrevista (em inglês) e ouvir à este podcast da Agilcoop (em português) para mais informações sobre o assunto.
O Daniel Wildt da Dell em sua palestra contou um pouco sobre sua experiência na implantação de metodologias ágeis em equipes distribuídas, acho que a principal mensagem da palestra foi “Qualidade não é um opção“. Segundo Daniel, os princípios de qualidade da norma ISO 9000 são coerentes com o Manifesto Ágil.
O Antonio Carlos Silveira do Yahoo falou sobre o papel o Product Owner e a Priorizarão do Product Backlog. Os principais recados foram:
Antônio também apresentou as técnicas “Kano Model” e “Benefício Relativo” para estimativa de histórias, mas disse que no fim das contas a o chute é a técnica que impera.
O Phillip Calçado “Shoes” da ThoughtWorks em sua palestra “A Maldição da Fábrica de Software” falou sobre algumas lições que aprendeu em projetos que trabalhou na Austrália.
O Primeiro problema citado foi o de um projeto onde muitas pessoas foram envolvidas e como “gente demais compromete a comunicação” as coisas foram ficando complicadas, até chegar a um ponto em que 4 pessoas desenvolveram a mesma coisa no mesmo dia. Eu acho que este tipo de coisa acontece porque algumas pessoas ainda não entenderam que a idéia de que “o fato de 1 mulher poder ter 1 filho em 9 meses não significa que 9 Mulheres podem ter 1 filho em 1 mês“.
O Segundo problema foi referente a um projeto com um pouco de BDUF em que havia um arquiteto super-herói que dizia aos programadores o que e como desenvolver. Como resultado, a primeira versão do projeto foi entregue em metade do tempo planejado porém, na segunda versão os programadores queriam começar tudo de novo porque era impossível dar manutenção no código que havia sido desenvolvido. Isso aconteceu principalmente porque não houve refactoring.
De acordo com Shoes problemas como os citados acima acontecem porque as pessoas muitas vezes não entendem que tudo em métodos ágeis é um ciclo e que como as práticas estão relacionadas, jogar uma prática fora pode comprometer as outras, por isso experimente antes de jogar fora. Isso não quer dizer que você não possa adaptar métodos ágeis a uma forma mais adequada a sua realidade, mas quer dizer que você deve tomar cuidado e adaptar conscientemente. Saiba o que você está fazendo e pense no que você perde.
Algumas dicas do Shoes:
Além das palestras citadas, houveram outras de excelente qualidade apresentadas por Danilo Sato, Francisco Trindade, Professor José Papo, Alexandre Magno e Robinson Caiado.
Meus parabéns a toda a equipe da Caelum pela realização do evento, a Globo.com, ao Yahoo e a Borland pelo patrocínio, e todas a pessoas que tornaram o “Falando em Agile 2008″ realidade.
Fique Ligado nos próximos eventos: OpenHack 2008 e Lançamento da InfoQ Brasil.