XP e "produtos fechados"

[quote=mochuara]Desenvolvimento não agil é desenvolvimento cascata. RUP é cascata.[/quote] W… T… F…

A primeira linha de qualquer definição sobre RUP é que ele é um processo iterativo! De que cartola tirou essa cascata?

Aí começo a concordar com o que o Luiz Aguiar falou, começamos a matar uma metodologia a partir do momento que dizemos que X não é X, quando associamos a ela uma prática que ela abomina.

Você é físico, não é? Ou é matemático? Geralmente esse apego a definições vem de pessoas dessas duas áreas. Você realmente não entendeu o que eu quis dizer?
[/quote]

<piadinha>

Tá explicado? :slight_smile:

</piadinha>

Toda empresa tem uma realidade, as vezes não da pra usar uma ou outra coisa do Scrum.

Lembrei duma palestra do Shoes que ele fez num evento da Caelum, ele disse algo mais ou menos assim:
“Customizar uma metodologia pode ser uma coisa boa, mas antes de customizar, experimente a metodologia na sua forma ‘pura’ pra você ter conhecimento suficiente para saber o que se deve customizar ou não”.

:slight_smile:

[quote=Bruno Laturner]A primeira linha de qualquer definição sobre RUP é que ele é um processo iterativo! De que cartola tirou essa cascata?

Aí começo a concordar com o que o Luiz Aguiar falou, começamos a matar uma metodologia a partir do momento que dizemos que X não é X, quando associamos a ela uma prática que ela abomina.[/quote]

É o que tenho falado, e que o que tenho observado com muita tristeza em nossa área.

Os livros sobre processos ágeis vendem a falsa idéia de tudo que não se encaixa no seu paradigma é em cascata, lento e penoso. É como uma época atrás, quando os defensores da injeção em dependência levavam a crer que tudo que não envolvesse DI seria penoso, unsafe e pouco flexível.

Acho que o pior local para se procurar referências sobre uma metodologia é estudando material que o concorrente dessa metodologia escreve.

E tenho visto muita gente defender apaixonadamente idéias, sem realmente conhecer processos diferentes daqueles aos quais se empolgaram.

Temos tantos casos de sucesso com RUP, como temos em XP, SCRUM ou qualquer outra metodologia. Isso porque, todas elas tem seus pontos fortes. Admito que o RUP talvez seja um pouco pesado para uma empresa pequena, e uma metodologia mais leve e menos burocrática possa ser mais adequada. Por que ter um processo com tanta documentação, se sua equipe tem no máximo 3 ou 4 indivíduos?

Agora, um processo mais pesado começa a se justificar em equipes maiores, em locais onde o custo de manutenção será muito alto, em desenvolvimento outsourcing e em locais onde o cliente não pode estar tão próximo assim.

[quote=Rubem Azenha][quote=sergiotaborda]
é muito fácil detectar se scrum está sendo feito ou não. Scrum é bastante exigente e não tolera "arranjos".
O que estou dizendo é que, ou vc faz tudo o que é exigido pelo scrum, ou vc não pode dizer que está usando scrum, nem que está usando algo baseado em scrum. A unica forma honesta de responder é dizer que está fazendo mau scrum.
Pelo menos assim vc indica que sabe que está errado e sabe o que é certo.

Implantar scrum é um fenomeno cultural, portanto,se as pessoas já tem a cultura certas as práticas são naturais e simples e vc pode começar a usar bom scrum desde o principio. Mas se é demorado implantar (maior parte das vezes é), então os pedacinhos do scrum que vc usa, não o classificam a dizer que está usando scrum. Vc está utilizando uma porcaria qualquer que nem vc sabe o que é. Isso não é agilidade, é enganação. Pura e simples.
[/quote]

Toda empresa tem uma realidade, as vezes não da pra usar uma ou outra coisa do Scrum.

Lembrei duma palestra do Shoes que ele fez num evento da Caelum, ele disse algo mais ou menos assim:
“Customizar uma metodologia pode ser uma coisa boa, mas antes de customizar, experimente a metodologia na sua forma ‘pura’ pra você ter conhecimento suficiente para saber o que se deve customizar ou não”.[/quote]

