Do Monumental Ao Agil

Preview:

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

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

?

?

?

?

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("teste@localhost.net") .to("destination@address.com") .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

Obrigado!

victorhg@gmail.com

/ victorhg

Quão Sexy é o seu código?