Como você faz um gerente entender o Agile?

12

Eu tenho um problema com um diretor sênior que não entende o desenvolvimento iterativo (muito menos o Agile). Ele insiste em que nossa especificação de design de software (SDS) esteja completa antes de qualquer linha de código ser escrita. Completo, para ele, significa que todos os detalhes funcionais estão lá. Além disso, como ex-programador Cobol, ele deseja ver "módulos" e fluxogramas. Este é um aplicativo da web Java para chorar em voz alta!

Enfim, estou tentando encontrar um lugar simples para apontá-lo gentilmente para mostrar que o SDS não precisa estar 100% completo antes de começarmos a codificar (nem pode ser completo). Alguma sugestão?

Obrigado!

Steven A. Lowe
fonte
O que significa o SDS? Tentei pesquisar no Google, mas recebi muita interferência.
Max
2
SDS é "Especificação de Projeto de Software". Ele usa essa frase no início do post também.
Thomas Owens
2
Fluxogramas? Seriamente?? Corre! Corra e não olhe para trás!
Nikie
2
Nada de errado com um fluxograma para ilustrar como um algoritmo funciona pode ser muito mais fácil de ler do que o pseudo-código.
Bjarke Freund-Hansen

Respostas:

20

Como consultor, entendo uma regra simples de consultoria:

  • Você não pode ajudar pessoas que não querem ser ajudadas.

Você não pode fazer com que alguém faça o que não quer, exceto pela força da autoridade, que você não tem.

Como coach, apresento o Agile com três regras:

  1. É impossível reunir todos os requisitos no início do projeto.

  2. Quaisquer que sejam os requisitos que você reunir , certamente será alterado.

  3. Sempre haverá mais a fazer do que o tempo e o dinheiro permitirão.

e um objetivo:

  • Entregue algo de valor toda semana.

É tudo o que você precisa para começar.

Convencer o seu gerente é outra coisa.

Rein Henrichs
fonte
11

Você não pode "fazer" um gerente entender agile de maneira diferente do que um desenvolvedor pode entender. Você precisa apresentar a ele os argumentos (os livros de Kent Beck são um bom começo) e deixar que ele se decida.

Como alternativa, você pode pedir que ele faça uma experiência. Pegue um projeto pequeno e execute-o com desenvolvimento iterativo e acompanhe atentamente o tempo, o orçamento, os problemas de qualidade e a satisfação da equipe. Compare-o com projetos (ou lançamentos) anteriores e veja se era melhor, pior ou neutro.

Christopher Bibbs
fonte
A abordagem de "experimento" é o que meu grupo está fazendo agora com uma de nossas novas peças de trabalho. Parece estar trabalhando até agora - três iterações, todos fora do nosso grupo estão felizes; os desenvolvedores ainda mais.
Davee
5

Você não

Antes de tudo, por que um diretor sênior está envolvido na escolha da metodologia de desenvolvimento de software? Essa decisão está muito abaixo do seu salário, cheira a microgestão e fala muito desconfiada.

Segundo, por que ele precisa entender isso? Se as especificações do software forem fixadas em pedra, haverá exatamente uma iteração. Caso contrário, haverá várias iterações. Esta não é uma decisão dele .

Se ele acha que é uma decisão dele, está minando a autoridade do gerente de TI, gerente de projeto, arquiteto de TI, líderes de equipe e equipe de desenvolvimento. Portanto, ele deve escrever o software @ ST $ $, ou STFU, e deixar que os profissionais façam seu trabalho sem sobrecarregar os cérebros dos dinossauros.

Eu não estou brincando. Se ele não pode confiar em você para fazer seu trabalho, ele deve fazer isso sozinho e você deve fugir gritando .

Steven A. Lowe
fonte
4

"Criar software é como fazer um filme, você precisa planejar antecipadamente, mas durante as filmagens, você precisa refazer as cenas, visitar novamente as cenas antigas e editar o produto final para garantir um bom resultado"

Então, novamente, ele é um gerente, portanto, em suas palavras:

"Precisamos aproveitar nossa flexibilidade sinérgica para gerar uma solução de serviço completo just-in-time"

Homde
fonte
3
+1 para "Precisamos alavancar nossa flexibilidade sinérgico para gerar uma solução just-in-time serviço completo"
CaffGeek
As pessoas estão realmente mais familiarizadas com o cinema do que com o software? Ou você estava falando de "diretor sênior"?
Alex Feinman
2

O velho ditado se aplica: você pode levar o cavalo para a água, mas não pode fazê-lo beber.

Como outros já apontaram, o que realmente importa para esse diretor sênior é o valor comercial. Você pode tentar fornecer uma estimativa rápida de quanto tempo gastará desenhando seus fluxogramas e diagramas de módulos e escrevendo um SDS "completo" (conceito ridículo, mas dê a ele o que ele deseja). Se eu sei alguma coisa sobre essas coisas (e quando comecei a escrever software, foi assim que foi feito), sua estimativa será facilmente várias semanas, se não mais para um projeto considerável. Expresse esse valor em dinheiro.

Em seguida, mostre a ele quanta funcionalidade você pode oferecer ao mesmo tempo. Converse com algumas pessoas na empresa sobre quanto tempo elas economizariam para que um aplicativo Web básico fizesse as coisas que você poderia entregar ao mesmo tempo. Em seguida, multiplique essa economia por quantas vezes eles usarem essa função em, digamos, 3 anos. Expresse isso em dinheiro.

Provavelmente, existem outros benefícios comerciais que podem ser expressos em dinheiro. O meu favorito é sempre a prevenção de "bobagens". Se o seu software puder ajudar a minimizar desastres ou evitá-los completamente, encontre um desastre recente e expresse-o em termos financeiros. Então diga ao seu chefe: se tivéssemos isso agora, teríamos economizado esse dinheiro.

E se o truque do dinheiro não funcionar, então talvez deva ir até ele e pedir para ele parar de administrar sua equipe. Embora, na minha experiência, seja mais provável que você seja demitido do que qualquer outra coisa.

wolfgangsz
fonte
2

O lugar mais simples pode ser o Manifesto para o Desenvolvimento Ágil de Software .

As informações que você encontra neste local são sobre os principais princípios do desenvolvimento ágil de software definidos por um grupo de profissionais conhecidos.

Isso é

  • Indivíduos e interações sobre processos e ferramentas
  • Software de trabalho sobre documentação abrangente
  • Colaboração do cliente sobre negociação de contrato
  • Respondendo a mudanças após seguir um plano

Mas consulte a página em detalhes para obter a intenção completa.

FrVaBe
fonte
1
e, possivelmente, o mais importante, para esclarecer
gbjbaanb
1

Eu sugeriria tentar mostrar a ele que, ao fazer a "Prototipagem rápida" (também conhecida como codificação das primeiras iterações), é possível detalhar com mais rapidez e precisão o seu SDS (significando menos retrabalho posteriormente) e começar a fornecer valor comercial mais cedo. Realmente, o valor comercial mais provável é tudo o que importa para esse diretor e ele decidiu que a melhor maneira de alcançá-lo é através desse processo seqüencial. Você precisa mostrar a ele nos termos dele por que sua abordagem é melhor.

nicolaskruchten
fonte
5
Gerente: "Já terminamos? Ótimo! Vamos usar o protótipo"
Homde 10/11/11
@ko: Se o objetivo deste exercício é convencer o gerente a não insistir em especificações tão detalhadas, esse tipo de resposta seria uma vitória clara. Embora pareça que não há praticamente nenhuma chance disso acontecer neste cenário.
Aaronaught
-1

Isso pode ser útil - http://www.youtube.com/watch?v=4u5N00ApR_k

Neste filme "Quero executar um projeto ágil", seguimos as experiências de um desses bravos líderes de projetos, Luke, pois ele tem muitos encontros diferentes por toda a empresa, trabalhando para estabelecer e entregar seu projeto Agile.

Prasanjeet Mohanty
fonte