Requisitos não funcionais, até onde devemos seguir? E o que podemos fazer pra propor outra solução
Autor: Alberto Medeiros | Publicado: 2012-08-16T14:03:00-03:00




Não é incomum
hoje encontramos projetos sejam em nosso local de trabalho ou em projetos
pessoais onde o cliente faz uma exigência de qual tecnologia será utilizada
para o desenvolvimento do projeto.&nbsp;Contudo Este
assunto é pouco abordado ou pensado e com isso em muito casos desastres durante
as reuniões no desenvolvimento do produto acontecem levando assim a vários empecilho
seja por parte do cliente “Dono do projeto” ou da equipe de desenvolvimento “Mão
de obra especializada”.





Existem incidências
em vários projetos onde eu tive oportunidade de presenciar, onde o cliente
solicitou que o projeto fosse feito em Java, porém, a equipe é especialista em
PHP, ou o cliente solicitou que o site fosse feito utilizando WordPress, mas,
os desenvolvedores utilizavam Drupal ou Joomola.











Nesses casos foram
elaboradas pesquisas por parte da equipe de desenvolvimento para mostrar para o
patrocinador do projeto que a escolha dele nem sempre era a melhor coisa a ser
feita e repassava o resultado dos dados colhidos para o gerente de projetos ou
escolhido da equipe ou no caso de um projeto pessoal o próprio desenvolvedor
que a fez.&nbsp;Porém, nem sempre o que a equipe apresenta é aceito pelo
patrocinador do projeto, em muitos casos os donos dos projetos exigem que o
produto seja desenvolvido em uma plataforma especifica, ou um framework
especifico, por familiaridade com o mesmo com isso a resistência do mesmo é
quase impossível de ser quebrada.

Uma abordagem que pode ser utilizada para esses casos, que
consiste em não mostrar um comparativo entre a tecnologia escolhida pelo
cliente e a que a equipe pretende, pois isso pode ser desastroso e com minha experiência
em vários casos é, afinal o cliente optou por uma tecnologia que o mesmo está acostumado
ou familiarizado ou seja, o cliente pode passar a levar sua escolha como pessoa
e defende-la até o final e não importa o quanto você ou sua equipe se esforce
pra defender seu ponto de vista.

&nbsp;Algo que pode ser
feito é conversar de forma clara mostrando o que vocês podem fazer com a
tecnologia que a equipe está propondo, os ganhos e benefícios e o quanto isso
irá trazem de benefícios em diminuição em larga escala no desenvolvimento na
entrega e no tempo de resposta para as solicitações futuras.







Um ponto de vista que
precisa ser deixado claro nas reuniões de projetos é que embora o cliente seja
o patrocinador o mesmo tem que corroborar para que o projeto seja entregue e
que o desenvolvimento do mesmo depende tanto da equipe como dele
principalmente, os interesses dele devem ser maleáveis o suficientes para que
os interesses da equipe de desenvolvimento não seja prejudicado.&nbsp;Nesse caso aconselha-se para essa reunião ser usados
gráficos de desempenho de projetos anteriores com os sucessos onde houve
cooperação entre a equipe e o patrocinador.



Contudo haverá casos onde o cliente não aceitará essas
propostas onde infelizmente não há mais o que ser feito ou adere os requisitos não
funcionais do patrocinador do produto ou não há possibilidade que seja desenvolvido
algo. Existem situações onde a decisão do cliente fora de forma tão extrema que
tivemos que utilizar o framework que o mesmo designou e a tecnologia que ele
também, solicitou afinal de contas os requisitos não funcionais podem ser um
fator decisivo para a aceitação do cliente.



Mas, mesmo o cliente aceitando as propostas feita pela a equipe começa uma preparação que talvez seja mais pesada para a equipe que é a adaptação do cliente com a nova tecnologia pois seu experiência era com algo que talvez seja totalmente diferente e sempre surgirá a frase, no "outro eu fazia de tal jeito e achava melhor". Isso e algo que sempre irá acontecer independente do quão seja boa sua proposta contudo é algo a se esperar pois a cultura do cliente era totalmente outra.



Fica a dica quem quiser entrar em contato fico a disposição.