Receitas aplicáveis a qualquer projeto
Princípios
Ágeis
Lourenço P. Soares
Consultor – Análise de Sistemas
Thoughtworks Brasil
http://about.me/lous
http://www.flickr.com/photos/willkit/
Experts em Software Sob Medida
Excelência em Software
Pioneiros, líderes mundiais e criadores das
melhores ferramentas para desenvolvimento de
software Ágil
Respeitados divulgadores e contribuidores do
movimento de software livre
Fevereiro de 2001
“Uncle Bob” Martin
(Clean Code) Kent Beck
(XP/Facebook)
Ken Schwaber
(scrum)
Martin Fowler
(UML/Refactoring)
Andrew Hunt
(Prag Prog)
“Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o
nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho,
passamos a valorizar:
Indivíduos e interações mais que processos e ferramentas
Software em funcionamento mais que documentação
abrangente
Colaboração com o cliente mais que negociação de contratos
Responder a mudanças mais que seguir um plano
Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à
esquerda.”
O Agile Manifesto
artwork © 2001, Ward
“Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o
nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho,
passamos a valorizar:
Indivíduos e interações mais que processos e ferramentas
Software em funcionamento mais que documentação
abrangente
Colaboração com o cliente mais que negociação de contratos
Responder a mudanças mais que seguir um plano
Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à
esquerda.”
O Agile Manifesto
artwork © 2001, Ward
PQ VC
FAZ TD
ISSO?!
Genéricos e aplicados a inúmeras
áreas do comportamento humano
Regras fundamentais, derivadas dos
valores, aplicadas para um domínio
específico
Comportamentos específicos
adotados para satisfazer um
princípio
Conjuntos de práticas que
funcionam bem juntas
Conjuntos de práticas que
funcionam bem juntas – facilmente
descritas em livros ;o)
Princípios do
AGILE MANIFESTO
Nossa maior prioridade é satisfazer o cliente
através da entrega contínua e adiantada de
software com valor agregado.
Mudanças nos requisitos são bem-
vindas, mesmo tardiamente no desenvolvimento.
Processos ágeis tiram vantagem das mudanças
visando vantagem competitiva para o cliente.
Entregar frequentemente software
funcionando, de poucas semanas a poucos meses,
com preferência à menor escala de tempo.
Pessoas de negócio e desenvolvedores devem
trabalhar diariamente em conjunto por
todo o projeto.
Construa projetos em torno de indivíduos
motivados. Dê a eles o ambiente e o suporte
necessário e confie neles para fazer o trabalho.
O método mais eficiente e eficaz de transmitir
informações para e entre uma equipe de
desenvolvimento é através de conversa face a
face.
Software funcionando é a medida primária
de progresso.
Os processos ágeis promovem
desenvolvimento sustentável. Os
patrocinadores, desenvolvedores e
usuários devem ser capazes de manter um ritmo
constante indefinidamente.
Contínua atenção à excelência técnica e
bom design aumenta a agilidade.
Simplicidade--a arte de maximizar a
quantidade de trabalho não realizado--é essencial.
As melhores arquiteturas, requisitos e designs
emergem de equipes auto-organizáveis.
Em intervalos regulares, a equipe reflete
sobre como se tornar mais eficaz e então refina e
ajusta seu comportamento de acordo.
Princípios de
EXTREME PROGRAMING
Humanidade
Feito para pessoas
Economia
Cria valor
Benefício mútuo
Sem ganhadores ou perdedores
Autossimilaridade
Começe de algo conhecido e adapte
Melhoria contínua
Sempre aperfeiçoando, nunca perfeito
Diversidade
de idéias
Reflexão contínua
a respeito da razão de forma do trabalho
Fluxo contínuo
em pequenos incrementos
Oportunidade
Dificuldade = Aprendizado
Redundancia
Tente diversas soluções
Falha
Falhas = Conhecimento adquirido
Qualidade
Não é uma variável
Passos curtos
Pequenas mudanças, muitas vezes
Responsabilidade aceita
não imposta
Princípios de
LEAN SOFTWARE DEVELOPMENT
Elimine desperdícios
Inclua a qualidade no processo
Crie conhecimento
Adie comprometimentos
Entregue rápido
Respeite as pessoas
Otimize o todo
Respeito às pessoas
Reduzir desperdício
Maximizar
aprendizado
Entrega contínua
Qualidade é
premissaSoftware funcionando
excelência técnica e bom design
Qualidade
Inclua a qualidade no processo
Entregar frequentemente
desenvolvimento sustentável
Fluxo contínuo
Passos curtos
Entregue rápido
a equipe reflete
Oportunidade
Falha
Melhoria contínua
Reflexão contínua
Crie conhecimento
Adie comprometimentos
satisfazer o cliente
Simplicidade
Economia
Autossimilaridade
Elimine desperdícios
Otimize o todo
indivíduos motivados
equipes auto-organizáveis
Benefício mútuo
Humanidade
Responsabilidade aceita
Diversidade
Respeite as pessoas
http://www.flickr.com/photos/23612601@N07/
Lidando com pessoas
Quadro Kanban
Dev
Pronto
Quadro Kanban
Dev
Pronto
Investimento
Quadro Kanban
Dev
Pronto
Investimento
Conhecimento
Quadro Kanban
Dev
Pronto
Investimento
Conhecimento
Arrependimento
Mingle
Mingle
• Grátis até 5 usuários
• Grátis para uso acadêmico
• http://info.thoughtworks.com/Mingle-cloud.html
• Contate studios@thoughtworks.com para mais
informações ou para continuar usando depois
que o trial expirar
Identificando gargalos
Dev
Pronto
Problemas de entrega
Dev
Pronto
Respeito às pessoas
http://www.agileproductdesign.com/blog/dont_know_what_i_want.ht
Progresso iterativo
Ciclo de Deming
PLANEJAR
EXECUTAR
VERIFICAR
AJUSTAR
Feedback rápido!
Respeito às pessoas
Reduzir desperdício
Maximizar aprendizado
Entrega contínua
Qualidade é premissa
Lourenço P. Soares
Consultor – Análise de
Sistemas
Thoughtworks Brasil
http://about.me/lous
http://join.thoughtworks.com
London
Manchester
Beijing
Xian
Shangai
Chengdu
Chicago
Atlanta
New York City
Dallas
Austin
Pune
Chennai
Bangalore
Gurgaon
Porto Alegre
Toronto
Hamburg
San Francisco
Recife
Johannesburg
Uganda
Perth
Singapore
Sydney
Melbourne
Brisbane
Curiosidade Intelectual
Negócio
Sustentável
Excelência
em
Software
Justiça
Social
ser uma empresa modelo e socialmente justa do
século 21
Mais humanização
através de software…
Analistas de
Qualidade
Desenvolvedores
Gerentes
de Projeto
Analista de
Sistemas
?
Analistas de
Qualidade
Desenvolvedores
Gerentes
de Projeto
Analista de
Sistemas
?
Consultores
http://join.thoughtworks.com