O problema não está em você pegar um pouco de cada metodologia/filosofia e criar a sua (embora isso possa ser desastroso porque quem faz isso normalmente não sabe o que está fazendo). O problema está em que, depois de criar essa coisa hibrida, a batizar com um dos nomes de mercado das metodologias em que se baseou.

Coisas como o cara dizer que faz XP porque usa SVN, ou que usa scrum porque chama o gerente de scrum master. Absolutas asneiras deste tipo é que devem ser evitadas. O problema é que este tipo de asneira é mais comum do que parece e muitas das empreses que se dizem seguidoras da metodologia X , na realidade utilizam um hibrido maluco sem pés nem cabeça que nada tem a haver com a real metodologia X.

A unica coisa que se pede é honestidade. Digam “Usamos uma metodologia com influencia de X e Y” e não “usamos a metologia X”

Por todos os lugares onde passei alguem usa uma metodologia dita ser “baseada em RUP” , ok. Mas o que isso significa é :
Fazemos waterfall com os artefactos do RUP. Não admira que haja uma identificação de waterfall com RUP porque da mesma forma que essas pessoas chamam o seu hibrido waterfall de RUP, muitas pessoas chamaram o RUP de waterfall porque é isso que elas enxergam.

Agora , muita atenção, não se pode dizer que usa uma metodologia baseada em X quando os principios de X foram eliminados.
Ninguem que diz usar um processo baseado em RUP, que não é iterativo, pode afirmar que é baseado em RUP pois a “alma” do RUP não está lá. É este o ponto. Vc pode pegar a prática A,B e C da metologia X, mas se não pegar a “alma” o “core” da metodologia, não pode dizer que usa algo baseado em X. Aqui, no máximo, vc pode dizer “usamos algumas as práticas que se usam em X”

Isso será honesto, mas tb significa que vc não segue nada relevante, afinal de contas. E isso é mau para angariar desenvolvedores e mau para angariar clientes. então as empresas mentem, e mentem tão completamente, que chegam a acreditar na mentira que inventaram.

P.S. não entendi porque ser graduado em Eng Fisica pela univerdade de lisboa é piada, mas tudo bem…

[quote=sergiotaborda][quote=mochuara][quote=sergiotaborda][quote=mochuara][quote=sergiotaborda]
Desde sempre.
Embora seja publicitado que Scrum não é uma metodologia mas um “framework” de metodologia isso não significa que o scrum é customizável.

[/quote]

Voce esta partindo do pressuposto que o objetivo de uma customizacao seria obter outro scrum como resultado. Mas pra mim uma definicao clara de Scrum é apenas uma conveniência, não o 11o mandamento a ser seguido.[/quote]

Bom, o que posso dizer é que vc está enganado. Scrum não define por conveniência, ele define por muito boas razões, as quais se derivam dos conceitos ageis. Elas sim são o 11º mandamento. Ou vc segue, ou vc esquece. Não tem meio termo.

É muito simples.
(vc tem margem para definir algumas constantes, mas não a equação nem as variáveis)
[/quote]

Eu não falei que Scrum define por conveniencia, eu falei que o praticante deve ter a definição clara de Scrum como uma conveniência, a não ser claro que vc seja um evangelista desesperado.[/quote]

Então, esse é o problema das pessoas de hoje em dia, principalmente no Brasil. Demasiado permissivismo.
Se vc vai seguir uma metodologia porque vc quer mudá-la ou seguir apenas parte dela ou utilizar que vc acha legal e não o resto ?
Isso é simplesmente um tipo de preguiça. Ou vc é honesto consigo mesmo e com os outros e segue tudo, ou vc não segue nada.
Ou vc inventar uma coisa qq , mas não diz que é scrum.

Regras são para se seguir. Scrum é um conjunto de regras.
Se vc quer seguir as regras, siga-as todas! Se vc não quer seguir alguma, não siga nenhuma.
Qualquer coisa no meio é reserva mental.

[/quote]

