Upload
victor-hugo-germano
View
610
Download
2
Embed Size (px)
DESCRIPTION
Victo Hugo Germano apresenta uma introdução aos conceitos Ágeis
Citation preview
Do Monumental ao ÁgilDesafios de um mundo moderno
Victor Hugo Germano
Eu ? Quem??
Victor Hugo Germano
http://malditacomedia.blogspot.com
Qual o nosso papel?
Do nada ao Monumental
Alan Turing
30’s - 50’s
Do nada ao Monumental
Alan Turing
30’s - 50’s
GOTO é nocivo
60’s
Do nada ao Monumental
Alan Turing
30’s - 50’s
GOTO é nocivo
60’s
Taylorismo deSoftware
80’s
Do nada ao Monumental
Alan Turing
30’s - 50’s
GOTO é nocivo
60’s
Taylorismo deSoftware
80’s
Ferramentas CASE
90’s
Do nada ao Monumental
Alan Turing
30’s - 50’s
GOTO é nocivo
60’s
Taylorismo deSoftware
80’s
Ferramentas CASE
90’s
BoomTecnológico
00’s
Do nada ao Monumental
?Alan
Turing30’s - 50’s
GOTO é nocivo
60’s
Taylorismo deSoftware
80’s
Ferramentas CASE
90’s
BoomTecnológico
00’s
Do nada ao Monumental
?Alan
Turing30’s - 50’s
GOTO é nocivo
60’s
Taylorismo deSoftware
80’s
Ferramentas CASE
90’s
BoomTecnológico
00’s
Do nada ao Monumental
Taylorismo
Plano bem definido
Tarefas rigidamente descritas
Divisão total de trabalho
Pouca comunicação verbal
eureka!
Nos tempos da Brilhantina
Integração
http://flickr.com/photos/fairytalecinema/1813597118/
68%
Projetos Falham!
Chaos Report - Standish Group
“This year's results represent the highest failure rate in over a decade" - Jim Crear
Nos tempos da Brilhantina
Integração
Expectativa
Satisfação
Ciclo Vicioso do Desenvolvimento de
Software
http://www.flickr.com/photos/orangeacid/272510395/
http://www.flickr.com/photos/fulbert05/2403344636/
http://www.flickr.com/photos/danielankers/2639889958/
?
http://www.flickr.com/photos/mfakheri/2978493478/
http://www.flickr.com/photos/orangeacid/272510395/
http://www.flickr.com/photos/fulbert05/2403344636/
http://www.flickr.com/photos/danielankers/2639889958/
?
http://www.flickr.com/photos/jurvetson/3097134746/
?
?
Desenvolvimento Ágil
“Indivíduos e iterações, acima de processos e ferramentas
Software que funcione, acima de extensa documentação
Colaboração com o cliente, acima de negociar contratos
Responder à mudança, acima de seguir um plano
Manifesto Ágil
www.agilemanifesto.org
Princípios
Valor de Negócio
Auto gerenciamento
Participação com o cliente
Equipes Multidisciplinares
Time-boxed
QUALIDADE
Escopo Custo
Prazo
Menos é mais
Teste é coisa séria!
Qualidade
“Nos dias de hoje, entregar um linha de código sem que ela seja testada é
Irresponsabilidade Profissional”Robert Uncle Bob
TDD
Debugging sucks! Testing Rules!
Por que seria diferente?
Quão Sexy é o seu código?
// create some properties and get the default SessionProperties props = new Properties();props.put("mail.smtp.host", _smtpHost);Session session = Session.getDefaultInstance(props, null); // create a messageAddress replyToList[] = { new InternetAddress(replyTo) };Message newMessage = new MimeMessage(session);if (_fromName != null) newMessage.setFrom(new InternetAddress(from, _fromName + " on behalf of " + replyTo));else newMessage.setFrom(new InternetAddress(from)); newMessage.setReplyTo(replyToList); newMessage.setRecipients(Message.RecipientType.BCC, _toList); newMessage.setSubject(subject); newMessage.setSentDate(sentDate); // send newMessageTransport transport = session.getTransport(SMTP_MAIL);transport.connect(_smtpHost, _user, _password);transport.sendMessage(newMessage, _toList);
new EmailMessage( ) .from("[email protected]") .to("[email protected]") .withSubject("Fluent Mail Example") .withBody("What a nice code!") .send();
http://guilherme.pro/2009/04/05/why-i-dont-write-code-comments/
What is a Clean Code?
What is a Clean Code?
“Quando você olha para o código, percebe que ele faz exatamente o que você esperava”
Howard Cunningham
http://railsconf.blip.tv/file/2089545/
Como medir?
Como medir?
cleanCode = WTF / sec
Agile
AgileTDD
AgileTDD
Integração Contínua
AgileTDD
Integração Contínua
BDD
AgileTDD
Integração Contínua
BDD
Reunião Diária
AgileTDD
Integração Contínua
BDD
Reunião Diária
Escopo Negociável
AgileTDD
Integração Contínua
BDD
Reunião Diária
Escopo Negociável
Cliente Presente
AgileTDD
Integração Contínua
BDD
Reunião Diária
Escopo Negociável
Cliente PresenteRetrospectiva
AgileTDD
Integração Contínua
BDD
Reunião Diária
Escopo Negociável
Cliente PresenteRetrospectiva
Agile Modeling
AgileTDD
Integração Contínua
BDD
Reunião Diária
Escopo Negociável
Cliente PresenteRetrospectiva
Agile Modeling
Simplicidade
AgileTDD
Integração Contínua
BDD
Reunião Diária
Escopo Negociável
Cliente PresenteRetrospectiva
Agile Modeling
SimplicidadePair Programming
Presentation BacklogScrum em 5 minutosIntegração Contínua
(. . .)
Scrum em 5 minutos (talvez 10)
Product Owner
Scrum Master
Scrum Master
A equipe
Integração Contínua
http://malditacomedia.blogspot.com/search/label/IntegraçãoContínua
Tester
Testes
Test all the Fucking time!
Inspeção
Documentação
Feedback
Tester
www.agiles2009.org
Agiles 2009
6 a 9 de Outubro de 2009
Quão Sexy é o seu código?