Professional Documents
Culture Documents
2005: fui monitor da disciplina Tpicos (Avanados) de Programao Orientad Voltei a implementar (solitariamente) sistemas interessantes (provadores de teoremas)
KEMS: http://kems.iv.fapesp.br
Rpidas passagens pela USP-Ribeiro Preto, CEFET-SP-Sertozinho e UDESC-Joinville Longo tempo sem programar... (desde o final de 2006) Mas sempre curioso com relao a mtodos geis (e acompanhado os passos da Agilcoop)
Roteiro
1. O que so e como surgiram as metodologias geis? 2. Dois exemplos de metodologias geis:
XP e Scrum
Roteiro
1. Metodologias geis e o Mercado de Trabalho 2. Quem so os principais divulgadores/especialistas/praticantes? 3. Eventos sobre metodologias geis no Brasil e no mundo 4. Bibliografia bsica sobre metodologias geis
Engenharia de Software
No parecida com Engenharia Civil!
Aps construir uma casa no fcil mudar uma parede de lugar!!! Mas em software, mudar uma parede de lugar sim relativamente fcil...
Desejo de criar uma engenharia para que se tenha controle sobre desenvolvimento de software Engenharias tradicionais colocam grande nfase em projetar antes de construir
Portanto
Precisamos parar de tentar evitar mudanas
Mudanas so um aspecto intrnseco da vida do software
Precisamos de uma metodologia de desenvolvimento que nos permita alterar constantemente o cdigo sem comprometer sua qualidade
O que queremos
custo
Mas, infelizmente,
no h gente suficiente para desenvolver tanto software com qualidade.
Problemas
Com metodologias de desenvolvimento
Supem que possvel prever o futuro Pouca interao com os clientes nfase em burocracias (documentos, formulrios, processos, controles rgidos, etc.) Avaliao do progresso baseado na evoluo da burocracia e no do cdigo
Com software
Grande quantidade de erros Falta de flexibilidade
Copyleft Fabio Kon
Melhores Metodologias
Mtodos geis outras...
geis
Comunidade de POO ACM OOPSLA p.ex. Johnson @ Illinois, Beck, Cockburn, Jeffries, Cunningham XP, Crystal, Scrum, etc.
Copyleft Fabio Kon
O Manifesto do
Desenvolvimento gil de Software
1. Indivduos e interaes so mais importantes que processos e ferramentas. 2. Software funcionando mais importante do que documentao completa e detalhada. 3. Colaborao com o cliente mais importante do que negociao de contratos. 4. Adaptao a mudanas mais importante do que seguir o plano inicial.
Copyleft Fabio Kon
Agilidade
Existe em outras reas?
Produo televisiva (comercial) Produo cultural
Livros
Os escritores no comeam a escrever pelo primeiro captulo e vo at o ltimo...
O Novo XP
XP = eXtreme Programming = Programao Extrema BECK, Kent. Extreme Programming Explained Embrace Change. 1999. BECK, Kent e ANDRES, Cynthia.Extreme Programming Explained Embrace Change. Second Edition. Addison Wesley, 2005.
KENT BECK
Fonte: http://c2.com/ppr/about/author/kent.html
Valores de XP
Comunicao Simplicidade Retroalimentao (Feedback) Coragem Respeito
Valores de XP
Comunicao
A maioria dos problemas e erros so causados por falta de comunicao Maximizar a comunicao entre a equipe e o cliente Comunicao entre pessoas: direta Comunicao entre pessoas e artefatos: estes devem ser de leitura fcil e estar atualizados
Valores de XP
Comunicao Simplicidade Retroalimentao (Feedback) Coragem Respeito
Valores de XP
Comunicao Simplicidade Retroalimentao (Feedback) Coragem Respeito
Valores de XP
Comunicao Simplicidade Retroalimentao (Feedback) Coragem Respeito
Valores contrrios XP
Comunicao
preferir papel a olho-no-olho
Simplicidade
fazer mais do que o necessrio para resolver o problema atual pensando em antecipar a resoluo de problemas futuros
Retroalimentao (Feedback)
Retroalimentao s bem perto do final. Contrato assinado.
Coragem Respeito
Longas jornadas de trabalho para terminar o projeto
Princpios de XP - I
Humanidade Economia Benefcio mtuo Auto-similaridade Melhora contnua Diversidade Reflexo
Princpios de XP - II
Fluxo (Flow) Oportunidade Redundncia Falha Qualidade Passos de beb Responsabilidade aceita
Prticas de XP
Categorias
Anlise de Requisitos e Planejamento Fatores relacionados a equipes e fatores humanos Projeto (Design) Codificao e lanamento (liberao) de cdigo Muitas prticas poderiam se encaixar em diferentes categorias...
Prticas Principais
Anlise de Requisitos e Planejamento
Estrias Ciclo semanal Ciclo quinzenal Folga
Prticas Principais
Fatores relacionados a equipes e fatores humanos
Sentar junto Time inteiro Ambiente de trabalho informativo Trabalho energizado Programao Pareada
Prticas Principais
Projeto (Design)
Design incremental Programao com testes primeiro
Prticas Principais
Codificao e lanamento (liberao) de cdigo
Build de dez minutos Integrao contnua
Prticas Secundrias/Decorrentes
Anlise de Requisitos e Planejamento
Envolvimento real do cliente Entrega (Deployment) incremental Contrato de escopo negociado Pague-pelo-uso
Prticas Secundrias/Decorrentes
Fatores de equipe e fatores humanos
Continuidade da equipe Times que encolhem
Prticas Secundrias/Decorrentes
Projeto (Design)
Anlise Causa-Raiz
Prticas Secundrias/Decorrentes
Codificao e lanamento (liberao) de cdigo
Cdigo e testes Cdigo compartilhado Base de cdigo nica Entrega (deployment) diria
Referncias
BECK, Kent e ANDRES, Cynthia.Extreme Programming Explained Embrace Change. Second Edition. Addison Wesley, 2005. MARCHESI, Michele. The New XP: An Analysis of Extreme Programming Explained - Second Edition. http://en.wikipedia.org/wiki/Extreme_programm
Referncias
http://en.wikipedia.org/wiki/Kent_Beck
O que Scrum?
Processo de controle e gerenciamento Processo iterativo de inspeo e adaptao Usado para gerenciar projetos complexos Entrega valor de negcio periodicamente Compatvel com CMMi at o nvel 3, ISO e outras metodologias Extremamente simples, mas muito difcil
Copyleft Agilcoop
Princpios
Os envolvidos trabalham em equipe com:
Responsabilidade Transparncia Honestidade Auto-organizao
Tipos de Processo
Processo prescritivo
Funciona em ambientes controlados
Processo emprico
Funciona para processos complexos e imprevisveis
Copyleft Agilcoop
Origens de Scrum
Jeff Suttherland - www.jeffsutherland.com Ken Schwaber - www.controlchaos.com Mike Beedle - www.mikebeedle.com Inspirao
Desenvolvimento Iterativo e Incremental em empresas (DuPont) nos anos 80 Lean Sistema de Produo da Toyota Produtividade de Equipes
Copyleft Agilcoop
Papis
Copyleft Agilcoop
Product Owner
Define a viso do produto o representante dos clientes Entende do negcio Define o objetivo do Sprint Elege prioridades de negcio Gerencia o Backlog
Copyleft Agilcoop
Equipe
Responsvel pela entrega Multi-funcional Auto-organizada e auto-gerenciada Todos os membros igualmente comprometidos com um objetivo comum Geralmente equipes pequenas (at 10)
Equipes grandes geralmente se comportam como vrias equipes pequenas
Copyleft Agilcoop
ScrumMaster
Conhecimento do processo Remove impedimentos Protege a equipe
Riscos e interferncias externos Excesso de otimismo
Artefatos
Backlog do Produto Backlog Selecionado
No muda durante o Sprint
Backlog do Sprint
Tarefas priorizadas
Backlog de Impedimentos
Copyleft Agilcoop
Viso do Processo
Copyleft Agilcoop
Planejamento
Reunio de Estimativa Entrada: Backlog do Produto priorizado Sada: Itens relevantes do Backlog do Produto estimados Participantes: Equipe e ScrumMaster Sprint Planning I Entrada: Backlog priorizado e estimado Sada: Objetivo do Sprint Backlog Selecionado Participantes: Todos
Copyleft Agilcoop
Sprint
Sprint = Iterao Tamanho fixo
Recomendao:
Antigamente: 30 dias Atualmente: 2 semanas
Durante o Sprint:
Daily Scrum (Stand-Up Meeting)
Copyleft Agilcoop
Questes que aparecem devem ser resolvidas aps a reunio Tempo fixo: 15 minutos
Copyleft Agilcoop
Local do Encontro
Sempre o mesmo local e hora Pode ser o local de desenvolvimento Sala bem equipada, quadro branco, etc. A sala j deve estar arrumada antes Todos devem participar Galinhas ficam na periferia Ficar em p ajuda a terminar rpido Punies (atrasos/faltas)
Copyleft Agilcoop
Acompanhamento
ScrumMaster atualiza o Burn-Down Chart
um grfico de quanto falta
Copyleft Agilcoop
Sprint Review
Reunio onde o Product Owner:
Valida os itens entregues Verifica se o objetivo do Sprint foi atingido
Copyleft Agilcoop
Retrospectiva
Momento para reflexo e aprendizado Gera discusses para alimentar o prximo Sprint Quem est no controle?
Equipe: Backlog Instituio: Backlog de Impedimentos
Copyleft Agilcoop
Sprint de Entrega
No faz parte do Scrum padro, mas bem usado na prtica Um ltimo Sprint para fechar o produto O objetivo :
Preparar a verso de produo O foco a eliminao de erros
Copyleft Agilcoop
s isso?
Scrum simples, mas no fcil! Comece usando Scrum para a equipe identificar problemas Pode ser usado com metodologias focadas em aspectos tcnicos
Copyleft Agilcoop
Precisamos de Certificao?
Certified Scrum Master Certified Scrum Product Owner Certified Scrum Practioner Certified Scrum Trainer Certified Scrum Coach
?
Copyleft Agilcoop
Mais Informaes
Agille Alliance - www.agilealliance.org
tima fonte sobre mtodos geis
Programao Pareada
A principal vantagem...
Quando se est trabalhando em par se trabalha o dia todo. Pois ao trabalhar sozinho, voc v o seu e-mail, l blogs e etc. E essas coisas no acontecem com programao em par. Ao fim de um dia de programao em par voc est cansado, pois voc realmente pensou e trabalhou o dia todo. Mas voc fica contente, pois sabe que teve o trabalho realizado.
Obie Fernandezem sua palestra noRails Summit Latin America 2008
Os parceiros devem trocar de papis de tempos em tempos para compartilhar o trabalho igualmente e obter o mximo da sua experincia com a programao pareada.
Importante!
Um controla o teclado e o mouse O outro observa criticamente Os dois esto continuamente dialogando De tempos em tempos, o controle muda de mos Ao longo de um projeto, os companheiros so trocados
Vale a pena?
Aparentemente no... Usa dois recursos em vez de um
Pagar o salrio de dois desenvolvedores para trabalharem num mesmo problema???
Os dois usam o mesmo computador a maior parte do tempo (o outro fica ocioso...)
Problemas culturais
Dificilmente isto se aplica aos brasileiros...
Mais pesquisas...
Pesquisas adicionais (em empresas e em diferentes pases) so necessrias para certificar a efetividade da programao em pares Sempre usando um grupo de controle que no utiliza programao pareada
Faa!
Fale
Nem um minuto deve se passar sem que voc esteja se comunicando de alguma forma.
Escute
Cada parceiro deve estar totalmente envolvido no projeto
Troque os papis
Troque de lugar para obter novas perspectivas e compartilhar o trabalho.
Seja paciente
uma virtude! Explicando-se voc ajuda voc mesmo a aprender.
Faa!
Respeite
Todo mundo tem algo a oferecer.
Faa paradas
Quando voc voltar, voc poder perceber algo que no estava percebendo antes.
Prepare-se
Faa qualquer trabalho preliminar antecipadamente.
Limpe-se
Como voc se sentiria se a pessoa com quem voc fosse passar horas cheirasse mal?
Divirta-se
Trabalhar com outra pessoa pode ser muito mais divertido
No Faa!
Seja mando
Voc no quer ser a nica pessoa na turma com a qual ningum quer trabalhar!
Fique intimidado
Voc sabe muito mais do que voc acha que sabe.
Seja quieto
No tenha medo de falar se voc no concorda com seu parceiro.
Sofra em silncio
Se voc tem um problema com seu desempenho na programao, informe ao seu professor.
Referncias
WILLIAMS, Laurie.Fun with Pair Programming. Disponvel em < http://agile.csc.ncsu.edu/pairlearning/worksheet.pdf>. Acesso em: 30 out. 2008. WILLIAMS, Laurie. Vdeo Divirta-se com a Programao Pareada: uma introduo Programao Pareada para estudantes. Disponvel em< http://agile.csc.ncsu.edu/pairlearning/educators.php#ppvideo>. Acesso em: 30 out. 2008. Williams, Laurie, Kessler, Robert R., Cunningham, Ward, and Jeffries, Ron, Strengthening the Case for Pair-Programming, IEEE Software, Vol. 17, No., 4, pp. 19-25, July/Aug 2000 Williams, Laurie and Kessler, Robert R., All I Really Need to Know about Pair Programming I Learned In Kindergarten, Communications of the ACM, Vol. 43, No., 5, pp. 108-114, May 2000. Williams, L.,The Collaborative Software Process. PhD Dissertation, 2000.
Testes
No modelo em cascata:
Elicitao de requisitos Projeto Construo (implementao ou codificao) Integrao Teste e depurao Instalao Manuteno de software
Fonte: Wikipedia
Tipos de Testes
Unidade Integrao Interface de Usurio Aceitao Mutao Desempenho Estresse Segurana
Copyleft Agilcoop
Testes Automatizados
Teste de Software:
Executar o programa a ser testado com alguma entrada e conferir visualmente os resultados obtidos
Teste Automatizado:
Programa ou script executvel que roda o programa a ser testado e faz verificaes automticas em cima dos efeitos colaterais obtidos.
Testar NO depurar
Testar verificar a presena de erros Depurar seguir o fluxo para identificar um erro conhecido
Copyleft Agilcoop
Testes de Unidade
Unidade: mdulo/classe ou funo/mtodo Teste bsico e muito importante
Encontra muitos erros
Copyleft Agilcoop
Livros:
Kent Beck, Test-Driven Development: By Example, Addison-Wesley Professional, 2002 Martin Fowler et al, Refactoring: Improving the Design of Existing Code, Addison-Wesley Professional, 1999 David Astels, Test Driven Development: A Practical Guide, Prentice Hall PTR, 2003
Online:
www.testdriven.com www.xprogramming.com
Copyleft Agilcoop
Exemplo
Testes de Unidade
JUnit 4.0
JUnit 4.0
Sobre o JUnit
Arcabouo para testes de unidades pequenos testes para as vrias partes (mdulos, mtodos, classes, etc) de um sistema Usado fortemente em XP, TDD e outros mtodos geis Cdigo-fonte livre Testes de unidades mostram a presena de erros, no a ausncia deles
Fonte: [3]
Um exemplo
Aplicao de brinquedo Contas bancrias
Conta Corrente Conta Especial
Depsitos
Testes primeiro!!!
Criao de conta corrente
ContaCorrente cc = new ContaCorrente(20315-8,1000.0);
@Before
Inicializao que ocorre antes de cada teste
@After
Finalizao aps cada teste
assertXXX
Verificao de valores
Fonte: [3]
Fonte: [3]
Excees Esperadas
@Test(expected=ArithmeticException.class) public void testDivisaoPorZero () { int n = 2 / 0; }
Fonte: [3]
Teste de tempo
@Test(timeout=500) public void buscaTodasAsNovelas(){ novelas.buscaTodas(); }
Teste falha se demorar mais do que timeout milissegundos til para testes de redes e conexes com bancos de dados Detalhe: @After no executado caso falhe!
Fonte: [3]
Teste de Tempo
Aplicaes modernas existem tempo de resposta mximo. O tempo de resposta pode mudar na medida em que o sistema evolui Testes de tempo garantem que o tempo de resposta mximo seja satisfeito, mesmo que o sistema se torne mais complexo O sistema cresce em funcionalidades sem perder performance!
Fonte: [3]
Outras Funcionalidades
@Ignore Para desabilitar temporariamente um teste assertEquals(Object[] expected, Object[] actual) compara vetor elemento a elemento
Fonte: [3]
Resumo
Precisa do JDK 5 para rodar @Test para anotar um teste @Before e @After para rodar antes e depois de cada teste. @Test recebe parmetro de timeout @Test recebe parmentro de excesso esperada
Fonte: [3]
Prximos Passos
Comear a usar o JUnit Ler mais sobre desenvolvimento dirigido por testes Aprender categorias e padres de testes Convencer demais membros da empresa a fazerem testes primeiro
Referncias Principais
[1] JUnit.org. Disponvel em <http://junit.org>.Acesso em: 30 out. 2008. [2] BECK, Kent e SAVOIA, Alberto. JUnit 4 and Java SE 5: Better Testing by Design. Disponvel em: http://developers.sun.com/learning/javaoneonline/j1sessn.jsp? . Acesso em: 20 out. 2008. [3] CUKIER, Daniel. JUnit 4.0. Disponvel em < http://gsd.ime.usp.br/seminars/2006/junit4.ppt>. Acesso em: 30 out. 2008.
Referncias Adicionais
BECK, Kent. Simple Smalltalk Testing: With Patterns. http://www.xprogramming.com/testfram.htm
Fonte: [3]
Refatorao
Refatorao
Refatorar melhorar o cdigo sem alterar sua funcionalidade Antes de fazer uma mudana, voc refatora o cdigo para que a mudana seja simples de fazer Refatorao contnua possibilita manter um design legal, mesmo com mudanas freqentes
O Livro de Refatorao
Refactoring: Improving the Design of Existing Code, escrito por Martin Fowler, contm dezenas de receitas de refatorao Se voc ainda no sabe, este livro vai te ensinar Orientao a Objetos
Por exemplo, teu cdigo tem switches em atributos de tipo?
Cdigo No-OO
int JobSpec::requests(){ if( js_type == jst_fixed ){ return 1; } else if( js_type == jst_downey ){ return js_options; } else if( js_type == jst_nas ){ fatal( not implemented yet" ); } else { fatal1( "unknown js_type: %s", js_type ); }
Copyleft Walfredo Cirne
Cdigo OO
class DowneyJobSpec: public JobSpec { int requests(){ return js_options; }; }
Copyleft Walfredo Cirne
Ferramentas
Java
Eclipse 3.2: Alt+Shift+T
Rename, Move, Change method signature, ... 10 ou mais opes...
Regio Nordeste
Em Fortaleza-CE
Fortes Informtica (com diversas filiais)
Regio Sudeste
Em So Paulo-SP
Objective Solutions Paggo Caelum (com filiais no Rio de Janeiro-RJ e em Porto Alegre-RS) LocaWeb Teamware (com filiais em Braslia-DF e na Argentina)
No Rio de Janeiro-RJ
ImproveIt
Ikwa
Canal de contedo, servios e networking para auxiliar estudantes e profissionais em suas decises e em seu crescimento acadmico e profissional. Primeira start-up Web 2.0 brasileira a receber investimento de venture capital. Utiliza metodologia gil de desenvolvimento de software. Em poucos meses, a equipe atingiu nveis elevados de flexibilidade e eficincia, conseguindo tornar o tempo de resposta a novas solicitaes extremamente baixo.
Ikwa
Novas funcionalidades passaram a entrar em produo semanalmente, sem perda de qualidade e com um layout que recebe inmeros elogios de seus usurios. Site: www.ikwa.com.br Fonte: [1]
LocaWeb
ALocaWeb a maior empresa de hospedagens de sites da Amrica Latina. No final de 2006, Daniel Cukier comeou a usar XP na equipe de desenvolvimento de servios de voz (LocaWeb Telecom). Usando a metodologia, a equipe conseguiu entregar funcionalidades de forma rpida e com baixo ndice de bugs. A diretoria da empresa percebeu as vantagens dos mtodos geis e decidiu realizar um treinamento envolvendo toda rea de tecnologia. Em agosto de 2007, Daniel e Maurcio Dediana realizaram um curso para 85 pessoas das reas de desenvolvimento e produtos da empresa. A partir da, as equipes comearam a adotar Scrum e algumas prticas de XP. Os diretores ficou muito satisfeitos com o resultado. Hoje a empresa muito mais eficiente em entregar software de qualidade para seus clientes. Vale ressaltar foram utilizadospadres para introduzir novas idiaspara disseminar a inovao dentro da empresa. Sem esses padres, talvez no tivesse ido to longe. Fonte: [1]
Paggo
Em 2005 Alexandre Freire foi convidado para implantar a metodologia gil de Programao eXtrema em uma start-up. Aps 6 meses, o grupo de tecnologia da empresa conseguiu transitar para sua adaptao de XP com sucesso e conseguiu investimentos que garantiram a criao da Paggo. Hoje em dia a Paggo aplica prticas geis no s na tecnologia, mas em todos os departamentos da empresa. Fonte: [1]
Casos de Fracasso
Relato de fracasso na adoo de XP em duas empresas: http://www.exoftware.com/i/white_paper/file/6/T Quem relata o consultor da empresa irlandesa que tentou implantar XP Detalhe: as duas empresas faliram...
Empresas Globais
http://objectmentor.com http://www.thoughtworks.com/ http://www.rallydev.com/
Fonte: http://www.empregonaweb.com/empresa/vaga.action?id=5272
Data: 30/10/208
Sugestes
Introduzir mtodos geis na sua empresa (usando os padres para introduzir novas idias) Criar sua prpria empresa de desenvolvimento de software usando como um dos diferenciais a utilizao de mtodos geis
Referncias
[1] Casos de Sucesso. Agilcoop. http://www.agilcoop.org.br/portal/sucessos [2] Empresas geis no Brasil. Lista Agilcoop. http://www.agilcoop.org.br/portal/empresas [3] Empresas geis no Brasil. Lista completada por mim. http://adolfoneto.wikidot.com/empresas-ageis-no-bra
Outros
Laurie Williams (Pair Programming) Scott Ambler (Agile Modeling)
No Brasil
Fbio Kon , Alfredo Goldman e todo o pessoal da Agilcoop (IME-USP) Vincius Manhes Teles (ImproveIt)
Organizaes
http://www.agilealliance.org/ http://www.agilcoop.org.br/
XP Conference
International Conference on Agile Processes in Software Engineering and eXtreme Programming XP 2008: http://www.xp2008.org XP 2007: http://www.xp2007.org/ Artigos:
Agile Conference
http://www.agile2008.org
OOPSLA
http://www.oopsla.org/oopsla2008/
QCon
http://qconsf.com/
EVENTOS NO BRASIL
Encontro gil
http://www.encontroagil.com.br/ So Paulo-SP, 11/10/2008
Falando em Agile
http://www.caelum.com.br/falando-em-agile/ 23 e 24/10/2008 So Paulo-SP Patrocnio: globo.com, Borland, Yahoo! Brasil
Agile Day
Eventos Acadmicos
ESELAW 2008
http://web.unifacs.br/eselaw/ 5 a 7 de novembro de 2008 Salvador-BA This edition of ESELAW also emphasizes three perspectives: Open Source, Agile Methods and Experimental Software Engineering.
Extreme Programming
TELES, Vincius M. Extreme Programming: Aprenda como encantar seus usurios desenvolvendo software com agilidade e alta qualidade. Novatec, 2004. BECK, Kent. Programao Extrema Explicada A colha as Mudanas. Addison-Wesley, 1999 BECK, Kent & ANDRES, Cynthia. Extreme Programming Explained 2nd Edition, AddisonWesley, 2004
Testes
BECK, Kent.Test Driven Development: By Example.
Refatorao
Martin Fowler. Refactoring: improving the design of existing code.
Scrum
Lean
Mary e Tom Poppendieck, "Lean Software Development: An Agile Toolkit", Addison-Wesley, 2003 Mary e Tom Poppendieck, "Implementing Lean Software Development: From Concept to Cash",Addison-Wesley, 2006
Livros no-especficos
PILONE, DAN e MILES, RUSSELL. USE A CABEA DESENVOLVIMENTO DE SOFTWARE.
Stios e Blogs
http://agilcoop.org.br/ Agilvdeo Agilcast (podcast) Slides Artigos, dissertaes, etc. Encontro gil E muito mais....
O Manifesto gil
http://agilemanifesto.org/
Sites
Martin Fowler. http://www.martinfowler.com/ Ron Jeffries: http://www.xprogramming.com/index.htm
Blogs
Agilblog da Locaweb Blog da Fratech Revista Viso gil: http://visaoagil.wordpress.com Blog de James Shore Gerenciamento gil de Projetos
Pginas
Links sobre Mtodos geis na pgina de Roge Slides de Roger Pressman sobre Metodogias geis (2005) Eu uso metodologia gil, e voc? Como a Pixar promove a criatividade coletiva
Coding Dojos
Concluses
Mtodos geis chegaram para ficar So um meio termo entre o caos total e o excesso de burocracia Vrias prticas podem ser usadas inclusive com outros mtodos (refatorao, desenv. com testes a priori, etc.)
Proposta de Rob Mee e Kent Beck para a Indstria de Software no Brasil NO seguir o modelo da ndia (baseado em CMMi nvel 5 graas a muita mode-obra barata) Apostar em XP e
Aumentar a produtividade de software para o mercado interno Com a folga, satisfazer o mercado externo
Prximos passos
Ler A Nova Metodologia, de Martin Fowler Conversar com seus superiores/colaboradores hierarquicamente sobre a possibilidade de adoo de metodologias geis Assistir o vdeo-palestra sobre extreme programming co Manhes Teles Ler Good Agile, Bad Agile, de Steve Yegge
Adicional
Desenvolvimento de Software Orientado a Aspectos
AspectJ: http://eclipse.org/aspectj