Então descobrir o que funciona evitando a tendência é preguiça, reserva mental? Eu acho que é o contrário.

Scrum pode ser um conjunto de regras ou uma forma de criar coisas, depende de que lado vc se encontra entre teoria e prática.

[quote=Bruno Laturner][quote=mochuara]Desenvolvimento não agil é desenvolvimento cascata. RUP é cascata.[/quote] W… T… F…

A primeira linha de qualquer definição sobre RUP é que ele é um processo iterativo! De que cartola tirou essa cascata?

Aí começo a concordar com o que o Luiz Aguiar falou, começamos a matar uma metodologia a partir do momento que dizemos que X não é X, quando associamos a ela uma prática que ela abomina.[/quote]

Ser iterativo não é importante mas sim as iterações serem curtas ou longas. Ou vc é agil no que diz respeito a iterações, ou não é agil , que significa algum tipo de waterfall.

Customização é aquilo no qual você muda para não precisar mudar a si mesmo, quando você considera que o que você faz é melhor do que outras coisas, sem qualquer julgamento prévio.

:XD:

T+

Daí você entra no problema de definição, já que longo e curto são conceitos relativos. A iteração do RUP sugerida é de 3 semanas até 2 meses. Isso é longo para você?

(detalhe, não é “no mínimo 3 semanas, no máximo 2 meses”. As iterações no RUP costumam a ter tempo fixo, até para facilitar o controle do projeto)

Discordo. Pra mim, ser iterativo eh mais importante que o tamanho das iteracoes. Mudar o tamanho de iteracoes num projeto eh meramente questao de combinar com o time e tirar alguns obstaculos do caminho. Em compensacao, pegar um time que nao ta acostumado com feedback em ciclos e mudar a mentalidade eh dificil PRA CARALHO.

