Financiamento de projetos ágeis

13

A empresa em que trabalho está se movendo timidamente para uma estratégia de gerenciamento de projetos Agile - tendo experimentado as "alegrias" da cascata de uma vez para muitas. A chave para isso é uma mudança de ênfase no sentido de oferecer funcionalidade, em vez de cumprir prazos rígidos.

Embora o processo de desenvolvimento e o relacionamento com o cliente certamente tenham melhorado com os lançamentos iterativos promovidos pelo Agile, está se mostrando um pouco mais difícil aplicar a mesma lógica às estratégias de financiamento do projeto. Os clientes geralmente não estão acostumados a conceitos como o Agile e expressam grande preocupação com o que percebem como um caso de "estará pronto quando estiver pronto".

Gostaria de ouvir os pensamentos e as experiências das pessoas no financiamento de projetos Agile

edit: Quero enfatizar que não estou pedindo às pessoas que me expliquem os prós e os contras do método Agile , nem que acredito que o Agile seja igual a "estará pronto quando estiver pronto", esse é um medo expresso pelo clientes / empresas com quem trabalhei ao defender práticas de desenvolvimento ágil.

O que me interessa é a experiência que as pessoas tiveram de resolver os conflitos entre os métodos "tradicionais" de orçamento em cascata entrincheirados nos relacionamentos / cliente de negócios e métodos de desenvolvimento mais progressivos - e as estratégias de orçamento adotadas para apoiar essa evolução.

sunwukung
fonte
2
Lisa Crispin e David Norton, do Gartner, têm boas idéias sobre "Selling Agile". Dê uma olhada no que eles têm a dizer: bit.ly/rlRF4U
Agile Escoteiro

Respostas:

4

Se você conseguiu fazer uma cotação em um projeto com uma data final exata para todos os recursos, por que você mudou para uma abordagem ágil? Você e todos os outros lutam com isso e uma abordagem ágil está sendo antecipada com esse fato. Use-o como propaganda contra a concorrência. A Southwest Airline não promete a você um assento na ilha como todo mundo que faz e depois o entrega a outra pessoa.

É claro que o cliente deseja uma data de término exata. Eles querem software barato e sem erros, entregue com antecedência, independentemente de quaisquer alterações na solicitação original. Diga à equipe de vendas para aprender como vender um projeto usando princípios ágeis. Quanto mais interações você passar, mais perto poderá saber quando o projeto será concluído. O cliente também aprende a fatorar os efeitos das solicitações de mudança.

JeffO
fonte
"Diga que você equipe de vendas para aprender a vender um projeto usando os princípios ágeis" - eu vou dar o meu melhor ... {;)
sunwukung
5

Projetos ágeis não funcionam como "estará pronto quando estiver pronto". Essa é uma linha clássica da engenharia em cascata.

Projetos ágeis são concluídos quando o cliente decide que não deseja gastar mais dinheiro em recursos adicionais. Isso pode ser convertido em um ponto de venda importante pelo seu pessoal de vendas. Em vez de comprometer-se com um conjunto fixo de recursos (cuja necessidade pode ou não ser conhecida antecipadamente) por uma quantia fixa de dinheiro, o cliente pode começar com um valor inicial para um conjunto inicial de recursos e depois executá-lo em etapas. Isso garantirá algumas coisas:

  • Desde que a lista de recursos seja devidamente priorizada, o cliente sempre receberá os próximos recursos mais importantes, maximizando assim seu benefício com seus gastos (ele obtém "o maior retorno pelo dinheiro").
  • Se o cliente ficar sem dinheiro, ele maximizou seu investimento E você foi pago pelo que entregou. Ninguém se machuca, todo mundo lucra.
  • O cliente pode mudar de idéia sobre prioridades e recursos a cada volta da roda (a cada ponta de uma interação). Uma vantagem distinta sobre os contratos normais de preço fixo.

Provavelmente há mais, mas as opções acima devem ser suficientes para levar seu pessoal de vendas na direção certa.

