No post de hoje iremos falar um pouco sobre prototipação. O motivo do interesse no tema é um caso real que vivemos na empresa durante esses últimos 3 meses. Queriamos criar algo novo, um produto para colocar no mercado. No entanto, todos sabemos que levar um produto pronto, completo e testado ao mercado demora tempo e não é possível saber se a aceitação do mesmo será boa. Por isso decidimos por criar um protótipo para amadurecermos a idéia, provar o conceito e conseguir investidores.

 

A prototipação de software consiste em criar algo mais consistente que uma simples descrição de um caso de uso e que não demore tanto quanto o sistema inteiro. Exemplos básicos de protótipo são as telas de um sistema. As mesmas podem ser desenhadas antes mesmo das funcionalidades serem introduzidas. Dessa maneira, o usuário pode validar se a tela está de acordo com o seu negócio e se atende as suas expectativas. Essa técnica, quando bem utilizada, reduzem custo, evitando retrabalho, e aumenta a qualidade do produto.

Existem prototipações evolutivas e descartáveis. A primeira consiste em evoluir o protótipo, fazendo os ajustes e incrementando novas funcionalidades até que o sistema esteja construído. O sistema parte do protótipo como base. A prototipação descartável é também é usada para validar e verificar os requisitos, mas sua estrutura de código não será reaproveitada na construção final. Muitas vezes isso ocorre porque o protótipo é feito em uma linguagem mais fácil e rápida e, no entanto, o sistema final requer uma linguagem mais robusta para sua implementação final. O protótipo, mesmo quando descartável, não é perda de tempo ou trabalho jogado fora. Ele é uma potente ferramenta para evitar divergências entre produto idealizado e produto final.

 

No nosso caso, a prototipação foi um sucesso. Executamos um projeto Scrum para a criação do protótipo e fomos aprendendo junto com a criação do sistema. O protótipo foi sendo adequado à necessidade do mercado e conseguimos provar o conceito em um tempo muito menor do que o necessário para criar o sistema todo. Isso é de extrema importância para apresentar aos clientes, que sentem muito mais segurança em apostar na idéia ao ver o sistema funcionando, mesmo que com funcionalidades limitadas.

 

Realizar um protótipo de software é um recurso poderoso que auxilia na verificação e validação dos requisitos. É importante debater se a prototipação será evolutiva ou descartável antes de começar o projeto. De qualquer forma, boas práticas de programação devem estar sempre sendo adotadas porque agilizam o processo e aumentam a qualidade e a flexibilidade do código final.