(http://farm3.static.flickr.com/2339/1873080885_335b59536c_o.jpg para quem nao conhece essa medida)

Daí você entra no problema de definição, já que longo e curto são conceitos relativos. A iteração do RUP sugerida é de 3 semanas até 2 meses. Isso é longo para você?

(detalhe, não é “no mínimo 3 semanas, no máximo 2 meses”. As iterações no RUP costumam a ter tempo fixo, até para facilitar o controle do projeto)[/quote]

Vc quer uma teoria unificadora ou um processo pra funcionar numa situação específica?

Se vc precisa de 2 meses pra uma iteração então escolha uma metodologia waterfall, como RUP.

Se vc precisa de feedback mais rápido escolha uma metodologia agil. Simples assim.

[quote=mochuara]Vc quer uma teoria unificadora ou um processo pra funcionar numa situação específica?

Se vc precisa de 2 meses pra uma iteração então escolha uma metodologia waterfall, como RUP.

Se vc precisa de feedback mais rápido escolha uma metodologia agil. Simples assim.[/quote]

Hehehehe… vc não respodeu a pergunta.

Não, não foi isso que perguntei.

Perguntei a partir de quanto tempo você enquadra um projeto ou metodologia como “waterfall”? Afinal, você falou em tempo “longo” e “curto”. São termos relativos, pouco específicos. Fica muito fácil chamar qualquer coisa de “waterfall”, se você não especificar o que é longo.

Por exemplo, usei o RUP com uma iteração de 3 semanas. Isso é um período longo? O processo era realimentado com feedback, como o RUP prega. Por que ele seria um processo waterfall, e não iterativo?

Sim. Porque não existe essa coisa de “descobrir o que funciona”. Isso já foi feito por quem inventou a mecânica.
E o resultado é simples : vc tem que seguir todas as regras, porque senão é que não funciona mesmo.

Não dá para fazer aos poucos. Tem que ser tudo ou nada.

[quote]
Scrum pode ser um conjunto de regras ou uma forma de criar coisas, depende de que lado vc se encontra entre teoria e prática.[/quote]

Não. Não depende. Isso é ilusão. Uma coisa criada por quem é preguiçoso.

[quote=marcosalex][quote=sergiotaborda]

Então descobrir o que funciona evitando a tendência é preguiça, reserva mental?
[/quote]
Você está mostrando a SUA opinião.
[/quote]

Isso é uma tautologia. Todo o mundo aqui só dá opiniões. niguem representa oficialmente ,ou extra-oficialmente coisa alguma.
Acho que , daqui para a frente, pode-se abster de escrever o obvio.

Como é que você sabe que é adequado, ou não, se vc não usou ? Arrogância tb é um tipo de preguiça e reserva mental.
Pelo menos vc tem que tentar 1 vez. O problema é que 1 vez é pouco para vc entender o processo.
Mas mesmo assim melhor que já de cara dizer : isto não vou usar.

Quem de vcs acha que é natural “customizar” o scrum, por favor digam-nos que tipo de customizações vc fizeram/usam.
Só para a gente não ficar falando no vazio e no abstrato. Se vc não fizeram nenhuma, I rest my case.

[quote=marcosalex]
Sobre iterações curtas e longas, se minhas iterações foram curtas, mesmo usando RUP ou outro processo, eu posso falar que sou ágil? (estou perguntando).[/quote]

Tamanho não é documento. Agilidade não tem a haver com o tamanho da iteração, mas com o fato de haver comunicação após cada uma. Se vc simplesmente define periodos de tempo, isso é iterativo,mas não é agil. Agil implica em seguir um conjunto de valores, que se traduzem em práticas, mas essas práticas são relacionadas ao “lado humano” e não ao processo, ao calendário ou ao sistema.

RUP é iterativo, mas não estabelece além de qualquer duvida,a necessidade de comunicar. ele meio que parte do principio que as pessoas farão isso, mas não estabelece como, onde , quando, quais são as regras, a frequencia, etc…

Iteratividade não é , per se, agilidade.

Depende.

Voce da mais valor as pessoas e interacoes do que aos processos e ferramentas?
Da mais valor a software funcionando do que documentacao abrangente?
E colaboracao com o cliente do que negociacao contratual?
Eh mais importante pra sua equipe responder a mudancas do que seguir um plano?

Entao, sim.

[quote=marcosalex][quote=sergiotaborda]
Como é que você sabe que é adequado, ou não, se vc não usou ? Arrogância tb é um tipo de preguiça e reserva mental.
Pelo menos vc tem que tentar 1 vez. O problema é que 1 vez é pouco para vc entender o processo.
[/quote]

Bom quer dizer que pra saber se eu vou morrer se saltar de um prédio de 40 andares eu tenho de pular? E mais de uma vez? :lol: :lol:
[/quote]

Sim. Por favor, experimente :twisted:

Se não ha idioma comum como eles comunicam ? O objetivo principal do scrum é comunicação. Sem isso, essas equipa está mal definida. SE eles têm idioma comum e ha compremetimento (outro valor scrum) então as pessoas arranjam um jeito.

A sua linha de argumentação é totalmente descabida e non sense. Vc só quer fomentar a confusão e não está interessado em aprender ou pelo menos entender os contra argumentos. E já não é a primeira vez…

Não é arrogância, é experiencia e conhecimento. Ou sempre que dizer que vc está enganado vc achas as pessoas arrogantes…
Se tá errado, tá errado. Porque eu tenho que arranjar uma forma eufemistica de dizer que vc está errado ?
Este é o problema do Brasil, muita habitação a passada de mão na cabeça.

Voce precisa dar um nome?

Precisa MESMO, desesperadamente, como se a parada nao tendo um nome perdesse a relevancia?

Ok, chame de METODOLOGIA FENOMENAL DO MARCOSALEX.

Pronto.

Eu falei que iteração por si só não é suficiente para definir o que é agile ou waterfall, mas não lembro de ter dito que iterações longas ou curtas são SUFICIENTES pra definir o que é agile ou waterfall (apesar que isto costuma funcionar na maioria das vezes!).

O que quer dizer pra gente com uma iteração de 3 semanas em RUP. Significa que uma especificação funcional foi feita, ou um protótipo executável, seu feedback foi do usuário ou da equipe que vai implementar, ou de testes???

Dificilmente vc consegue uma “iteração ágil” com 3 semanas de RUP.