wolfgangsz
fonte
Re: "Ninguém se machuca, todo mundo lucra" - Exceto pelo cara que foi demitido porque prometeu a seu chefe que, por US $ X, ele receberia um pacote de software que faz XYZ. Infelizmente, graças à agilidade, o pacote de software faz apenas o XY. P'd fora gerente, demitido cara que entrega insuficiente. Talvez eu tenha participado de setores completamente diferentes da maioria dos defensores ágeis, porque eles não conseguem ver um problema ao fornecer apenas soluções parciais ao cliente. OTOH, não vejo o objetivo de fornecer uma solução parcial, pois as chances são de que o produto é bastante inútil para o cliente.
Dunk
Claramente, você ainda não trabalhou em um ambiente ágil adequado; caso contrário, não faria esse tipo de observação. Se XYZ for necessário, ele será entregue. O RST e o UVQ podem não ser entregues, mas, como são de menor prioridade, o cliente também não precisou pagar por eles. Obviamente, se seus desenvolvedores estão tão distantes das estimativas que nem conseguem entregar o XYZ por suas próprias estimativas, então há lições a serem aprendidas.
wolfgangsz
3

Bem, eu não vejo isso como um caso de "Ele estará pronto quando estiver pronto". A metodologia ágil promove a oferta regular de entregas, a cada duas semanas. É por isso que o cliente é uma parte importante e muito ativa do projeto ao longo de sua vida útil, pois fornece orientações em termos de como os recursos do seu produto serão modelados. Se alguma coisa, um cliente começará a ver resultados mais cedo, e não no final de um projeto, como na abordagem em cascata.

Enquanto você reiterar o fato de que o cliente será uma parte ativa do projeto e que ele verá o projeto começar a tomar forma cedo, isso pode garantir que não é um caso de espera até que seja concluído.

Marlon
fonte
só para ficar claro - não estou dizendo que acredito que o Agile seja igual a essa descrição, mas é assim que os clientes / vendas costumam vê-lo. O Agile é ótimo nas iterações - mas torna difícil definir o final do projeto, certo?
27611 sunwukung
4
@sunwukung - Sua equipe de vendas não está vendendo o fato de que ninguém pode prever o final de um projeto demorado com precisão desde o início.
21411 JeffO
Imagino que a melhor maneira de ter uma idéia para o final do projeto seja ter uma reunião de planejamento do projeto com seu cliente e listar todos os recursos que ele deseja. Em seguida, você pode criar uma lista de pendências completa e completa do projeto. Sente-se com sua equipe e peça que eles preencham estimativas para todo o backlog. Use essas estimativas como um guia aproximado de quando seu projeto será concluído.
JuniorDeveloper1208
1
@sunwukung - Não, na verdade, sentar e planejar um backlog também é uma boa idéia para o Agile, é a implementação do processo de desenvolvimento que diferencia o Agile do Waterfall (o Agile é mais iterativo). Eu acho que o seu principal obstáculo depois de vender o Agile para o consumidor vai realmente implementá-lo, já passei por isso algumas vezes e pode ser um processo doloroso.
JuniorDeveloper1208
1
desculpe - sim, eu entendo - estamos usando o método backlog para aumentar a janela de entrega estimada (usando o Pivotal Tracker, ótimo aplicativo btw). A tensão surge da imprecisão que esse método produz em termos da discrepância entre os marcos iniciais derivados desse método e os ETAs reais quando a velocidade começa a se acalmar. A IMO trata-se de como lidamos com o relacionamento com o cliente - mas esse é um componente um pouco político
sunwukung
2

Embora o local em que trabalho faça uma terrível bastardização do Agile, acho que os clientes provavelmente preferem o desenvolvimento de software nas iterações do que nas versões completas.

As iterações se prestam a solicitações individuais dos clientes, na medida em que solicitam alguma coisa e a obtêm quando o recurso é implementado, não uma vez feito e todas as outras coisas que foram agrupadas com ele para uma liberação também são feitas.

Nunca vi um cliente dizer: "Queremos esse recurso e esperamos 8 meses para que ele seja entregue com vários outros recursos de que não ligamos".

