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!
design
agile
specifications
Steven A. Lowe
fonte
fonte
Respostas:
Como consultor, entendo uma regra simples de consultoria:
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:
É impossível reunir todos os requisitos no início do projeto.
Quaisquer que sejam os requisitos que você reunir , certamente será alterado.
Sempre haverá mais a fazer do que o tempo e o dinheiro permitirão.
e um objetivo:
É tudo o que você precisa para começar.
Convencer o seu gerente é outra coisa.
fonte
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.
fonte
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 .
fonte
"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"
fonte
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.
fonte
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 é
Mas consulte a página em detalhes para obter a intenção completa.
fonte
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.
fonte
Isso pode ser útil - http://www.youtube.com/watch?v=4u5N00ApR_k
fonte