2008/11/27 <ker...@kerber.com.br>:
> Desta forma, quando fazendo parte de um projeto ágil formos tidos como
> "apenas" facilitadores, não seremos vistos como uma imposição e
> teremos a abertura necessária junto à equipe de desenvolvimento para
> mostrar nosso valor de fato.
O analista de negócio não é visto "apenas" como facilitador. Meu texto
fala que ele usa seu expertise *e* age como facilitador.
[]s
2008/11/27 Avante <daniloc...@gmail.com>:
> Note que o alinhamento ocorre dentro do
> cliente, não é o alinhamento Cliente <--> Desenvolvedor.
Bom ponto, Danilo.
Para um desenvolvedor em um time ágil não existe muita diferença entre
analista e cliente. A diferença não existe em como o projeto é
executado (ponto onde o desenvolvedor tem mais contato) mas sim no que
é executado (ponto onde o analista age).
[]s
2008/11/27 <ker...@kerber.com.br>:
>
> Com certeza o cliente estará presente, mas fico com dúvidas em relação
> a quanto poderá ser mudado nessas iterações, acredito na mudança, mas
> todo o projeto possui premissas que são dificilmente mudadas pois
> geralmente o orçamento é aprovado com base nelas.
> Por isso que talvez sobre para as iterações os que eu chamo de
> detalhes, que, como faço questão de deixar claro, são muito importantes.
Na minha experiência (e pelo que é retratado nos CHAOS report da
ivida) projetos mudam *muito* durante desenvolvimento. Creio que todos
aqui já vimos projetos mudar da água para o vinho em poucas iterações
(eu estou em um assim agora).
>
> Se em um projeto chegarmos a descobrir que um sistema não seria
> necessário de fato, vou considerar que o analista de negócios não fez
> a sua parte lá atrás. Não é preciso produzir código para analisar esse
> tipo de coisa. Isso está lá na análise dos processos.
Uhm... bom, seja certo ou não isso não é como métodos ágeis trabalham.
Em métodos áeis a mudança é algo constante, código e requisitos.
[]s
2008/11/27 Paulo Vasconcellos <pfvasco...@gmail.com>:
> Sim Philip, mudanças são constantes. Mas acho que há um certo exagero na
> forma como o mundo ágil as percebe e dimensiona. Na forma e no nível como
> apresento requisitos, por exemplo, insisto que eles são muito perenes. Chego
> a dizer que alguns deles, descritos na forma de casos de uso, duram 1 ou 2
> séculos sem problema algum. Sem mudança alguma!
>O mesmo eu nunca direi das
> regras de negócio. Essas sim são de uma volatilidade impressionante.
> Exemplo: só a legislação do IPI (Imposto sobre Produtos Industrializados)
> sofre 2 alterações diárias por aqui. Mas não são só as regras oriundas do
> mundo externo que são instáveis. Aquelas criadas dentro de um negócio também
> são. Por necessidade. Mas, tratadas corretamente, elas não impactam o
> trabalho do desenvolvedor. Não deveriam. Na grande maioria dos casos estamos
> falando de parâmetros que deveriam ficar à disposição dos usuários.
Eu tenho que afirmar, baseado na minha experiência, que um caso de uso
que não muda por anos enquanto as regras de negócio mudam não é lá um
caso de uso muito útil. Todas as vezes que eu vi acontecer isso -o que
não quer dizer que fora desta experiência as coisas não são
diferentes- estes casos de uso eram tão genéricos e tão desacoplados
do sistema que eles não ajudavam em nada. E no final o cliente ainda
reclama quando vê o custo da mudança, já que "o caso de uso não mudou
nada".
> Obs.: AN's e desenvolvedores criam muitos problemas para projetos e geram
> produtos com altíssimo custo total de propriedade (TCO) quando não sabem
> diferenciar requisitos de regras de negócios.
Metodologias ágeis (que são o escopo do post e, creio que, desta
thread) não possuem tanta diferenciação. Requisitos funcionais estão
expressos em histórias e regras em critérios de aceitação.
> Sobre mudanças no código: é parte natural do amadurecimento de uma
> aplicação. Digo, a maior parte das mudanças exigidas em código. Por isso
> desenvolvemos de forma iterativa e incremental. Para incentiver a maturação
> - consequência do aprendizado tanto dos usuários quanto dos desenvolvedores.
> Não acho correto tratar esse processo como *mudança*.
Er... não. Código reflete o requisito, este é o único motivo para
existir código em um sistema, e se o código mudou (funcionalmente, não
refactoring) sem um requisito (ou regra de negócio) mudar ou um bug
ser resolvido tem algo MUITO errado neste sistema.
Kerber ITBA
Eu tenho que afirmar, baseado na minha experiência, que um caso de uso
que não muda por anos enquanto as regras de negócio mudam não é lá um
caso de uso muito útil. Todas as vezes que eu vi acontecer isso -o que
não quer dizer que fora desta experiência as coisas não são
diferentes- estes casos de uso eram tão genéricos e tão desacoplados
do sistema que eles não ajudavam em nada. E no final o cliente ainda
reclama quando vê o custo da mudança, já que "o caso de uso não mudou
nada".
Metodologias ágeis (que são o escopo do post e, creio que, desta
thread) não possuem tanta diferenciação. Requisitos funcionais estão
expressos em histórias e regras em critérios de aceitação.
Er... não. Código reflete o requisito, este é o único motivo para
existir código em um sistema, e se o código mudou (funcionalmente, não
refactoring) sem um requisito (ou regra de negócio) mudar ou um bug
ser resolvido tem algo MUITO errado neste sistema.
2008/11/27 Paulo Vasconcellos <pfvasco...@gmail.com>:
> Será que estamos falando do mesmo 'bicho'? Será que sua experiência não é
> com aqueles casos RUP-like (casos de uso de sistema) que se intrometem onde
> não deveriam (tratando do 'como' ao invés de se limitar ao 'que' o usuário
> precisa)? Esse tipo de UC é realmente horrível e tô pra ver um desenvolvedor
> que goste deles. Pior: tô pra ver um projeto bem sucedido lançando mão
> deles.
Pode ser que sim, mas eu adoraria ver um exemplo de caso de uso útil
onde a regra de negócio mudasse bastante mas o caso continuasse o
mesmo.
>> Er... não. Código reflete o requisito, este é o único motivo para
>> existir código em um sistema, e se o código mudou (funcionalmente, não
>> refactoring) sem um requisito (ou regra de negócio) mudar ou um bug
>> ser resolvido tem algo MUITO errado neste sistema.
>
> Outro problema de interpretação, da forma como entendemos 'requisitos'. Pra
> mim, um requisito é uma necessidade (do negócio ou do usuário), uma
> qualidade (propriedade) ou uma restrição. Tratando exclusivamente dos
> funcionais: eles falam *o que o usuário precisa fazer*. O código não os
> reflete diretamente: o código reflete uma *especificação*: o 'como' aquela
> necessidade será satisfeita.
Hm... eu discordo *bastante* disso.
Primeiro porque, como falei, a única função para existir código
escrito é para obedecer a um requisito. Sem requisito não há código.
Depois porque a barreira entre o que é funcional ou não é muito
estreita. Cada vez mais eu venho forçando analista e usuário a
justificar um requisito "não funcional" com alguma necessidade de
negócio, e ele rapidamente vira requisito funcional. Esta segunda
parte é, eu cofesso, algo bem experimental que vem sido conversado e
tentado em alguns círculos.
>
> Para deixar claro: baseio-me numa definição tida como clássica de
> requisitos. Fonte: "Requirements Engineering", de Ian Sommerville (Wiley,
> 1997). Até Karl Wiegers (autor de "Software Requirements") utiliza a mesma
> definição. Resumindo: um requisito nunca expressa o 'como', só o 'que'. Ok?
Apesar de eu odiar o livro do Sommerville, note que eu não falei que
requisito representa "como" em lugar algum. O ponto é que se o "o quê"
mudar é meio que claro que o "como" geralmente vai mudar junto.
2008/11/27 Adm. Claudio Brancher Kerber <ker...@kerber.com.br>:
> tens que tomar cuidado pois parece que os agilistas se beneficiam do
> "quanto pior, melhor", "chaos report aqui, chaos report ali...". Isso é
> muito chato, ao invés da agilidade tomar o nicho de mercado para o qual
> nasceu, fica tentando converter o mundo todo.
>
> Eu acho as metodologias ágeis muito legais, contudo, mesmo quando não as
> uso, não vivo nesse universo terrível que vocês vivem alardeando (parece a
> esquerda dos anos 90). É necessária uma boa equipe para um time ágil, pois
> bem, para um time não ágil também e quando temos uma tudo corre muito bem
> pois além dela, temos analistas de negócios. Ahh, e eles gostam da gente,
> você deveria experimentar.
Desculpe Kerber mas eu não sei como esconder a realidade do mercado
pode ajudar as pessoas a entenderrem que existem maneiras diferentes
de fazer as coisas, que podem funcionar. Se é chato nós podemos falar
de outro assunto mas tapar o sol com a peneira não é o que eu
pretendo.
> Acredito que quando o cliente é caótico ao ponto de não saber como
> estará o negócio daqui a dois meses uma metodologia ágil é a melhor
> indicação, contudo, também acredito que um negócio gerido assim, sem o
> mínimo de planejamento, princípios e valores, tem mesmo uma boa chance de
> quebrar.
Google, Amazon, Microsoft, Twitter, Yahoo!, Salesforce... são apenas
exemplos de empresas deste tipo. E antes que alguém venha dizendo "ah,
mas são casos isolados", tenho que afirmar que não são. Aqui (onde
atendo na maioria bancos) e quando trabalhava no Brasil esta era a
grande realidade dos clientes.
Você está tentando criar um vínculo inexistente entre mudança e falta
de planejamento. Em metodologias ágeis nós planejamos para a mudança,
algo bem diferente.
> Não nos iludamos, mesmo empresas bem "cool" como a Apple já tem o
> roadmap dos produtos atuais e dos novos escritos até anos antes deles
> saírem, os ajustes ficam nos detalhes, adiantando algo aqui, atrasando algo
> ali em virtude dos concorrentes ou de disponibilidade de recursos para a
> produção e logística.
Você está falando de uma empresa "cool" com três décadas de mercado e
que trabalha com um produto em que a logística é muito importante. Por
que será que o Google, onde a logística é menos importante (afinal,
recall de software como serviço é sem custo) não pensa assim?
> A crise mundial é uma boa oportunidade para separar os dois tipos de
> empresa. Quem está sobre um alicerce firme, quem realmente entrega valor
> para o cliente (o que não é exclusivo da agilidade) muda muito pouco mesmo
> durante a crise até porque esse cenário está previsto (qualquer
> administrador brasileiro responsável tem dois cenários sempre prontos,
> inflação e recessão). As mudanças dessas empresas se encontram, como o Paulo
> mencionou, nas regras de negócio, que devem estar acessíveis aos usuários.
Desculpe mas esta afirmação não faz muito sentido para mim. A crise
tem quebrado empresas com dependências no mercado financeiro,
independente se entregam valor ou não.
> Quem não está sobre um alicerce firme, que só consegue entregar valor
> por algumas circunstâncias extrínsecas corre como barata tonta. "Ai meu
> Deus!!! Muda, muda muda!!!".
Será que o Lehman Brothers não tinha "alicerce firme"? Será que o
Citigroup não tem?
> Eu admiro muito seus exemplos práticos como citei aqui, agora segue um
> meu: Modelamos um produto novo há dois meses e passamos a desenvolver, como
> não somos ingênuos, os requisitos incluíam configurações que permitem
> diferentes modalidades de venda e uso do produto. A crise chegou, assustou
> todo mundo, políticas precisam ser ajustadas. O que mudou no código fonte do
> produto por causa disso? Nada, mudaremos os parâmetros. O código fonte está
> mudando sim durante o desenvolvimento, o cliente está solicitando mudanças,
> sabe onde? Detalhes. Essas mudanças abraçamos numa boa.
E eu disse que você não conseguiria algo parecido não usando métodos ágeis?
> Por isso acredito que a amplitude da mudança é inversamente proporcional
> à qualidade do planejamento. É ingenuidade achar que não é possível ou não
> vale a pena planejar. Vamos fazer um piloto dia 15 de dezembro, outro dia 10
> de janeiro e vamos instalar nos primeiros clientes no início de fevereiro. A
> comercial já está vendendo.
Desculpe mas você acabou de me deixar com a impressão que desconhece
os princípios básicos dos métodos ágeis. Nestas metodologias nos
planejamos muito, na verdade nós planejamos o tempo todo. É isso que
faz com que mudança seja simples.
> Cada metodologia no seu nicho.
Ahm?
Oi, 2008/11/27 Adm. Claudio Brancher Kerber <ker...@kerber.com.br>:tens que tomar cuidado pois parece que os agilistas se beneficiam do "quanto pior, melhor", "chaos report aqui, chaos report ali...". Isso é muito chato, ao invés da agilidade tomar o nicho de mercado para o qual nasceu, fica tentando converter o mundo todo. Eu acho as metodologias ágeis muito legais, contudo, mesmo quando não as uso, não vivo nesse universo terrível que vocês vivem alardeando (parece a esquerda dos anos 90). É necessária uma boa equipe para um time ágil, pois bem, para um time não ágil também e quando temos uma tudo corre muito bem pois além dela, temos analistas de negócios. Ahh, e eles gostam da gente, você deveria experimentar.Desculpe Kerber mas eu não sei como esconder a realidade do mercado pode ajudar as pessoas a entenderrem que existem maneiras diferentes de fazer as coisas, que podem funcionar. Se é chato nós podemos falar de outro assunto mas tapar o sol com a peneira não é o que eu pretendo.
Acredito que quando o cliente é caótico ao ponto de não saber como estará o negócio daqui a dois meses uma metodologia ágil é a melhor indicação, contudo, também acredito que um negócio gerido assim, sem o mínimo de planejamento, princípios e valores, tem mesmo uma boa chance de quebrar.Google, Amazon, Microsoft, Twitter, Yahoo!, Salesforce... são apenas exemplos de empresas deste tipo. E antes que alguém venha dizendo "ah, mas são casos isolados", tenho que afirmar que não são. Aqui (onde atendo na maioria bancos) e quando trabalhava no Brasil esta era a grande realidade dos clientes. Você está tentando criar um vínculo inexistente entre mudança e falta de planejamento. Em metodologias ágeis nós planejamos para a mudança, algo bem diferente.
Não nos iludamos, mesmo empresas bem "cool" como a Apple já tem o roadmap dos produtos atuais e dos novos escritos até anos antes deles saírem, os ajustes ficam nos detalhes, adiantando algo aqui, atrasando algo ali em virtude dos concorrentes ou de disponibilidade de recursos para a produção e logística.Você está falando de uma empresa "cool" com três décadas de mercado e que trabalha com um produto em que a logística é muito importante. Por que será que o Google, onde a logística é menos importante (afinal, recall de software como serviço é sem custo) não pensa assim?
A crise mundial é uma boa oportunidade para separar os dois tipos de empresa. Quem está sobre um alicerce firme, quem realmente entrega valor para o cliente (o que não é exclusivo da agilidade) muda muito pouco mesmo durante a crise até porque esse cenário está previsto (qualquer administrador brasileiro responsável tem dois cenários sempre prontos, inflação e recessão). As mudanças dessas empresas se encontram, como o Paulo mencionou, nas regras de negócio, que devem estar acessíveis aos usuários.Desculpe mas esta afirmação não faz muito sentido para mim. A crise tem quebrado empresas com dependências no mercado financeiro, independente se entregam valor ou não.
Quem não está sobre um alicerce firme, que só consegue entregar valor por algumas circunstâncias extrínsecas corre como barata tonta. "Ai meu Deus!!! Muda, muda muda!!!".Será que o Lehman Brothers não tinha "alicerce firme"? Será que o Citigroup não tem?
Eu admiro muito seus exemplos práticos como citei aqui, agora segue um meu: Modelamos um produto novo há dois meses e passamos a desenvolver, como não somos ingênuos, os requisitos incluíam configurações que permitem diferentes modalidades de venda e uso do produto. A crise chegou, assustou todo mundo, políticas precisam ser ajustadas. O que mudou no código fonte do produto por causa disso? Nada, mudaremos os parâmetros. O código fonte está mudando sim durante o desenvolvimento, o cliente está solicitando mudanças, sabe onde? Detalhes. Essas mudanças abraçamos numa boa.E eu disse que você não conseguiria algo parecido não usando métodos ágeis?
Por isso acredito que a amplitude da mudança é inversamente proporcional à qualidade do planejamento. É ingenuidade achar que não é possível ou não vale a pena planejar. Vamos fazer um piloto dia 15 de dezembro, outro dia 10 de janeiro e vamos instalar nos primeiros clientes no início de fevereiro. A comercial já está vendendo.Desculpe mas você acabou de me deixar com a impressão que desconhece os princípios básicos dos métodos ágeis. Nestas metodologias nos planejamos muito, na verdade nós planejamos o tempo todo. É isso que faz com que mudança seja simples.
Cada metodologia no seu nicho.Ahm?
2008/11/28 Adm. Claudio Brancher Kerber <ker...@kerber.com.br>:
> Hey, toda a "galáxia Google" já estava planejada há muito tempo. Adwords,
> por exemplo, é coisa planejada nos anos 90.
O Google surgiu nos anos 90. Logo?
>As coisas no alto nível não
> fecham tão redondas assim por acaso e mesmo que uma idéia brilhante nasça
> dentro de uma iteração de um projeto, ela precisa sair dele para ser
> encaixada na estratégia geral do negócio. Acho que devemos discutir qual é a
> amplitude da mudança que o agilismo pode cobrir.
Mas uma vez você está criando vínculos estranhos. "Por acaso"? Por que
"por acaso"? Não é porque alguém não planeja do jeito que você acha
certo que as coisas são por acaso. Eu recomendo que, para que entenda
a "amplitude" você procure alguma bibliografia sobre o tema.
>> Você está falando de uma empresa "cool" com três décadas de mercado e
>> que trabalha com um produto em que a logística é muito importante. Por
>> que será que o Google, onde a logística é menos importante (afinal,
>> recall de software como serviço é sem custo) não pensa assim?
>
> Aí que está, toda a vez que você falar de metologias ágeis, deve lembrar
> disso, como naquela analogia que você fez com arquitetura (imagine se mudar
> não custasse...).
Eu não entendi o que devo lembrar (que a Apple é uma empresa antiga)?
E peço para que se formos entrar no custo de refactoring você ofereça
alguns dados para discussão.
> As empresas estão quebrando por ter abandonado a entrega de valor legítima
> por situações de favorecimento momentâneo e irresponsável. Oferecer
> financiamentos a fundo perdido para tomadores de crédito de altíssimo risco
> não é um alicerce firme.
Pode ser sua opinião mas não é a das dezenas de empresas que fazem seu
serviço corretamente mas tiveram o azar de ter entre seus clientes
bancos, por exemplo. Sua afirmação continua não fazendo sentido, não
sei qual o impacto da crise no Brasil neste momento mas aqui fora as
coisas são muito piores que apenas bancos e investidores quebrando.
>> Será que o Lehman Brothers não tinha "alicerce firme"? Será que o
>> Citigroup não tem?
>
> Aparentemente não se eles fundamentaram sua saúde financeira em ignorar o
> prêmio de risco dos seus investimentos.
Desculpe mas me parece leviano afirmar isso de achismo.
>> E eu disse que você não conseguiria algo parecido não usando métodos ágeis?
>
> Aí que está, não é dizer ou não, é parecer, por isso solicitei que você
> cuidasse com a maneira que prega o agilismo. A impressão é a de que se não
> for assim nada sai. Sugestão de um amigo da área de marketing. Da mesma
> maneira que falei para o pessoal AN pegar leve nos projetos para primeiro
> mostrar seu valor e depois querer bancar a ponte entre o negócio e o
> desenvolvimento. É a forma, não o conteúdo.
Kerber, eu não *prego* agilismo. Eu escrevo sobre minhas experiências.
Existe evidência mais que suficiente (incluindo as estatísticas que
você considera "chatas") para embasar estas metodologias e práticas,
se você não concorda com elas ou não gosta eu não estou aqui para te
convencer do contrário.
>> Desculpe mas você acabou de me deixar com a impressão que desconhece
>> os princípios básicos dos métodos ágeis. Nestas metodologias nos
>> planejamos muito, na verdade nós planejamos o tempo todo. É isso que
>> faz com que mudança seja simples.
>
>
> E você me deixa com a impressão o tempo todo de que não teve a oportunidade
> de trabalhar com bons analistas de negócios. Acho que o conceito de
> planejamento está em cheque nessa discussão. A gente planeja até para
> atravessar a rua. Sendo assim, planejamos o tempo todo, mas o quê estamos
> planejando? Os próximos 5 minutos o tempo todo?
Novamente: antes de especular procure a bibliografia básica sobre o tema.
Por que sempre (ou quase sempre) que se fala em metodologias ágeis por
aqui vira flame?
Na minha opinião Análise de Negócios é algo diferente disto. Ou não?
Para se ter Analistas de Negócio em um projeto é pré-requisito que este
não seja ágil?
Desculpem, mas se alguém pensa assim, está errado.
A proposta do Paulo é uma proposta no mínimo ágil, afinal que eu me
lembre o AN está presente em todo o processo de desenvolvimento, em
contato com toda a equipe.
Se o AN está presente em todo o processo de desenvolvimento, isso
significa que o cliente (ou nesse caso, seu representante, suas
necessidades e a visão de negócio) está presente, existe comunicação e o
feedback é constante.
Tudo bem, isso não vem ao caso, mas eu continuo com a dúvida: Qual o
problema de se ter um Analista de Negócios dentro deste contexto?
[]s
Ronan
Pode ser que sim, mas eu adoraria ver um exemplo de caso de uso útil
onde a regra de negócio mudasse bastante mas o caso continuasse o
mesmo.
Hm... eu discordo *bastante* disso.
Primeiro porque, como falei, a única função para existir código
escrito é para obedecer a um requisito. Sem requisito não há código.
Depois porque a barreira entre o que é funcional ou não é muito
estreita. Cada vez mais eu venho forçando analista e usuário a
justificar um requisito "não funcional" com alguma necessidade de
negócio, e ele rapidamente vira requisito funcional. Esta segunda
parte é, eu cofesso, algo bem experimental que vem sido conversado e
tentado em alguns círculos.
Apesar de eu odiar o livro do Sommerville, note que eu não falei que
requisito representa "como" em lugar algum. O ponto é que se o "o quê"
mudar é meio que claro que o "como" geralmente vai mudar junto.
Beleza cara, vamos ver se eu consigo ajudar de alguma forma.
Comentários abaixo:
ker...@kerber.com.br escreveu:
> Ronan, quando eu fico falando em amplitude da mudança, quero na
> verdade entender qual é o tamanho da mudança que podemos abraçar e a
> partir de qual momento.
>
Penso que essa resposta só o cliente pode dar.
Notei que o seu conceito de cliente em algumas colocações difere do meu.
Então... pra ficar mais claro eu defino como cliente o sponsor ou
departamento interessado, não necessariamente o usuário final.
Se o cliente, no meio do projeto, achar que os objetivos mudaram e que o
projeto deve ser abandonado, ele tem esse direito, mesmo que ninguém
queira que isso aconteça, mas ele tem esse direito.
O Ken Schawber em seu livro Project Management With Scrum cita um exemplo.
Diz que em determinada empresa, no meio do projeto, o sponsor conversa
com o ScrumMaster e explica que surgiu uma oportunidade de ganhar alguns
milhões, mas para isso o projeto atual teria que ser interrompido.
Assim foi feito. Projeto abandonado.
Vamos colocar o AN no lugar do sponsor. Pergunto:
A função do AN não é entender o negócio e busca o alcance de seus objetivos?
O cara seguiu o objetivo do negócio, certo?
Aumentou a lucratividade, certo?
E todo o projeto foi mudado, escopo, planejamento e etc... mas os
objetivos foram alcançados... :-)
Veja, sei que peguei um exemplo extremo, que independe de metodologia,
mas que reforça que o mais importante são os objetivos do negócio, mesmo
que todo o escopo mude.
OK meu caro Kerber, mas ainda assim vou responder a sua pergunta.
O importante é entender que em MA não se negligencia planejamento, nem
detalhamento, nem contrato, nem documentação, nem nada... apenas se vê
as mesmas coisas por outro ângulo "do mesmo prisma".
Uma das diferenças é que o planejamento não se dá apenas no inicio do
projeto, mas também a cada inicio de iteração (Sprint Planning), e
também a cada dia (Daily Meetings - planejamento de tarefas) e na
verdade a qualquer momento que alguém achar necessário.
Em MA não existe verdade absoluta. Não quer dizer que o que o AN (ou o
cliente) definiu é exatamente daquela forma e assim será.
Se alguém pensar diferente (ou perceber que determinada regra vai
impactar negativamente em outra parte do sistema), ele vai te chamar
para solicitar maiores esclarecimentos.
Veja que legal, porque aí você passar a ter um feedback constante também
da equipe técnica. E qualquer problema técnico que inviabilize
determinado requisito, será discutido "on the fly", e vai ser resolvido
ou pelo menos levado ao conhecimento do AN (e possivelmente do cliente -
se depender de alguma decisão estratégica).
Na realidade em MA ninguém quer dizer que tudo pode mudar. Toda a equipe
(inclusive o AN) vai trabalhar para que nada precise ser mudado.
Essa abertura que se dá a mudanças significa apenas que a equipe prefere
desenvolver uma solução que atenda as necessidades do que comprometer o
projeto em função do contrato.
Se deve ser mudado ou não, o cliente decide. Sim, o cliente. O AN pode
(deve) até levar as informações ao conhecimento do cliente, mas quem
decide os objetivos e estratégias (custo/prazo/escopo) é ele.
Para entender como MA pensa, veja isto da seguinte forma:
"É melhor você ajustar alguns requisitos de um projeto e entregá-lo com
algumas funcionalidades (menos importantes) a menos, do que entregar
exatamente o contratado e de forma menos útil".
Querendo ou não sabemos que muitos dos requisitos são *aprendidos*
durante o desenvolvimento, devido a alguns detalhes ficarem mais
visíveis apenas a um nível bem profundo. Até por isso o AN está aí, para
ajudar a maximizar os acertos.
Não há problema algum dizer que a equipe está aberta a mudanças.
Elas afetam escopo, prazo, custo? Expõe isso pro cliente.
Você entende o negócio e passa as alternativas, impactos, riscos, custos
e prazos envolvidos. As decisões estratégias e financeiras ele toma.
> Talvez a minha discussão nem tenha a ver com ágil ou não. Tenha a ver
> com mudanças em geral em projetos.
>
Sim, realmente isso não tem nada haver com ágil ou não. Lembre-se que
Gerenciamento de Mudanças é tratado também no PMBok.
> Digamos que a empresa defina seu planejamento estratégico (cinco anos,
> um ano, seis meses, depende), aí define suas iniciativas, essas
> iniciativas se desdobram em projetos, esses projetos são propostos com
> o apoio de ANs (business case, por exemplo) e claramente devem atender
> aos objetivos estratégicos.
>
> Os projetos são aprovados por quem manda na empresa. As vezes dois
> projetos diferentes competem por recursos para atender ao mesmo
> objetivo estratégico. Aí alguém diz, beleza, toquem o projeto, aqui
> estão os recursos.
>
> Bom, nesse ponto o que era um business case precisa ter seu escopo um
> pouco mais aprofundado e o projeto começa de fato.
>
> Digamos que o projeto seja entregue a uma equipe de análise e
> desenvolvimento interna ou de um fornecedor.
>
> Qual é a amplitude das mudanças que poderão ocorrer nesse projeto a
> partir desse ponto?
>
Kerber, novamente.
O AN entra em campo, entende o problema, propõe uma solução.
O cliente aprova.
Surgiu uma necessidade de mudança?
Expõe pra ele a necessidade, onde ela entra e afeta os objetivos do
negócio, os riscos e impactos vinculados a ela, custo, prazo...
A decisão estratégica é dele.
No meu ponto de vista a diferença básico de uma equipe ágil para uma não
ágil é que a equipe NÃO ágil vai priorizar custo e prazo em detrimento
da qualidade e isso vai gerar menos usabilidade, menos testes e mais erros.
A equipe ágil costuma priorizar a qualidade em detrimento das
funcionalidades menos importantes (aka perfumaria) que vai gerar uma
aplicação com menos funcionalidades do que o contratado, porém,
perfeitamente funcional.
Novamente... "Ah, mas aí o cara contratou uma coisa e recebeu outra"...
A decisão estratégica e financeira cabe ao cliente (sponsor).
> Por isso que falei que temos sim que abraçar a mudança, mas peraí,
> todo o projeto foi vendido para alguém em algum momento e deve manter
> as características gerais vendidas.
Depende cara. Se o cliente estiver acompanhando o projeto (mesmo que por
intermédio de um facilitador ou ponte), ele pode, no meio do projeto,
perceber que determinada meta de negócio pode ser melhor atingida de
outra forma.
Ele decide.
Veja, é justamente isto que não queremos: "Achar" que o cliente (e
também a equipe) conhecia todas as variáveis no momento do contrato e
depois passar o projeto inteiro brigando por linhas contratuais.
Não, vamos brigar por atingimento de metas e objetivos.
Sei que há casos e casos. O do Jefferson é diferente, como todos já
conhecemos, mas o AN deve se encaixa perfeitamente nas duas realidades.
> Se ficarmos discutindo somente nossa relação com o desenvolvimento,
> esquecendo da nossa vida fora dos projetos e antes deles, estaremos
> estreitando e muito nosso escopo e importância.
>
Desculpe Kerber, não entendi o que você quis dizer neste parágrafo.
> Vamos pensar bem, o quanto mesmo estamos mudando em um projeto ágil,
> estamos mudando a cor da barra do menu ou algo mais abrangente? Será
> que estamos mudando especificações e achando que estamos mudando os
> requisitos?
>
Isso independe de agilidade ou não.
Se o cliente durante o projeto resolver adicionar ou alterar um
requisito, dependendo da solicitação podemos alterar o requisito ou
apenas a especificação.
Mas acho isso natural, acontece em qualquer projeto.
[]s
Ronan
2008/11/28 Paulo Vasconcellos <pfvasco...@gmail.com>:
> Sei que vc não gosta disso, ou melhor, vc defende que a
> especificação (modelo ou afins) é o próprio código. Mas, definitivamente, há
> o trampo de raciocinar o 'como'. E eu desconfio (como bom mineiro) que o
> 'como' muda com muito mais frequência que o 'que'. É o que chamei de
> aprendizado.
Na grande maioriadas vezes não existe motivo ara uma especificação
técnica diferir da implementação. Estou tentand deixar a parte de
escrita de software em si de lado nesta thread mas raciocinar o como é
parte do ciclo de escrever código. Algumas vezes usa-se um diagrama
(num quadro), outras vezes apenas TDD basta.
Dado que um sistema não tem bugs conhecidos não há porque o "como"
mudar sem uma mudança no "que", exceto no caso de não-funcionais que
discutimos adiante.
> Entendo o que vc quer dizer. Realmente os requisitos não funcionais (ex:
> "Deve ser rápido como o Google") podem gerar requisitos funcionais, ou,
> principalmente, afetar drasticamente os funcionais. Mas chegar ao ponto de
> dizer que não existem requisitos não-funcionais eu acho um exagero. Vc tem
> alguma referência sobre os experimentos?
Ainda não tenho refer6encias mas basicamente o que eu faço é tentar
justificar tudo através de valor para o negócio, pensando a la lean.
> Antecipei a resposta sobre esse ponto ali em cima. Claro que a mudança do
> "que" resultará na mudança do "como". Isso eu não discuto. Mas reafirmo que
> o 'como' muda mais que o 'que'.
Em teoria eu concordo com essa afirmação mas a menos que o "que" seja
algo muito abstrato eu não vejo como isso aconteceria.
Sim Kerber, concordo, mas vamos pensar assim. Se o sponsor coloca um
representante dele/do negócio pra tocar um projeto, é preciso haver uma
relação de confiança entre ambos.
O AN tem uma função de direcionar as decisões estratégicas referentes ao
desenvolvimento em direção aos objetivos do negócio.
O ideal é que toda a decisão tomada pelo AN seja apoiada de alguma forma
pelo sponsor, seja pela confiança depositada, seja por exposição e
concordância. Afinal, da mesma maneira que a equipe de desenvolvimento
não deve (por si só) tomar decisões que interfiram no negócio, o AN não
deve (por si só) tomar decisões que interfiram em prazo, custo ou escopo
sem consultar o sponsor.
O projeto atrasou devido a determinado requisito? O sponsor deve estar
ciente e apoiar tal decisão.
O projeto encareceu devido a determinado requisito? O sponsor deve estar
ciente e apoiar tal decisão.
O projeto mudou de foco/abrangência? O sponsor deve estar ciente e
apoiar tal decisão.
É por que em MA fala-se tanto em cliente presente. E é por isso que na
proposta do Paulo o AN está presente em todas as etapas do projeto.
> Seria necessário definir então, com antecedência um contrato com o
> cliente definindo o que será feito com as mudanças quando elas
> surgirem?
Bem, vou colocar a mesma situação de uma forma diferente:
Não há como prever tudo no inicio do projeto (ponto).
Se você fizer esta pergunta para o sponsor é provável que ele afirme de
pés juntos que não haverá nenhuma mudança no projeto, afinal ele (acha
que) sabe sobre tudo que será feito... é só um "sisteminha" para
integrar dois setores, coisa pouca.
Mas na realidade é que durante o projeto vão surgir novos "issues" a
serem tratados, regras que conflitam com outras funcionalidades. Coisas
que só ficaram visíveis com a 30 metros de profundidade, algumas
iterações e algum tempo em produção (estou falando aqui de
desenvolvimento iterativo).
Imagine que o cliente disse de pé junto e assinou um contrato onde "NÃO
haverá mudanças".
Na segunda iteração um determinado requisito vai pro ar e parte dos
cliente começam a reclamar, afinal aquela mudança afetou negativamente
um outro ponto do negócio.
O que passa a valer daqui pra frente? O que o sponsor definiu no inicio
do projeto (NÃO haverá mudanças) ou os objetivos do negócio?
Por isso acho legal a idéia do escopo negociável (desculpe Paulo,
esqueci o termo correto aqui), quando possível.
Mas sim, é algo a ser negociado no inicio do projeto, só não acho que
deve se tentar prever o número de mudanças, mas deixar claro que isso
fica a critério do sponsor e seu representante, lembrando que dependendo
da mudança isso poderá afetar preço e/ou prazo.
Para cara mudança você leva ao conhecimento das partes interessadas os
prós e contras, riscos e impactos, e deixa a decisão pra ele.
> Existe um meio termo entre a equipe ágil e a não ágil ou é
> binário mesmo?
>
Sim, claro. Ninguém consegue mudar de tradicional para ágil do dia pra
noite. Existe sim uma transição, existem os tons de cinza e etc.
Você pode não ter uma equipe verdadeiramente ágil, mas mesmo assim pode
ter muita agilidade dentro da equipe.
Só o que não vale aqui é utilizar uma ou duas ou três práticas ágeis e
depois sair dizendo por aí que não funciona.
O grande poder das MAs está na sinergia entre as práticas, na mudança
cultural, na adaptabilidade, na vontade de atender o negócio.
[]s
Ronan
Comentando o seu post:
Concordo que tudo que foi dito, mas admito que a questão do AN ser um
lider ou uma ponte é algo que me intriga.
Ao mesmo tempo que entendo a importância do papel de liderança no
sentido motivacional e de trabalhar como um time, receio que isso induza
a equipe ou o cliente a conversarem diretamente sem o conhecimento do
AN, afinal... "é só uma coisinha, não vai mudar nada".
Sou da opinião que o AN deve ser o PO, e deve forma ele deve também ser
uma ponte, ou seja, qualquer pergunta/esclarecimento/decisão deve ser
feita com o seu conhecimento, afinal ele precisa conhecer tudo que se
passa entre negócio e solução, senão um diretor manda um desenvolvedor
alterar uma determinada regra de determinado requisito sem o AN saber.
Entendo assim que o AN deve busca um ponto de equilibrio entre ponte e
liderança.
Phillip Calçado escreveu:
> Em teoria eu concordo com essa afirmação mas a menos que o "que" seja
> algo muito abstrato eu não vejo como isso aconteceria.
>
Apesar de eu concordar que isso não é normal, e também não deve ser, vou
citar um exemplo que aconteceu na empresa em que trabalho.
Tinhamos um requisito funcional onde a imobiliária deveria ter a opção
de exibir a localização do imóvel.
Para atender o requisito a melhor solução encontrada na época envolvia o
desenvolvimento desta funcionalidade em flash, incluindo toda a
navegabilidade e interação com o sistema.
Esbarramos em algumas dificuldades técnicas, onde a principal delas foi
a vetorização dos mapa de cidades.
Acredite, mas muitas cidades sequer tem mapa digitalizado e isso nos
limitou bastante.
Levamos os prós e contras, riscos e impactos para o sponsor e mesmo
assim ele decidiu dar continuidade ao projeto e assim foi feito.
Depois de alguns meses o Google abriu a API do Google Maps e isso caiu
como uma luva pra nós, porque a partir daí poderíamos oferecer o mesmo
recurso, com todo o expertise do Google, para qualquer cidade do país e
de forma gratuita.
Novamente os prós e contras, riscos e impactos foram levados ao
conhecimento do sponsor (afinal havia novos prazos e custos envolvidos),
ele gostou da idéia e decidiu dar continuidade ao projeto.
Neste caso o "o que" não foi alterado, mas o "como" sim.
[]s
Ronan
2008/11/28 Ronan Lucio <lis...@tiper.com.br>:
> Sou da opinião que o AN deve ser o PO, e deve forma ele deve também ser
> uma ponte, ou seja, qualquer pergunta/esclarecimento/decisão deve ser
> feita com o seu conhecimento, afinal ele precisa conhecer tudo que se
> passa entre negócio e solução, senão um diretor manda um desenvolvedor
> alterar uma determinada regra de determinado requisito sem o AN saber.
>
> Entendo assim que o AN deve busca um ponto de equilibrio entre ponte e
> liderança.
Nem um cliente presente (o que o Scrum chama de Product Owner) nem um
analista de negócios presente vai necessariamente ser líder de projeto
algum, eles são a referência.
De qualquer maneira, não querer ter o cliente como parte do time é
algo estranho. Não estou dizendo que não dá certo, já trabalhei assim
em muitos projetos mas sem a menor sombra de dúvida a ausência do
cliente fez com que perdessemos diversas oportunidades de trabalharmos
de maneira melhor. Quando o cliente não está presente no dia-a-dia,
quando ele só aparece no showcase, o benefício da prática (feedback
rápido) fica muito comprometido.
Quando à desenvolvedores falarem diretamente com o cliente, é papel do
analista de negócios se inteirar do que está acotnecendo e ajudar. O
que você me falou me parece com um líder técnico dizendo que dois
desenvolvedores não podem conversar sem ele estar presente.
> Neste caso o "o que" não foi alterado, mas o "como" sim.
Este é exatamente o tipo de "o quê" que eu não considero útil. Ele
fica muito bem como título de um cartão de história mas lembre-se que
títulos dos cartões não são requisitos, são mnemônicos. A menos que a
interface que vocês tinham antes fosse acidentalmente um clone do
Google Maps o critériod e aceitação desta história mudou drasticamente
com a mudança de tecnologia.
Mas ainda que não tivesse mudado, supondo que fosse uma alteração
meramente da tecnologia, sem impacto funcional, isso cairia na
conversa que eu estou tendo com o Paulo sobre requisitos
não-funcionais. A minha visão para isso é que qualquer requisito tem
que entregar valor e tem que ser mensurável. Mudar para Google Maps
trouxe algum valor, do contrário vocês não teriam mudado, e este valor
deve estar expresso em uma história.
ker...@kerber.com.br escreveu:
> Os projetos ágeis são melhores por que despertam o que há de melhor
> nas pessoas ou por que neles já estão as melhores pessoas?
>
Me parece que estamos falando a mesma lingua... :-)
Isso é uma das coisas que MA busca, a valorização da equipe e do
trabalho profissional.
Com certeza profissionais deste tipo não de dão bem orientados a
chibatadas, e com certeza esta ambiente com profissionais que você
trabalhou não deveria ter um Analista de Sistema "sabe tudo", que
passava para o GP "casca grossa" que decidia em quanto tempo, dia e hora
cada um iria fazer o que e fica com uma chibata atrás colocando pressão
na equipe.
Você acha que é brincadeira? Isso acontece meu caro Kerber. Nos dias de
hoje e em grandes empresa que não pretendo citar o nome.
Aonde eu quero chegar... não digo que MA seja a solução de todos
problema e tão pouco que na utilização de MA também o seja... mas
sinceramente acho que para um projeto dar certo é preciso haver um pouco
de agilidade, sim (olha os tons de cinza aí).
[]s
Ronan
Os projetos ágeis são melhores por que despertam o que há de melhor
nas pessoas ou por que neles já estão as melhores pessoas?
De qualquer maneira, não querer ter o cliente como parte do time é algo estranho. Não estou dizendo que não dá certo, já trabalhei assim em muitos projetos mas sem a menor sombra de dúvida a ausência do cliente fez com que perdessemos diversas oportunidades de trabalharmos de maneira melhor. Quando o cliente não está presente no dia-a-dia, quando ele só aparece no showcase, o benefício da prática (feedback rápido) fica muito comprometido.
O que você me falou me parece com um líder técnico dizendo que dois desenvolvedores não podem conversar sem ele estar presente.
Este é exatamente o tipo de "o quê" que eu não considero útil. Ele fica muito bem como título de um cartão de história mas lembre-se que títulos dos cartões não são requisitos, são mnemônicos. A menos que a interface que vocês tinham antes fosse acidentalmente um clone do Google Maps o critériod e aceitação desta história mudou drasticamente com a mudança de tecnologia. Mas ainda que não tivesse mudado, supondo que fosse uma alteração meramente da tecnologia, sem impacto funcional, isso cairia na conversa que eu estou tendo com o Paulo sobre requisitos não-funcionais. A minha visão para isso é que qualquer requisito tem que entregar valor e tem que ser mensurável. Mudar para Google Maps trouxe algum valor, do contrário vocês não teriam mudado, e este valor deve estar expresso em uma história.
Agora, uma percepção sobre esta thread especificamente: estamos tratando de mudanças estratégicas e mudanças 'pititinhas' da mesma forma? Não deveríamos...
Paulo Vasconcellos escreveu:
> Apesar do Phillip não concordar, insisto que muitas mudanças incidem
> na forma (o tal 'como') que estamos satisfazendo determinados
> requisitos. Daí que nem gosto de chamá-las de mudanças. São parte do
> processo de aprendizado que caracteriza um projeto. Protótipos,
> storyboards e afins minimizam isso (particularmente para requisitos
> funcionais). Mas só o software rodando elimina todas as incertezas.
> Por isso entregamos várias vezes *software rodando*. Essa evolução
> elimina bugs, claro, mas também promove a evolução do 'como', até o
> estágio da plena satisfação do usuário (e seus requisitos).
Entendi, mas ainda fiquei com uma pulga atrás na orelha quando você diz
elas deveriam ser tratadas de forma diferente.
Ainda vejo da forma que havia colocado antes:
- Se qualquer pessoal envolvida no projeto (sponsor, AN, GP/lider
técnico, desenvolvedor) detectar qualquer inconsistência (olha aqui uma
das finalidades das Daily Meetings) a qualquer momento, a questão será
levantada.
= A equipe consegue resolver por si só sem afetar negativa e
significativamente o projeto? Beleza.
= Não consegue? Vai impactar prazo e/ou custo? Fala com o AN
(representante do cliente, aquele que conhece melhor os objetivos e
metas do negócio). Resolveu? Beleza
= Não resolver? Existe alguma forma de mitigar o problema, algum
requisito que baixa prioridade que possa ficar de fora? Beleza
= Não tem jeito? Vai afetar de qualquer maneira? Já analisaram os
prós e contras, riscos e impactos? Convoca o parlamento.
Chego no mesmo ponto.
Existem mudanças que a equipe técnica consegue resolver por si só.
Outras precisam da opinião do AN
E outra precisam da decisão do sponsor ou de uma reunião com o parlamento.
Talvez estejamos falando de coisas diferentes. Estamos?
> ps: Ronan, me perdoe a indiscrição, mas tá tudo bem contigo? Só tive
> noção do estrago que ocorreu por aí ontem, quando tive um tempinho
> para ler jornal e ver TV. Me deu um baita aperto no coração pq gostei
> muito da região aí, que só tive a oportunidade de conhecer neste ano.
> Que o grupo me perdoe agora, mas se pudermos ajudar em alguma coisa,
> fala aí, ok?
Então Paulo, tá complicado a situação por aqui.
Graças a Deus eu moro nos 10% não atingidos da cidade. To me virando bem.
A cidade tá o caos. Até difícil explicar, mas da pra tirar umas boas
lições. Como é bonito ser solidário.
A cidade simplesmente parou pra se ajudar. Quase nenhum comércio aberto,
quase nenhuma empresa funcionando. Mas muita solidariedade... e poucos
aproveitadores (gente se aproveitando da desgraça dos outros).
É muito bonito ver a solidariedade costumeira dos brasileiros, mas uma
desgraça é sempre uma desgraça. Da vontade de chorar.
Sinceramente a vontade é de estar lá ajudando o povo, mas também tenho
minhas responsabilidades no trabalho. então a gente ajuda como dá.
Pra quem quer ajudar de alguma forma eu digo que qualquer ajuda é bem vinda.
Imagino que pelo menos metade da população tenha perdido muito do que
lutou a vida inteira para conseguir (principalmente carros e móveis),
mas qualquer ajuda é bem vinda, sabonete, produtos de limpeza, roupas,
móveis e etc.
Pra quem pretende ajudar com dinheiro a minha dica, como bom brasileiro,
é que busque algum órgão sério.
Mas o povo tá firme. Forte no momento que precisam de força e esperança.
Você fala com uma pessoa que perdeu tudo e ela fala:
- Ah mas tá tudo bem, estamos vivos, vamos começar tudo de novo!
Chega a impressionar.
Mas assim, apesar de se falar muito em Itajaí por ter sido a cidade mais
atingida pela enchente, a situação foi meio generalizada aqui na região:
Blumenau, Brusque, Gaspar, Camború, Navegantes, Itapema... muita gente
prejudicada.
E a vida segue.
[]s
Ronan
Paulo Vasconcellos escreveu:
> Sua sequência para o tratamento de mudanças, em meu ponto de vista, é
> o correto para mudanças de menor porte. E tem uma boa lógica no
> sentido de tentar deixar no âmbito da equipe sua avaliação e
> implementação. Aqui cabe outro alerta: sem o cliente ou o AN, seu
> processo é arriscado. Muitas mudanças podem 'esconder' efeitos que uma
> equipe exclusivamente de desenvolvedores não perceberá. O AN é
> treinado para pensar em causas e efeitos (no negócio), o que lhe
> permite evitar consequências não desejadas causadas por algumas
> mudanças mal pensadas / planejadas.
Entendo, realmente é meio complicado isso.
Em alguns pontos é difícil achar o ponto de equilibrio, por um lado
corremos o risco de entrar no micro-gerenciamento, por outro lado
abrimos uma margem maior de erros.
Mas de certa forma, na prática, acredito que isso acaba se encaixando
porque existe uma tendência em conhecermos os pontos fortes e fracos
também da equipe.
Se o AN sente que a equipe não tem visão nenhum de negócio, a tendência
é que ele controle mais as decisões pititinhas.
Se o AN sente que a equipe é mais experiente, a tendência é que ele dê
uma autonomia maior ao lider técnico.
PS: Obrigado por abrir o off-topic. Tem muita gente precisando disso.
[]s
Ronan
ker...@kerber.com.br escreveu:
> Oi Ronan, pois é, nem me liguei que você é de Itajaí. Foi mal. Que bom
> que você está bem. Foi a primeira vez que não reclamei de ficar sem
> água por 5 dias pois ficar sem água é uma bênção versus o que ocorreu
> com nossos amigos do vale.
>
Tranquilo... :-)
> Estou vendo nos seus posts aquelas opiniões que você emitiu quando
> propôs que o AN seja o PO.
>
> /*
> Se o AN sente que a equipe não tem visão nenhum de negócio, a tendência
> é que ele controle mais as decisões pititinhas.
> Se o AN sente que a equipe é mais experiente, a tendência é que ele dê
> uma autonomia maior ao lider técnico.
> */
>
> Nessa parte podemos concluir que o AN deve escolher as características
> do processo de desenvolvimento escolhido?
>
> Como uma restrição específica do desenvolvimento é um requisito, é o
> AN que estabelece como será o desenvolvimento?
>
Oh perguntinha complicada eim!
Bem, já deu pra ver que o meu comentário é algo bem pessoal neh.
Vamos lá, eu vejo da seguinte forma:
Não acho que o AN seja o responsável pelo desenvolvimento (não queremos
criar super-heróis), mas ao mesmo tempo ele tem lá suas responsabilidades.
O que a equipe de desenvolvimento produz deve ser 100% orientado a
negócio, logo... o ideal é que o AN esteja presente na equipe.
Mas pera aí, ele também tem que entender o negócio, falar com o sponsor,
com os usuários, entender os processos e tals.
Então ele precisa dar uma certa autonomia para a equipe.
Um decisão de usabilidade pode afetar o negócio. Imagine a seguinte
situação:
Um formulário com muitos campos ficou um pouco poluída.
O webdesigner por questões de usabilidade crê que o ideal seria otimizar
a página para deixá-la mais prática.
Quais campos deixar de fora?
Será que esta decisão cabe a equipe técnica?
Será que determinados campos aparentemente menos importantes não serão
utilizados em outro requisito?
Se você tem uma equipe com uns caras mais seniores, com visão de
negócio, muitas vezes você pode deixar este tipo de decisão pra eles,
até porque esses caras não vão querer afetar negativamente o negócio, se
eles perceberem que há dúvida em algum ponto, "eles vão te perguntar".
Isso dá maior segurança para o AN.
Se a sua equipe não tem a mesma qualidade ou a mesma percepção de
impacto no negócio, você com certeza vai querer acompanhar este tipo de
debate pra ter certeza que os objetivos do negócio estão "nos trilhos".
Mas veja Kerber, até aqui eu só falei de coisas que podem afetar o
negócio, e na realidade isso também é verdadeiro na área técnica.
Se você tem uma equipe com essa visão, é um ponto a mais.
O Paulo fala muito que gosta de ter um Arquiteto como lider técnico,
alguém que conheça e responda pela solução.
Penso que esse elo deve ser bi-direcional, a equipe também deve ter
alguém que possa responder por determinadas regras ou "issues" que
aparecem no decorrer do projeto.
Bem, na realidade não é uma relação bi-direcional, mas na verdade uma
atividade de equipe.
[]s
Ronan
2008/11/29 Paulo Vasconcellos <pfvasco...@gmail.com>:
> atingiram um ponto no qual seus defensores ficam resistentes a mudanças! Dá
> para acreditar? Vejam um exemplo aqui:
> http://www.milfont.org/tech/2008/11/13/o-que-muda/
Acho que você pegou o post do Milfont fora decontexto. Não é porque
alguém aceita mudanças que ele vai concordar com qualquer coisa.
2008/11/29 Paulo Vasconcellos <pfvasco...@gmail.com>:
> São essas, particularmente, que tratei como 'pititinhas'. Seu impacto, em um
> verdadeiro processo iterativo e incremental, é zero! Isso mesmo, ZERO!
Não é bem assim. Tudo depende da duração do ciclo de feedback e este é
pulo do gato em metodologias ágeis.
Se você fizer RUP direito, com iterações curtas e tudo, seguindo as
práticas técnicas recomendadas você ainda vai ter impactos grandes. As
práticas do RUP focam em transformação manual de modelos (modelo de
análise => modeo de projeto => modelo de implementação), o ciclo de
feedback é muito longo e mudanças precisam passar pelo fluxo (é claro
que você pode tirar a transformação mas aí vem a questão do 'o que é
RUP, afinal?').
>
> Em minhas oficinas mostro um slide (pra lá de mal desenhado) com a infeliz
> metáfora das 'ondas e marolinhas'. Minha intenção é exatamente diferenciar
> tipos e impactos de mudanças. Mudanças em processos de negócio (fluxo,
> regras, recursos etc) ou no próprio negócio justificam, na maioria das
> vezes, o congelamento (ou cancelamento) de um projeto. Se o *tema
> estratégico* mudou, se o negócio mudou, como o projeto (que se baseia numa
> premissa que não é mais verdadeira) pode seguir?
Existem mudanças que realmente fazem um projeto perder sentido mas não
creio que são maioria. Muitos rojetos que trabalei mudou nete nível e
muitos poucos foram cancelados ou paralisados por isso.
2008/11/29 Ronan Lucio <lis...@tiper.com.br>:
> Phillip,
> Vou tentar explicar de novo de outra forma. O cliente deve estar presente
> quando for relevante.
> O que acontece é que no dia a dia de muitas empresas o cliente não consegue
> ficar disponível horas por dia, até porque muitos viajam.
> O AN é alguém da equipe com melhor visão do negócio, seus objetivos, metas e
> pontos críticos, com isso ele tem o conhecimento suficiente para responder
> muitas perguntas sem ter que tomar este tempo do cliente.
> Mas um bom AN vai saber identificar até onde vai os seus limites e
> autonomia. Dependendo da decisão a ser tomada ele pode falar diretamente com
> o cliente ou convocá-lo para uma reunião com a equipe.
Isso é um roblema diferente, creio.
> Pode até parecer isto. Particularmente não vejo desta maneira e também não
> tinha me referido ao lado técnico, mas acho que também é cabível.
> E se um diretor solicita diretamente para um desenvolvedor determinada
> mudança e este sem um conhecimento ou avaliação maior de impactos muda o
> foco do projeto?
Pela dinâmica de qualquer étodo ágil sadio esta mudança vai impactar
num cartão e por isso o analista de negócios, que é dono dos cartões,
vai ser avisado. Acho que você pode estar confundindo cliente presente
com cliente fazendo solicitações o tempo todo.
> Sei que você é um amante de metodologias ágeis, já leu o livro do Ken
> Schwaber, ele cita uns exemplos bem legais onde deixam bem claros que o
> sucesso de um projeto depende de uma boa equipe, de um bom ScrumMaster, e de
> um bom cliente.
> Acontece que em muitos momentos não é fácil encontrar um bom PO, e muitas
> vezes um AN fazendo uma ponte entre esse cliente e a equipe pode trazer
> melhores resultados.
Como falei, isto é outro problema. Claro que se o cliente não pode
estar presente (ou não quer!) o processo tem que ser adaptado mas não
é disso que eu falo aqui, é de um projeto ideal.
> Phillip, poderia ser mais claro com a sua colocação 'Este é exatamente o
> tipo de "o quê" que eu não considero útil.'?
> Se você fosse fazer a Análise de Requisitos de um projeto você não anotaria
> este tipo requisito?
Inútil no contexto que eu conversava com o Paulo anteriormente. O que
este requisito tenta alcançar estaria presente em uma história, só não
estaria tão abstrato. O que eu quis dizer é que eu considero inútil a
descrição de um requisito em tão alto nível que uma mudança grande
como esta não impacta nele.
2008/11/29 Paulo Vasconcellos <pfvasco...@gmail.com>:
> Voltando: Em outra thread, num passado não muito distante, o Ronan disse que
> os requisitos registrados na forma de estórias ficam em alto nível (mas, se
> me lembro bem, não os relacionamos com os níveis do Cockburn). Eu sei que os
> critérios de aceitação conferem às estórias um nível adequado de
> detalhamento. Pergunto: mesmo assim, os requisitos funcionais não ficam num
> nível muito alto (pássaro ou pipa) quando expressos na forma de estórias?
>
> Se sim, pq isso não é negativo (no caso das estórias) mas é ruim para casos
> de uso?
Histórias não são de alto nível, elas só não possuem detalhes. Uma
istória diz que quando o usuário chega ele é recebido com uma tela de
bem-vindo, se mudarmos a tecnologia para atendermos pessoas cegas, por
exemplo, teremos que mudar esta história.
> Peço que vejam o seguinte diagrama:
> http://www.pfvasconcellos.eti.br/blog/wp-content/uploads/2008/02/fig5-1a.jpg
>
> É aquilo que chamo de 'base de conhecimentos' desenvolvida por um AN. Dois
> pontos:
>
> Que o Ronan me corrija se eu estiver errado, mas acho que naquela outra
> thread concordamos que aquilo que chamo no diagrama de "Requisitos do
> Usuário" é o nível "padrão" dos requisitos registrados na forma de estórias.
> Colocando de outra forma: uma estória registra apenas o título de um caso de
> uso;
> Sendo assim, na minha opinião, os casos de uso são menos 'abstratos' que as
> estórias. De novo: não estou me esquecendo que os critérios de aceitação
> conferem bom nível de detalhe para as estórias. A questão é que eles
> detalham Regras de Negócio e não os requisitos funcionais.
Bom, eu não sei o que vocês discutiram mas isso não faz muito sentido
para mim. Um caso de uso é um cenário com fluxos alternativos e
exceções, um caso de uso iria conter muitas histórias. Acho que você
está se prendendo em demasia ao título da história (aquilo que fica
escrito no cartão na parede), que nada mais é que um identificador
para que possamos nos lembras do que é aquele cartão sobre.
> Agora uma observação sobre o mesmo diagrama: a penúltima mensagem do Phillip
> me deixou com uma bela pulga atrás da orelha: meus requisitos não-funcionais
> estão muito distantes dos requisitos do negócio (objetivos do negócio e
> metas). Bela pulga, não?
Pois é, eu estou caçado a cabeá dos requisito funcionais distantes do
negócio. Se meu encanador diz que precisa de uma grana extra para
alugar um carro de luxo para vir me atender eu quero saber o que eu,
como cliente, ganho nisso.
On Sat, 29 Nov 2008 12:08:42 +1100, Phillip Calçado wrote
> Pela dinâmica de qualquer étodo ágil sadio esta mudança vai impactar
> num cartão e por isso o analista de negócios, que é dono dos cartões,
> vai ser avisado. Acho que você pode estar confundindo cliente
> presente com cliente fazendo solicitações o tempo todo.
Quase isso, eu temo que o cliente presente em alguns casos abre espaço para o
cliente fazendo solicitações o tempo todo.
Veja, não estou falando aqui de uma cenário ágil ideal, mas de possíveis
adaptações ao cenário para se ajustar a outras realidades.
> Como falei, isto é outro problema. Claro que se o cliente não pode
> estar presente (ou não quer!) o processo tem que ser adaptado mas não
> é disso que eu falo aqui, é de um projeto ideal.
Talvez este seja um dos pontos que estamos discordando. Eu não estou
ilustrando um cenário ideal, mas a sua adaptação a outras realidades.
Também não estou querendo dizer que o cenário ágil é o ideal, acho que o
cenário ideal tem várias variantes, depende do negócio, da postura e
disposição a mudança/inovação/metodologias por parte de todos os envolvidos.
Isso é algo que buscamos e não vejo uma receita de bolo pra isso, o que vejo é
que é preciso ter espírito de equipe entre todos os envolvidos, inclusive dos
diretores, abertura a mudanças, vontade de melhorar, comunicação, feedback,
comprometimento com o projeto e com o negócio, objetivos definidos e etc.
Alguma semelhança com MA? Claro, por isso digo que vejo que qualquer melhoria
nessa área tem que ter um pouco de agilidade, mas ao mesmo tempo não digo que
isto é a solução de todos os problemas.
> Inútil no contexto que eu conversava com o Paulo anteriormente. O que
> este requisito tenta alcançar estaria presente em uma história, só
> não estaria tão abstrato. O que eu quis dizer é que eu considero
> inútil a descrição de um requisito em tão alto nível que uma mudança
> grande como esta não impacta nele.
Acho que estamos falando de algo diferente aqui. Eu não disse que este
requisito ficou representado em apenas uma Estória ou Caso de Uso.
Você pediu um exemplo de um requisito onde o "o que" não muda, mas o "como" mudou.
Apenas citei o exemplo.
Não me ative ao conjunto de requisitos, até porque vocês não conhecem os
detalhes do negócio ao qual ele se refere.
[]s
Ronan
Paulo, desculpe, sei que já debatemos muito o assunto, mas não estou lembrando
exatamente onde eu disse isto, então vou repetir aqui como vejo essa situação.
Estórias não têm muito essa coisa de alto nível ou baixo nível, uma Estória
sempre deve ter o tamanho suficiente para que a equipe consiga entendê-la e
estimá-la.
O tamanho ideal normalmente é algo executável em 1 ou 2 semanas.
Ela tem que caber dentro de uma iteração.
Trabalhando com Estórias com esta granularidade a equipe já tem condições, no
inicio do projeto, na Reunião de Planejamento, de dar uma "estimativa" de
duração do projeto e número de Sprints necessárias.
Mas claro, como a intenção aqui não é gerar um WBS lá no inicio, existirão
Requisitos menos críticos ao negócio que não caberão nas Sprints iniciais.
Como a equipe não quer, e não deve, perder muito tempo no inicio planejando
coisas que só vão aparecer (será?) lá na frente, e possivelmente de forma
diferente, em muitos casos é possível escrever uma Estória apenas
representando o requisito, mas sem estimá-lo (aqui poderíamos chamá-la de alto
nível ou "epic").
Lá na frente, quando esta Estória for incluída na Sprint, ela entra na reunião
do planejamento e será quebrada em diversas Estórias (1 ou 2 semanas), mas ela
não entra na Sprint sem ser planejada e viabilizada.
Em casos de requisitos muito cabulosos pode acontecer de a equipe tirar uma
semana (não é iteração, é semana mesmo) para estudar alternativas técnicas e
viabilidade de determinado requisito ou tecnologia.
Isso não é algo comum. O XP chama de "spike".
Espero ter esclarecido o assunto.
[]s
Ronan
2008/11/29 Ronan Lucio <lis...@tiper.com.br>:
> Quase isso, eu temo que o cliente presente em alguns casos abre espaço para o
> cliente fazendo solicitações o tempo todo.
É responsabilidade do time não deixar que isso aconteça.
> Veja, não estou falando aqui de uma cenário ágil ideal, mas de possíveis
> adaptações ao cenário para se ajustar a outras realidades.
Eu entendo mas isso foge ao escopo do que estávamos conversando antes.
Uma coisa é discutir o cenário ideal, outra diferente é discutir
possibilidades.
>> Inútil no contexto que eu conversava com o Paulo anteriormente. O que
>> este requisito tenta alcançar estaria presente em uma história, só
>> não estaria tão abstrato. O que eu quis dizer é que eu considero
>> inútil a descrição de um requisito em tão alto nível que uma mudança
>> grande como esta não impacta nele.
>
> Acho que estamos falando de algo diferente aqui. Eu não disse que este
> requisito ficou representado em apenas uma Estória ou Caso de Uso.
> Você pediu um exemplo de um requisito onde o "o que" não muda, mas o "como" mudou.
> Apenas citei o exemplo.
>
> Não me ative ao conjunto de requisitos, até porque vocês não conhecem os
> detalhes do negócio ao qual ele se refere.
Entendo mas então não me parece que seu exemplo tenha acrescentado
muito à discussão, exatamente por ser incompleto.
O que muda? nada, absolutamente nada. Pelo menos para o mundo agile continua a mesma coisa, não só temos de lutar contra o mundo de terno como o pessoal do Jeans já está lutando entre si.
Se você fizer RUP direito, com iterações curtas e tudo, seguindo as
práticas técnicas recomendadas você ainda vai ter impactos grandes. As
práticas do RUP focam em transformação manual de modelos (modelo de
análise => modeo de projeto => modelo de implementação), o ciclo de
feedback é muito longo e mudanças precisam passar pelo fluxo (é claro
que você pode tirar a transformação mas aí vem a questão do 'o que é
RUP, afinal?').
Existem mudanças que realmente fazem um projeto perder sentido mas não
creio que são maioria. Muitos rojetos que trabalei mudou nete nível e
muitos poucos foram cancelados ou paralisados por isso.
2008/11/30 Paulo Vasconcellos <pfvasco...@gmail.com>:
> Se tem uma coisa que aprendi em 22 anos de carreira (em TI) é desconfiar de
> todo mundo que tem muitas certezas e morre de medo de sair de sua zona de
> conforto. E a convocação para "luta" me soou um tanto infantil. O artigo do
> SEI é só um 'convite para a conversa'. A resposta do Milfont, além de não
> apresentar um único argumento plausível, apresenta uma 'raiva' meio
> desproporcional. Traduzi isso como medo sim. Resistência.
Insisto que está fora de contexto. O paper do CMMI é para boa parte
das pessoas, eu incluso, apenas uma forma te tentar pegar o bonde e
ganhar algo com isso.
Não dá para dizer que aluém é resistente à mudanças por isso, o
exemplo mostra que o autor é resistente à esta mudança em específico.
E não se trata de algo do tipo "não gosto e pronto", este tipo de
interação CMMI x metodos ageis eh conversada ha anos, muito tempo
antes do SEI resolver que precisava fazer algo para não perder
terreno.
Histórias não são de alto nível, elas só não possuem detalhes.
Pois é, eu estou caçado a cabeá dos requisito funcionais distantes do
negócio. Se meu encanador diz que precisa de uma grana extra para
alugar um carro de luxo para vir me atender eu quero saber o que eu,
como cliente, ganho nisso.
2008/11/30 Paulo Vasconcellos <pfvasco...@gmail.com>:
> Em um post de setembro, prestação de
> contas de um evento, comparo uma estória escrita pelo próprio Ronan com um
> caso de uso elaborado por seus colegas:
>
> http://www.pfvasconcellos.eti.br/blog/2008/09/30/hiper-mega-ultra-prestacao-de-contas-sampa-floripa-e-cascavel/
>
Eu não comentei à época porque não entendo o contexto em que estas
histórias foram escritas, logo qualquer comentário é achismo, mas eu
vejo a história listada lá como divisível em múltiplas histórias. Uma
história é uma unidade de trabalho pequena que traga valor. Na
história descrita na imagem existem diversas unidades pequenas que
trazem valor, não existe porque agrupá-las em uma história só.
Dando uma exemplificada rápida, no exemplo eu identificaria como
histórias independentes:
- Só posso ver a página de locação se estiver logado
- Quero que fiquem marcados na lista de filmes os que eu já aluguei
- Quero poder buscar por filmes
- Quero receber sugestões de filmes
Então seu caso de uso seria o equivalente à quatro histórias.
Como falei, não sei qual ambiente originou esta história então o que
estou afirmando aqui pode não e aplicar neste caso. Se tiver que
chutar eu cuto que a história ficou gorda deste jeito porque ela virou
um gato de Schrodinger.
A referida Estória está no contexto da solicitação do cliente.
Como é possível observar, também existem algumas "anotações", ou seja, pontos
a seres discutidos e aprofundades de maneira a ficarem mais claros/específicos
(decisões sobre o "como").
Como disse anteriormente, nenhuma Estória entra na iteração sem planejamento.
As Estórias (pelo menos no meu caso) costumam ter uma granularidade suficiente
para torná-las estimáveis e executáveis entre 1 e 2 semanas, além de outras
característica que você deve conhecer tão bem como eu (INVEST).
Sim, a medida que o planejamento evolui esta Estória pode sim ser quebrada em
várias outras.
Falando especificamente da Estória em questão.
De qualquer forma concordo com a sua colocação, na reunião de planejamento ela
certamente seria quebrada em várias outras, até para torná-las mais
independentes e exequíveis dentre de uma iteração.
[]s
Ronan
On Sun, 30 Nov 2008 14:00:12 +1100, Phillip Calçado wrote
> --~--~---------~--~----~------------~-------~--~----~
> Já fez sua inscrição no Fórum?
>
> http://pfvasconcellos.eti.br/phpBB3/
>
> Mensagem do grupo AN-BR {Análise de Negócios}.
> Para publicar mensagens, mande um email para: an...@googlegroups.com
> Para cancelar sua participação, mande um email para:
an-br-un...@googlegroups.com
> Para mais opções, visite a página do grupo:
> http://groups.google.com/group/an-br?hl=en -~----------~----~----~---
> -~------~----~------~--~---