Shawn D.
fonte
1
Isso pode depender do tamanho do cliente. Eu acho que, no caso de software para desktop, não é incomum que empresas maiores não desejem passar por reinstalação em massa / teste de imagem / etc. frequentemente e nesses casos eles preferem "lançamentos" menos frequentes. No entanto, o desenvolvedor ainda pode fazer iterações internamente e simplesmente apresentar um corte oficial do aplicativo a esses clientes, em qualquer intervalo que o cliente preferir.
Adam Lear
+1 em "Queremos esse recurso e esperamos 8 meses para que ele seja entregue com vários outros recursos que não nos interessam".
27611 sunwukung
2

Que tal estabelecer um ciclo de pagamento que esteja em sintonia com as iterações? A idéia de agilidade é que você realmente pode planejar e estimar em períodos curtos, e o esforço e o compromisso ainda são fortes para esses ciclos curtos. Por que não direcionar o financiamento da mesma maneira - peça aos clientes que contribuam para o trabalho com $$ ao mesmo tempo em que contribuem com orientação. Afinal, se eles não estão conseguindo o que querem, não deveriam pagar por isso.

E então elabore o que acontece na finalização de um projeto - por exemplo, o cliente possui o código ou apenas o executável? Mas isso estaria alinhado com projetos anteriores do tipo cascata.

bethlakshmi
fonte
Eu concordo com isso, suspeito que parte do problema para o negócio está em projetar sua receita anual (apaziguar os investidores) com essas explosões de financiamento de "curto prazo".
27611 sunwukung
Gostaria de saber se você pode roubar de um modelo de contratação? Isso aumenta o risco de tempo de inatividade se os clientes disserem abruptamente "obrigado, mas não", o que deve ser semelhante ao modelo de contrato de trabalho?
bethlakshmi
1

A idéia do Agile é que você itere rapidamente e estabeleça exatamente o que vai entregar no final de cada sprint; portanto, quando as 2/3/4 semanas do sprint terminarem, você terá recursos tangíveis em seu aplicativo / projeto que você pode apresentar ao seu cliente e obter feedback.

ETA: você pode agrupar 'sprints' em 'marcos', com entregas estabelecidas e receber pagamento por marco.

JuniorDeveloper1208
fonte
É isso que estou tentando promover no negócio - pagar pelos "portões do palco". A questão principal é a data final de entrega - o cliente precisa renunciar a esse prazo final concreto?
27611 sunwukung
Difícil dizer, depois de alguns sprints, você deve ser capaz de estabelecer a velocidade da sua equipe (quantidade de trabalho que pode realizar por sprint) e provar que possui um backlog completo e completo (lista de tarefas / histórias de usuários que compõem um projeto completo), você deve ser capaz de prever razoavelmente sua data de término observando suas reduções de queimaduras (um gráfico de velocidade da equipe que você pode usar para extrapolar sua data de término e ver se você será capaz de concluir todo o trabalho no sprint )
JuniorDeveloper1208
2
@sunwukung, Novamente, você está perdendo o ponto depois que todo mundo descreve isso perfeitamente para você. O Agile garante que o cliente obtenha o software de trabalho no final de cada sprint. Se eles ainda querem uma DATA FIRMADA para que todos os recursos sejam concluídos, eles podem ter isso, mas apenas para os recursos acordados quando assinaram o acordo. É injusto e irracional para eles alterar seus requisitos e esperar que o prazo fique no mesmo!
Maple_shaft
1
Bem, diga-lhes que, durante o desenvolvimento, eles poderão visualizar seu projeto no final de cada sprint, sempre em um estado de funcionamento e prontos para receber feedback, não deve ser difícil de vender, o ágil é excelente.
JuniorDeveloper1208
1
@sunwukung, Parece que a empresa faria melhor se VOCÊ representasse o braço de negócios nesse caso :) Não sei o que você pode dizer ao braço de negócios para convencê-los do que você já sabe. Eles provavelmente não o ouvirão. Infelizmente, parece que o lado técnico está progredindo para o século 21 e o lado comercial está no passado. Este não é um problema fácil e você provavelmente não está em posição de corrigir isso.
Maple_shaft