Pergunta
Pesquisa
Hipótese Tentar de Novo
Experimento
Análise
Verdadeiro Falso
Resultado
“Escopo”
Ninguém prevê o
futuro
Ciência?
Engenharia Engenharia
Civil de Software
Requerimentos
Blueprint
Construção Codificação
Acabamento Entrega
Engenharia Engenharia
Arte
Civil de Software
Requerimentos
Blueprint
Tentativa & Erro
e
Implementação
Construção Codificação
Acabamento Entrega Acabamento
Engenharia Engenharia
Arte
Civil de Software
Blueprint
Design e
Tentativa & Erro
Implementação
e
Implementação
Construção
“Compilador”
Acabamento Entrega Acabamento
// create some properties and get the default Session
Properties props = new Properties();
props.put(\"mail.smtp.host\", _smtpHost);
Session session = Session.getDefaultInstance(props, null);
// create a message
Address 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 newMessage
Transport transport = session.getTransport(SMTP_MAIL);
transport.connect(_smtpHost, _user, _password);
transport.sendMessage(newMessage, _toList);
new EmailMessage()
.from(\"demo@guilhermechapiewski.com\")
.to(\"destination@address.com\")
.withSubject(\"Fluent Mail API\")
.withBody(\"Demo message\")
.send();
Escopo
Qualidade
Variável
Prazo Custo
Qualidade
Escopo
Variável
Prazo Custo
Qualidade
Escopo
Variável
Prazo Custo
http://en.wikipedia.org/wiki/The_Toyota_Way
Toyota Production
System (TPS)
Thinking Production
System (TPS)
Lean
“Toyota Way”
(muda)
“Desperdício”
(muda)
(mura)
(muda) (muri)
(jidoka)
“automação com
toque humano”
Equipes Cross
Funcionais
(Feature Teams)
Baseie decisões
em filosofia
de longo prazo
Tecnologia deve ser
puxada (pull) e não
empurrada (push)
Crie líderes que
entendem o trabalho,
vivem a filosofia e a
ensinam aos outros
Desenvolva equipes
excepcionais que
seguem a filosofia
(Genchi Genbutsu)
“ver com os
próprios olhos”
(hansei)
“auto-reflexão”
(kaizen)
“melhoria contínua”
Agilidade
Scrum
“Scrummage”
Manifesto for Agile Software Development
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn,
Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith,
Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin,
Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas
Martin Fowler
Martin Fowler
Indíviduos e Interações
do que processos e ferramentas
Indíviduos e Interações
do que processos e ferramentas
Software que funciona
do que documentação compreensiva
Indíviduos e Interações
do que processos e ferramentas
Software que funciona
do que documentação compreensiva
Colaboração do cliente
do que negociação de contratos
Indíviduos e Interações
do que processos e ferramentas
Software que funciona
do que documentação compreensiva
Colaboração do cliente
do que negociação de contratos
Responder a mudanças
do que seguir um plano
• A liberdade de rodar o programa, para
qualquer propósito
• A liberdade de rodar o programa, para
qualquer propósito
• A liberdade para estudar como o programa
funciona, e adaptá-la às suas necessidades
• A liberdade de rodar o programa, para
qualquer propósito
• A liberdade para estudar como o programa
funciona, e adaptá-la às suas necessidades
• A liberdade para redistribuir cópias para
poder ajudar seus vizinhos
• A liberdade de rodar o programa, para
qualquer propósito
• A liberdade para estudar como o programa
funciona, e adaptá-la às suas necessidades
• A liberdade para redistribuir cópias para
poder ajudar seus vizinhos
• A liberdade de melhorar o programa, e lançar
suas melhorias ao público, para que todos se
beneficiem
Ferramentas
Comunicação
Responsabilidade
Coletiva
(kanban)
Tickets
(andon)
Integração
Contínua
Propriedade Coletiva de Código
Propriedade Coletiva de Código
Refatoramento Agressivo
Propriedade Coletiva de Código
Refatoramento Agressivo
Revisão de Código
Propriedade Coletiva de Código
Refatoramento Agressivo
Revisão de Código
Testes
Propriedade Coletiva de Código
Refatoramento Agressivo
Revisão de Código
Testes
Integração Contínua
Propriedade Coletiva de Código
Refatoramento Agressivo
Revisão de Código
Testes
Integração Contínua
Simplicidade
Propriedade Coletiva de Código
Refatoramento Agressivo
Revisão de Código
Testes
Integração Contínua
Simplicidade
Evolução
Prazo
estimado:
9 meses
Aleluia!
1.5 meses!
Aleluia!
1.5 meses!
(or is it?)
Como um projeto
fica 1 ano atrasado!?
Resposta: 1 dia
de cada vez
n(n-1)/2
Desenvolvedores Comunicação
50 1.225
10 45
5 10
Desenvolvedores Comunicação
50 1.225
10 45
5 10
Desenvolvedores Comunicação
50 1.225
10 45
5 10
Desenvolvedores Comunicação
50 1.225
10 45
5 10
• 90% da razão de problemas num projeto é
comunicação
• 90% da razão de problemas num projeto é
comunicação
• Pair Programming
• 90% da razão de problemas num projeto é
comunicação
• Pair Programming
• Daily Scrum/Stand Up meeting
• 90% da razão de problemas num projeto é
comunicação
• Pair Programming
• Daily Scrum/Stand Up meeting
• Cliente sempre presente
• 90% da razão de problemas num projeto é
comunicação
• Pair Programming
• Daily Scrum/Stand Up meeting
• Cliente sempre presente
• Equipes Auto-Gerenciadas
Pareto
(projetos)
Projetos
de MUITO
sucesso
Projetos
de MUITO
sucesso
Projetos
fracassados
Gauss
(metodologias)
“O que todo mundo faz”
(MEDÍOCRE)
“O que todo mundo faz”
(MEDÍOCRE)
Acima da
Média
“O que todo mundo faz”
(MEDÍOCRE)
Acima da
Incompetência
Média
Projetos de MUITO
sucesso, executados
ACIMA da média
Manifesto for Agile Software Development
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
Manifesto for Agile Software Development
Estamos are uncovering better maneiras melhores de
We “descobrindo” ways of developing
desenvolver software naand helping ajudando outros
software by doing it prática e others do it.
Through this a desenvolver.
work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
não existe receita
agilidade não é
procedimento
agilidade são
CULTURA e VALORES
certo?
errado?
http://norvig.com/21-days.html
COMPROMETIMENTO
~10 mil horas
~10 anos
Em 2 semanas nos lembramos ...
Em 2 semanas nos lembramos ...
Em 2 semanas nos lembramos ...
Ler 10%
Ouvir 20%
Passivo
Ver 30%
Ver e Ouvir 50%
Dizer 70%
Ativo
Dizer e Fazer 90%
Em 2 semanas nos lembramos ...
Ler 10%
Ouvir 20%
Passivo
Ver 30%
Ver e Ouvir 50%
Dizer 70%
Ativo
Dizer e Fazer 90%
Em 2 semanas nos lembramos ...
Ler 10%
Ouvir 20%
Passivo
Ver 30%
Ver e Ouvir 50%
Dizer 70%
Ativo
Dizer e Fazer 90%
Em 2 semanas nos lembramos ...
Ler 10%
Ouvir 20%
Passivo
Ver 30%
Ver e Ouvir 50%
Dizer 70%
Ativo
Dizer e Fazer 90%
Em 2 semanas nos lembramos ...
Ler 10%
Ouvir 20%
Passivo
Ver 30%
Ver e Ouvir 50%
Dizer 70%
Ativo
Dizer e Fazer 90%
Em 2 semanas nos lembramos ...
Ler 10%
Ouvir 20%
Passivo
Ver 30%
Ver e Ouvir 50%
Dizer 70%
Ativo
Dizer e Fazer 90%
Em 2 semanas nos lembramos ...
Ler 10%
Ouvir 20%
Passivo
Ver 30%
Ver e Ouvir 50%
Dizer 70%
Ativo
Dizer e Fazer 90%
Eu vejo e esqueço
Ouço e me lembro
Faço e entendo
Confucius
Especialista de
uma coisa só é
um amador em
todo o resto.
Segunda versão da minha palestra sobre Agilidade p more
Segunda versão da minha palestra sobre Agilidade para o Encontro Locaweb, desta vez com uma história mais detalhada de Lean. Faltou tempo para falar tudo :-) Vou encurtar para a próxima versão. less
0 comments
Post a comment