a maldição da fábrica de software Ágil (the curse of the agile software factory)

92
A Maldição da Fábrica de Software Ágil Phillip Calçado ThoughtWorks http://fragmental.tw http://blog.fragmental.com.br http://www.thoughtworks.com

Upload: phil-calcado

Post on 20-Aug-2015

4.280 views

Category:

Technology


1 download

TRANSCRIPT

A Maldição da Fábrica de Software Ágil

Phillip CalçadoThoughtWorks

http://fragmental.twhttp://blog.fragmental.com.brhttp://www.thoughtworks.com

Quem?

Phillip Calçado

Quem?

Consultor

Phillip Calçado

Quem?

ConsultorCoachPhillip Calçado

Quem?

ConsultorCoach

Blogueiro

Phillip Calçado

Quem?

ConsultorCoach

Blogueiro

Phillip Calçado~8 Anos Indústria

Quem?

ConsultorCoach

Blogueiro

Phillip Calçado~8 Anos Indústria5 Anos Agile

Quem?

ConsultorCoach

Blogueiro

Phillip Calçado~8 Anos Indústria5 Anos AgileTh

ough

tWor

ks

Quem?

ConsultorCoach

Blogueiro

Phillip Calçado~8 Anos Indústria5 Anos AgileTh

ough

tWor

ks

Australia

Quem?

Consultor

Desenvolvedor

Coach

Blogueiro

Phillip Calçado~8 Anos Indústria5 Anos AgileTh

ough

tWor

ks

Australia

VIDA DE CONSULTOR

Projeto #1

•Empresa tradicional•Equipe de alto nível•Adoção ágil salvou o projeto

Pra Fazer Fazendo Pronto

como usuarioeu quero fa

como usuarioeu quero fa

como usuarioeu quero fa

Pra Fazer Fazendo Pronto

como usuarioeu quero fa

como usuarioeu quero fa

como usuarioeu quero fa

Pra Fazer Fazendo Pronto

como usuarioeu quero fa

como usuarioeu quero fa

Pra Fazer Fazendo Pronto

como usuarioeu quero fa

como usuarioeu quero fa

como usuarioeu quero fa

Pra Fazer Fazendo Pronto

como usuarioeu quero fa

como usuarioeu quero fa

como usuarioeu quero fa

Pra Fazer Fazendo Pronto

como usuarioeu quero fa

como usuarioeu quero fa

como usuarioeu quero fa

Pra Fazer Fazendo Pronto

como usuarioeu quero fa

como usuarioeu quero fa

como usuarioeu quero fa

Pra Fazer Fazendo Pronto

como usuarioeu quero fa

como usuarioeu quero fa

como usuarioeu quero fa

Pra Fazer Fazendo Pronto

como usuarioeu quero fa

como usuarioeu quero fa

como usuarioeu quero fa

10 2 3 54 6 7 98 1011

10 2 3 54 6 7 98 1011

Projeto #2

•Equipe não tão excelente•Prazo muito curto•2 Arquitetos•“Um pouco” de Design Up-Front “para amenizar refactoring”

Pra Fazer Fazendo Pronto

como usuarioeu quero fa

como usuarioeu quero fa

como usuarioeu quero fa

Pra Fazer Fazendo Pronto

como usuarioeu quero fa

como usuarioeu quero fa

Pra Fazer Fazendo Pronto

como usuarioeu quero fa

como usuarioeu quero fa

Pra Fazer Fazendo Pronto

como usuarioeu quero fa

como usuarioeu quero fa

como usuarioeu quero fa

Pra Fazer Fazendo Pronto

como usuarioeu quero fa

como usuarioeu quero fa

como usuarioeu quero fa

Pra Fazer Fazendo Pronto

como usuarioeu quero fa

como usuarioeu quero fa

como usuarioeu quero fa

Pra Fazer Fazendo Pronto

como usuarioeu quero fa

como usuarioeu quero fa

como usuarioeu quero fa

10 2 3 54 6 7 98 1011

10 2 3 54 6 7 98 1011

