Se minha mãe tivesse crina eu seria um cavalo…
Por volta de 2004 eu fui em uma palestra sobre o processo de desenvolvimento de sistemas web, focada em metodologias ágeis, fornecida por uma consultoria de porte e experiência no segmento.
Na época, a onda do momento era o extreming programing, que conceitualmente não é bem uma metodologia, mas uma disciplina de desenvolvimento de softwares, mas isso não vem bem ao caso.
O que foi apresentado na época me marcou bastante, pois todos os profissionais que já tiveram contato com o dia-a-dia de desenvolvimento, sabem que um dos martírios eternos porque passam os programadores é o vai e vem de requisitos e as constantes modificações que enfrenta um projeto em produção.
A mudança constante de escopo é prata da casa na web, que além de alterações nas funcionalidades, enfrenta problemas artísticos (E se fosse azul, e não preto? E se fosse na vertical, e não na horizontal?).
A equipe normalmente tem que se virar prejudicando uma das outras 3 variáveis de desenvolvimento (tempo, custo e qualidade), fazendo da vida dos gerentes de projeto, dos programadores e do cliente uma novela caótica estendida indefinidamente.
As dificuldades do ciclo tradicional de desenvolvimento de softwares facilitaram a aceitação de metodologias ágeis, que se expandiu para outros modelos além do extreming programing, como o MSF (Microsoft Solutions Framework), por exemplo, hoje com uma base de documentação bem mais completa do que em sua origem.
Indo e voltando, igual aos requisitos, o que me marcou foi uma frase interessante do palestrante:
O modelo de desenvolvimento de softwares atual é baseado na construção civil.
Só que na construção civil, depois que eu construo um prédio, não posso dizer: - Legal, mas eu quero um pouco mais para a direita…
Não se pode mudar um prédio depois de pronto, mas na web se pode mudar tudo, a qualquer momento. E é por isso que o processo não tem fim.
Os profissionais de web tem que compreender que a mudança constante de requisitos, e alterações de layout fazem parte do seu dia-a-dia, isso tem que ser previsto, e tem que ser considerado tanto na hora de se precificar um projeto, quando de estimar seu prazo.
Não se pode negligenciar esse modelo, se deve administrá-lo.
Já os clientes (interno ou externo) precisam perceber e avaliar corretamente as prioridades de cada coisa, e ter a consciência de que alterações implicam em desvios em relação ao prazo de entrega, custo ou qualidade, e isso não vem por osmose, devem ser alertados continuamente.
Desde que se começou a aplicar conceitos de usabilidade no desenvolvimento de sites existe uma tendência a se considerar que todo usuário é um completo idiota, e a se tentar criar sites à prova de idiotas.
Lógico, todas as questões relevantes devem ser levadas em consideração, mas o que deve ficar claro pra quem planeja o e-commerce, o sistema, ou mesmo o site institucional é que é impossível prever todas as possibilidades de engano e confusão do usuário.
E ainda que fosse possível, seria caro demais e demorado demais cobrir todos os infinitos cenários. Fique com o que é relevante.
Caso contrário, você será levado à reuniões sem-fim sobre o sexo dos anjos, sem decidir nada concretamente, esbarrando em opiniões pessoais do tipo: “Acho que o amarelo dá mais vida…”
Acredite em mim, na tentativa de prever todas as possibilidades você não vai chegar à lugar nenhum. Imagine se você acordasse todo dia de manhã e dissesse:
“Não vou sair agora, porque preciso pensar no que devo fazer se for atropelado, se eu esquecer minha carteira, se meu carro ficar sem gasolina, se…”
Convença seu cliente, parceiro, gerente a fazer o bom, e depois buscar o ótimo. É muito mais fácil adaptar uma base que demonstra claramente seus problemas reais, do que suposições que não tem fundamento em casos concretos.
Mais vale uma doença de verdade e uma cura de verdade, que uma hipocondria eterna… Pense nisso.