Buscar

Desenvolvimento de aplicações – o que saber antes de começar

nome

Willian A. Rabelo

Colunista ainda sem descrição. Caro colunista, por favor envie-nos sua descrição.

Olá pessoal,

 

Segue o meu primeiro artigo sobre desenvolvimento de aplicações, e minha visão na pequena experiência que tenho na parte de análise e desenvolvimento. O objetivo dele é demonstrar o “caminho das pedras” para um desenvolvimento sem perder tempo e com o máximo aproveitamento. Não vai haver nenhuma linha de código neste artigo, ele é objetivado para demonstrar o pensamento antes de começar um projeto, para um desenvolvimento mais proveitoso.

 

Por onde começar?

 

A primeira coisa que devemos nos perguntar sempre é por onde começar. Ora, é simples, não se cria um projeto do nada, não se desenvolve um projeto do ar, existe sempre alguma coisa que motiva o desenvolvimento, e o que seria? Uma idéia? Pode até ser, mas se formos analisar, no fim das contas, é sempre a mesma coisa que nos leva ao desenvolvimento: uma necessidade.

Pode ser uma necessidade de um cliente, uma visão de mercado que temos, uma proposta para nossa Software House, mas é, invariavelmente a mesma coisa, uma necessidade que veio de uma situação no mundo real.

Vejamos o exemplo de um cliente que é veterinário. Imagine a seguinte situação hipotética:

- João, um veterinário conhecido e dono de uma clínica para animais e três pet shop, descobre que você é um desenvolvedor e resolve apostar em você para fazer o sistema da clínica, talvez ele tenha ouvido falar de você através de um amigo, ou conheça sua Software House, ou outro motivo qualquer, o importante é que decidiu que você seria a pessoa. E agora? O que você vai fazer? Aceitar o projeto? Como você vai dar o seu preço? Isso tudo é importante, mas veja o que aconteceu, o Sr. João, POR UMA NECESSIDADE, decidiu criar um sistema para a clínica dele, e procurou você.

Agora que você viu a necessidade do cliente, vamos ao próximo passo.

 

ANÁLISE – As 7 letras do poder!

 

Em uma conversa informal com o Sr. João, ele te pediu um sistema simples, ele somente queria cadastrar os animais que ele atende, colocar o que gastou com cada um, cadastrar os clientes e ver o faturamento por animal e por cliente.

Isso parece simples pra você? Espero que não, pois nunca é simples. Por isso a regra básica da análise de sistemas, o seu cliente sabe o que quer, mas não vai conseguir te explicar exatamente isso, a menos que ele também seja um desenvolvedor. Por quê? Bem simples, por que ele sabe quais resultados ele quer, ele não sabe quais os processos, e o que você vai “informatizar” (eita palavrinha horrível hein?!) são os processos, para gerar os resultados que ele deseja.

Para os já familiarizados com o desenvolvimento de sistema, podem pensar o seguinte, poxa mas isso é “chover no molhado”, mas continuem comigo e vocês vão entender o ponto da questão.

Voltando ao problema do Sr. João.

Ele sabe que precisa de um sistema rápido, pois o sistema que ele possui atualmente não está resolvendo as necessidades dele, então ele te pergunta quanto tempo você vai gastar pra fazer o sistema. Somente alguém extremamente sem preocupação com o cliente iria dar uma previsão sem conhecer a necessidade real e o que existe para ser desenvolvido. Então o que fazer? Análise!

Peça ao Sr. João, uns 4 dias para dar a resposta do preço e do tempo para desenvolvimento, temos de concordar que 4 dias é muito pouco tempo e diga a ele que durante este tempo você poderá fazer uma pesquisa melhor e responder o que ele pergunta com mais precisão. Feito o acordo, vamos aos processos.

Visite o local da clínica do Sr. João, e converse com algumas pessoas. Veja como os clientes são atendidos, e comece a imaginar o que acontece desde que o cliente chega na loja até ele pegar o seu animal de volta. Pense no seguinte:

“Tudo bem, eu sou um cliente, o que acontece se eu trouxer o meu cachorro aqui?!” E veja como o cliente é atendido, os papéis preenchidos, se existe algum comprovante e como o cliente recebe a previsão de quando o serviço estará concluído. Veja a lógica que existe atrás do processo todo.

Acabou o acompanhamento do cliente, vá para o próximo processo, veja como a atendente lida com as informações recebidas, quais informações são importantes, para onde vai o animal, se existem várias salas com várias finalidades, quais informações adicionais a atendente liga àquele animal e para qual veterinário ele é encaminhado.

Terminou mais um processo? Ótimo! Faça anotações de tudo. Siga o processo do veterinário, veja o que ele faz, quanto tempo demora, o que gasta, como gasta e como anota o que gastou. Veja também como ele retira algo de algum estoque, como ele anota na ficha do animal o que foi gasto e como ele faz algum diagnóstico em que seja necessária a aprovação do cliente.