•Todas as funcionalidades priorizadas•Entregue em metade do tempo

Versão 1.0

•Todas as funcionalidades priorizadas•Entregue em metade do tempo

Versão 1.0

•Meia-dúzia de novas funcionalidades•Após duas iterações time resolve reescrever do zero - código é ilegível

Versão 1.1

Causa Mortis?

como usuarioeu quero fa

Quebra de Ciclo

Quebra de Ciclo #1

Quebra de Ciclo #1

=1 X/dia

Quebra de Ciclo #1

=1 X/dia

Quebra de Ciclo #1

=1 X/dia

=Um

Montão de X/dia

Quebra de Ciclo #1

Quebra de Ciclo #1Comunicação

Constante

Testes

Código Expressivo

+

+

Quebra de Ciclo #1Comunicação

Constante

Testes

Código Expressivo

+

+

Quebra de Ciclo #1Comunicação

Constante

Testes

Código Expressivo

+

+

Visão Compartilhada

Quebra de Ciclo #1Comunicação

Constante

Testes

Código Expressivo

+

+

Visão Compartilhada

Quebra de Ciclo #1

DocumentaçãoMínima

Comunicação Constante

Testes

Código Expressivo

+

+

Visão Compartilhada

Quebra de Ciclo #1

DocumentaçãoMínima

Comunicação Constante

Testes

Código Expressivo

+

+

Evita Desperdício

Visão Compartilhada

Quebra de Ciclo #1

DocumentaçãoMínima

Comunicação Constante

Testes

Código Expressivo

+

+

Visão Compartilhada

Quebra de Ciclo #1

DocumentaçãoMínima

Comunicação Constante

Testes

Código Expressivo

+

+

Visão Compartilhada

Quebra de Ciclo #1

DocumentaçãoMínima

Comunicação Constante

Testes

Código Expressivo

+

+

Visão Compartilhada

Quebra de Ciclo #1Comunicação

Constante

Testes

Código Expressivo

+

+

Visão Compartilhada

Quebra de Ciclo #2

= $1

= $100

Quebra de Ciclo #2

= $1

= $100

Quebra de Ciclo #2

= $1

= $100= Nem

Ferrando!

Quebra de Ciclo #2

= $1

= $100= Nem

Ferrando!

Quebra de Ciclo #2

= $1

= $100= Nem

Ferrando!

Quebra de Ciclo #2

Quebra de Ciclo #2

Refactoring

Testes+

Quebra de Ciclo #2

Refactoring

Testes+

Quebra de Ciclo #2

Refactoring

Testes+

Qualidade Código

Quebra de Ciclo #2

Refactoring

Testes+

Qualidade Código

Quebra de Ciclo #2

Refactoring

Testes+

Qualidade Código

BDUF Desnecessário

Quebra de Ciclo #2

Refactoring

Testes+

Qualidade Código

BDUF Desnecessário

Evita Desperdício

Quebra de Ciclo #2

Refactoring

Testes+

Qualidade Código

BDUF Desnecessário

Quebra de Ciclo #2

Refactoring

Testes+

Qualidade Código

BDUF Desnecessário

Quebra de Ciclo #2

Refactoring

Testes+

Qualidade Código

BDUF Desnecessário

Quebra de Ciclo #2

Refactoring

Testes+

Qualidade Código

Então... adaptar metodologias ou não?

Sim, sabendo o que está fazendo.

...sabendo o que está fazendo.

Experiência é o melhor guia

...sabendo o que está fazendo.

Estudar os Conceitos

...sabendo o que está fazendo.

No pain no gain.

...sabendo o que está fazendo.

Lembre-se que você desenvolve software

...sabendo o que está fazendo.

Experimente antes de jogar fora.

...sabendo o que está fazendo.

Entenda antes de jogar fora.

...sabendo o que está fazendo.

Introdução é exceção

...sabendo o que está fazendo.

Cuidado com quem se contrata

...sabendo o que está fazendo.

Só melhoria contínua salva

?

Obrigado!

http://blog.fragmental.com.brhttp://fragmental.tw

http://www.thoughtworks.com