Princípios ágeis - UFRGS 2013

Notas do Editor

  • #6 Kent BeckMike BeedleArie van BennekumAlistair CockburnWard CunninghamMartin FowlerJames GrenningJim HighsmithAndrew HuntRon JeffriesJon KernBrian MarickRobert C. MartinSteve MellorKen SchwaberJeff SutherlandDave Thomas
  • #7 Kent BeckMike BeedleArie van BennekumAlistair CockburnWard CunninghamMartin FowlerJames GrenningJim HighsmithAndrew HuntRon JeffriesJon KernBrian MarickRobert C. MartinSteve MellorKen SchwaberJeff SutherlandDave Thomas
  • #27 Respeito às pessoas, Maximizar aprendizado:Perguntar para entender a perspectiva do outro, criar um ambiente seguro para uma conversa, lidar com fatos
  • #28 Pequenas unidades de trabalho/Fluxo contínuo.Colunas diferentes. Pode ser feito até nas costas do caderno.Limites de trabalho. Foca até pronto. PrevisibilidadeReduz o desperdício por minimizar troca de contexto, custo do processo e trabalho incompleto
  • #29 Investe primeiro no que vai dar mais retorno/maior valor = maximizar aprendizado
  • #30 Se eu escrevi o meu “outline”, eu já posso ter uma idéia do que vou falar, pegar feedback com o meu orientador, etc
  • #31 Exemplo: índice de figuras no trabalho de conclusão, desistir cedo, é simples, desistir tarde, dóiQualidade é premissa: Impacto em teste > dev > análise. Garante a qualidade cedo
  • #34 Já vimos: Reduzir desperdícioMaximizar aprendizadoEntrega contínua
  • #35 Pouco ou nenhum aprendizado, nenhuma entrega. No dia de entregar o trabalho, está tudo “quase pronto”
  • #36 Maximiza o aprendizado, já pode “validar” o rascunhoComo vocês acham que o da Vinci fez?Planeja, executa, verifica, ajusta
  • #37 Lean/ToyotaMelhoria contínuaAprender fazendoMétodo científico aplicado a desenvolvimento/produção – sempre aumenta o conhecimentoA única coisa que o Neil disse foi “fala pra eles de maximizar o feedback”
  • #38 Lava lampsFeedback 1 mês depois priva o cara de 1 mÊs de posibilidades de mudar
  • #46 Community engagement. Really get out there and connect with the world. Sponsor events, create events, foster existent communities, create new comminities. Create an inclusive culture, talk about rails girls, women in IT, talk about going to other countries, etc.