Por diversas vezes, como freelancer, fechei com alguma empresa para desenvolver ou corrigir bugs por um valor exorbitante que me fazia pensar só no dinheiro vindo na minha conta. Você fica contente e animado até abrir o código fonte. Você analisa e procura entender como que esse desenvolvedor @#$@ conseguiu tanto POG em um único projeto. Você analisa e descobre que ele fez uma bagunça na arquitetura do projeto e verifica que o dinheiro não vai compensar essa correção. Acho que todos freelancers já passaram por isso. Daí você já tenta achar alguma desculpa para passar para o cliente, ou então diz que não está com tempo no momento para desenvolver a correção (essa é a desculpa mais comum). O dinheiro é muito alto? Você está devendo até a alma? Você tem certeza de que não ficará estressado com o desenvolvedor FILHODA&#$@ ?
Depois de vários anos trabalhando em projetos desse tipo resolvi parar de me estressar. Mas hoje o tempo é curto e o foco é outro. Abaixo listo algumas dicas de boas práticas que um freelancer deve seguir para a entrega ser um sucesso.
Dicas:
1 – Antes de iniciar qualquer projeto (falo também de demanda) você precisa ter uma motivação. Então procure saber quem é o seu cliente. Ele é um designer ou um dono de alguma agência que sempre tem novos projetos e é tudo que você estava procurando? O projeto vai agregar valor no seu currículo?
2 – Entenda o projeto e veja funcionando em produção. Faça várias perguntas ao seu cliente a fim de sanar dúvidas do que o projeto tem de funcionalidade.
3 – Espere que ao abrir o código você não entenda nada do que está ali codificado. Logicamente que com algumas horas você vai pouco a pouco entendendo e aquilo começará a fazer algum sentido.
4 – Além de programador você deve ser antes de tudo Analista de Sistemas. Então pegue um lápis e um papel e desenhe a arquitetura, colocando exemplo de algum módulo que está descrito no projeto. Isso vai facilitar o seu aprendizado da arquitetura e consequentemente a sua motivação aumentará.
5 – Leia todas as documentações que o desenvolvedor deixar no código. Chingue ele se necessário (acredito que vai ser necessário), mas não perca a calma.
6 – Se tiver dúvida com relação a algo no código verifique se o desenvolvedor deixou documentado o email para contato. Não hesite em escrevê-lo. Explique que você está mexendo no código e que tem algumas dúvidas. Seja educado e acredito que se ele for um bom profissional te responderá com prazer.
7 – Deixe claro com o cliente sobre o seu plano. Se cobrar por hora (acredito que seja mais viável cobrar por hora nessa abordagem) verifique o tanto de horas que você demorará pra entender a arquitetura do projeto, o tanto de horas que vai gastar pra desenvolver e em quantas horas você gastará pra testar o sistema. Dessa forma você está mostrando ao cliente que entende do ciclo de um projeto.
8 – IMPORTANTE!!! Não acorde nenhum valor antes de analisar o código. Não deixe o cliente impor o valor/hora. Isso virá depois de sua análise inicial.
9 – Codifique pensando que se o cliente estiver satisfeito com a demanda ele com certeza vai te procurar em outras ocasiões.
10 – Seja honesto e sempre deixe o cliente saber o que você está fazendo, mesmo que ele não entenda nada tecnicamente. Dê feedback a ele e deixe parecer que você está tranquilo.
11 – Não terceirize o serviço, a menos que você confie nesse terceiro. Se algo sair como não planejado você facilmente queimará com o cliente.
12 – Teste e reteste a demanda. A distância da satisfação e insatisfação do cliente é pequena.
Deixo minha última mensagem nesse post dizendo aos programadores: programem para você e para seu companheiro de trabalho. Programe de forma organizada, use CODING STANDARDS e faça com que o próximo programador a visualizar seu código veja que você é uma pessoa que entende de qualidade e de arquitetura, independente da linguagem. Qualidade e resolução de escopo caminham juntas. Qualidade é inegociável. Documente seu código de forma simples. Todo projeto tem um ciclo e uma das etapas do ciclo é a manutenção e pode ser que não seja você (e não será) que fará.
Boa Sorte!
?