Terminou com o veterinário? Volte ao animal, veja as alterações das informações de quando saiu da atendente até quando saiu do veterinário. Concluiu as alterações? Tudo perfeitamente anotado? Proceda para o próximo processo e continue indo, processo a processo até acabar tudo.

Pegue uma cópia de cada relatório que o seu cliente possuir e leve com você, desde relatórios financeiros até relatórios técnicos, e explique para o Sr. João que você precisa destes relatórios para entender melhor o que ele deseja.

Volte para sua área de desenvolvimento e coloque os papéis em ordem. Chegou a hora boa...

 

BRAINSTORM – Acertando os dados que você possui.

 

Veja o que você possui e pense em várias linhas:

 

- Como cliente

- Como atendente

- Como veterinário

- Como gestor

- Como proprietário

 

Veja as informações importantes e a prioridade das mesmas, faça um esboço de tudo que você conseguiu e de informações que você ainda precisa e não conseguiu. Reserve um dia inteiro para essa análise, pense nas possibilidades e tente ver além do que você precisa.

Volte no terceiro dia até a clínica e reveja o processo, agora com as suas anotações e pergunte para as pessoas o que elas precisam para fazer melhor ainda o serviço que já fazem, o que poderia melhorar e o que deveria ser feito para agilizar as coisas dentro de determinado departamento, como os veterinários, por exemplo.

No final do terceiro dia, volte a sua área de desenvolvimento e reveja os seus processos, tenho certeza que haverão mudanças. É importante saber que esses processos não são os processos de desenvolvimento de sistema ainda, são os processos da informação, para saber quem faz o que e de que forma. Assim, você terá uma idéia macro do que terá de desenvolver para chegar ao seu objetivo final, que é, resolver e atender a NECESSIDADE do seu cliente.

Tire o quarto dia para rever o processo todo, com mais calma e para fazer um paralelo de quanto tempo você vai gastar para fazer cada parte. Veja também o que você terá de fazer até começar a fazer o projeto, pense nas classes, no que você terá de desenvolver e nos recursos que deverão ser empregados. Com tudo isso em mente, você terá duas importantes informações na mão:

 

- Quanto você vai gastar de tempo para fazer o que precisa ser feito;

- Quando você poderá entregar o que precisa ser entregue.

 

Ora, com esses dados, você pode estimar melhor suas horas de desenvolvimento, a tecnologia melhor aplicável a situação e quanto de seu tempo você terá de dispor para completar o seu projeto.

 

RESULTADOS – Apresentação do que existe

 

Posto isso tudo converse com o seu cliente ou vá até ele, com dados nas mãos. Mostre para ele o que ele possui hoje, o que pode ser melhorado, o que PRECISA ser melhorado e o que ele quer como resultado final, e como ele vai conseguir isso.

Pegue os relatórios que ele quer hoje, veja os que podem servir de base e os que precisam ser alterados, para demonstrar ao Sr. João o que ele pode conseguir com o seu sistema.

Diga a ele quanto tempo você precisa, e de quanto em quanto tempo você pode dar uma posição sobre o sistema. E depois disso tudo, diga a conclusão do preço que você acha justo para o desenvolvimento da aplicação que ele quer.

Considerando que você gastou quatro dias para analisar a situação, você já saberá o que é viável e o que pode ser negociado com o seu cliente, e mais importante, você saberá exatamente onde está pisando, assim, você terá ainda mais confiança no seu desenvolvimento.

Se o seu cliente conseguir ver o que você se propõe a fazer, ele perceberá que você gastou um bom tempo para ver melhor a situação e poderá também visualizar que você mostrou a ele pontos que ele não conhecia, assim o seu projeto tem muito mais chances de ser aceito e completado. E o mais importante, você será remunerado pelo que acha justo.

Existe algo mais frustrante que um projeto que era para ser pequeno e vai aumentando, aumentando, aumentando, sem parar? E você não vê o lucro dele? Parece que seu esforço está todo indo por água a baixo? Então, procedendo como foi exposto acima, você se livra disso, fecha um acordo com o cliente e chega em um ponto simples: O que está acordado é o que será feito.

Além do que, procedendo da forma acima, você poderá surpreender o seu cliente e superar as expectativas dele, assim, você terá ainda mais respeito e respaldo quando tiver de discutir, durante o desenvolvimento, uma situação que não é agradável ou que o cliente insiste em manter, mesmo que esteja errado no processo.

Lembre-se, você não está desenvolvendo um “programa de computador” para o seu cliente, você está resolvendo uma NECESSIDADE que ele tem, e as duas coisas são bem diferentes.

 

Espero que este artigo ajude vocês a lidarem melhor com os seus clientes e que vocês possam desenvolver softwares mais produtivos, para os seus clientes e para vocês.

 

Um abraço,

 

CPD

Publicidade

Vote no artigo




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes do artigo

Categoria: Outros
Adicionado dia: 28/12/04
Por: Willian A. Rabelo
Visualizado: 16940 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009