Olá pessoal, hoje eu vou falar um pouco de desenvolvimento de software e o que você precisa aprender para desenvolver um ótimo software focado no cliente. Muitos desenvolvedores precisa entender e focar o seu software no cliente ao invés de fazer para si mesmo.
 
Hoje o desenvolvedor faz um software pensando que ele é que vai usar e não cliente. Fazer software para você mesmo é errado no meu ponto de vista, procure focar no cliente. Olhando para grandes empresas e grandes pessoas que fizeram a diferença no mundo de software, nota-se que a facilidade de utilizar software com o objetivo de otimizar seu dia é o mais importante.
 
O software pode facilitar a vida? Pode sim e deve facilitar, isso porque o usuário deve ser preocupar com a vida real, com as vendas da empresa, com os funcionários e com a família, ao invés de ficar sem paciência ao utilizar o software que não ajuda em nada; ou sequer gera o relatório que ele precisa no final do dia.
 
Ninguém quer passar o dia brigando com o computador para gerenciar informações ou dados digitais, o que importa é gerenciar a vida de forma simples para viver mais feliz.
 
 
O que você precisa saber?
 
O desenvolvedor precisa saber que o software desenvolvido pode não atender ou pode não ser usado da maneira que ele imagina. Como você está no dia a dia mexendo e desenvolvendo software, isso fica comum e fácil de entender, mas você precisa saber se vai ser comum para os outros, ou para o usuário.
 
Desenvolver um ótimo back-end é importante? Sim e isso ajuda a buscar as informações de forma mais simples e rápida, quando se tem um ótimo back-end. Tudo que usuário clica, grava ou é gerado o necessário dentro banco de dados. É essencial buscar e mostrar o que foi gravado. É importante fazer com que o usuário saiba que seu sistema é confiável e ao mesmo tempo prático.
 
Trabalhar o layout do sistema é importante? Sim, muito importante. Muitas vezes é mais importante do que as próprias funcionalidades, quero dizer o seguinte, é melhor fazer um sistema bonito do que com muitas funcionalidades enchendo a tela botões e menus. Deve ser fácil encontrar, fácil fazer e fácil entender o que está fazendo. Deve ter fluidez ao invés de 500 funcionalidades. Deve ser intuitivo para o usuário navegar e deve um padrão de telas para que o usuário saiba a disposição dos objetos. 
 
É bom fazer muitas funcionalidades dentro de um sistema? Sim, muitas vezes você como desenvolvedor não tem escolha de limitar ou retirar as funcionalidades. O que você precisa saber é que elas precisam de uma exposição para o usuário, fazendo com que ele veja e entenda o que clicou.
 
Eu já ouvi muitos usuários dizendo que não consegue mexer nas configurações do software Facebook. E realmente, as informações de configuração ou privacidade estão escondidas pra o usuário não conseguir mexer direito e assim não alterar o que já vem no padrão.
 
Como já foi falado anteriormente, desenvolver um ótimo front-end é essencial. Mas antes você precisa entender o que a empresa ou o seu cliente está precisando. Não basta ir desenvolvendo diretamente, como se diz na minha terra “o cara sai desenvolvendo a torta e a direita” sem saber nada do que se precisa de fato. O resultado disso é ter retrabalho depois e não pouco.
 
Software ou aplicativo (comumente confundido) é uma coisa complicada de se fazer, principalmente se for sem planejamento. Teve um cliente meu que pediu para fazer uma coisa simples e depois de descrever o que precisa, eu fiz em poucos dias. Só que um dia ele acordou com a “pá virada” e mudou tudo que tinha falado e escrito comigo. Uma dica pra você:  -quando isso acontece, é melhor você ter um segundo plano ou então cobrar mais pela alteração de escopo do cliente / empresa.
 
Como eu era amigo da pessoa, acabei não cobrando mas se arrependimento matasse, eu não estaria escrevendo aqui agora. Foi o maior trabalho que tive e o layout não ficou bom, na verdade ficou horrível. Mas foi escolha do cliente (que fique bem claro).
 
Em resumo, é muito interessante você:
 
- Entender o que o cliente quer antes de começar a desenvolver;
- Deixar tudo assinado e por escrito;
- Ter cláusulas de multa pela alteração do escopo do software;
- Fazer um back-end bem projetado para buscar dados com mais fluidez;
- Deixar o seu front-end chamativo e encantador para o usuário. Isso muitas vezes acaba ficando simples, pois o menos é mais em alguns casos;
- Dê opção ao cliente e tente facilitar a vida dele com menos burocratização. As vezes, só você de fora do barco que consegue enxergar a tempestade que é dentro do barco.
- Procure deixar tudo documentado, mesmo que esteja correndo demais para entregar o software, existem mecanismos que te ajudam a pegar os comentários dentro do código e método.
- Crie um belo software para que seu cliente tenha orgulho dele pois cliente chama cliente.
 
Bom, eu vou parar por aqui mas posso continuar passando depois as experiências boas e ruins que passei no desenvolvimento de software. Espero que tenha gostado e entendido tudo. Qualquer coisa, favor entrar em contato pelo site www.mauriciojunior.net.