Por que é importante fazer uma prova de conceito? (PoC)

Você já ouviu falar em prova de conceito (PoC)? Sabe por que ela é importante para o ramo de Tecnologia da Informação? A sigla PoC vem do inglês (Proof of Concept) e nada mais é do que um laboratório experimental que visa a reduzir os erros técnicos em arquitetura de softwares, entre outros benefícios.

Neste post você entenderá o conceito e também como funciona uma prova de conceito. Também entenderá como organizá-la em uma arquitetura de dados, como encaixá-la em projetos de software de sua empresa, dentre outras informações importantes sobre o assunto. Acompanhe!

Afinal, o que é prova de conceito?

A prova de conceito (Poc) é a evidência documentada de que um produto ou serviço potencial pode ser bem-sucedido. Ela pode ajudar o desenvolvedor do produto a identificar problemas técnicos e logísticos potenciais que possam interferir nos resultados esperados, no sucesso do produto desenvolvido.

Ela também oferece a oportunidade para que a organização solicite feedbacks internos ou externos sobre um produto ou serviço promissor, enquanto reduz riscos desnecessários e a exposição — proporciona a oportunidade para que as partes interessadas possam avaliar as opções de design, por exemplo, no início do ciclo de desenvolvimento.

Colocando em termos práticos, funciona da seguinte forma: você tem uma grande ideia e precisa tirá-la do papel. Qual o próximo passo na execução do seu projeto? Você precisa criar um protótipo para provar que a ideia é viável, ou seja, você precisa fazer uma prova de conceito.

Ela mostra para você que a ideia não apenas funciona, mas que ela funciona como o previsto. Além disso, no futuro, o protótipo é importante para obter a propriedade intelectual do produto e também para atrair possíveis investidores.

Agora, se você está aqui é porque quer saber mais sobre a prova de conceito e como ela pode ser importante para a sua empresa. Certo? Então, leia as explicações e as dicas que selecionamos abaixo.

Benefícios da prova de conceito em desenvolvimento de software

  • Quando falamos em prova de conceito dentro de um projeto de desenvolvimento de softwares, podemos apontar uma abundância de benefícios. Os mais destacados são:
  • Diminuição dos custos ou impedimento de gastar muito dinheiro em algo que não é técnica ou mercadologicamente viável;
  • Obter provas tangíveis de que a ideia é de valor e que ela não poderá ser facilmente derrubada com argumentos contrários;
  • Ganho de confiança por parte da equipe de desenvolvimento, que passa a visualizar que os projetos podem, sim, chegar a resultados satisfatórios;
  • Diminuição dos riscos e aumento da possível satisfação do cliente final, seja ele interno ou externo, com o resultado;
  • Orientação da tomada de decisão, garantindo uma gestão de desenvolvimento com maior visibilidade e controle.

Quais requisitos e cenários são candidatos a uma prova de conceito?

Os requisitos de um software correspondem a tudo aquilo que ele deve atender para funcionar de maneira completamente viável e satisfatória.

Um software voltado para a automação de tarefas comerciais, por exemplo, precisa cumprir uma série de requisitos, como coletar e transmitir dados corretamente, manter a segurança e apresentar total disponibilidade.

Com isso, os requisitos dividem-se em:

Prioritários e complexos

Esses são os requisitos mais importantes e é neles em que a prova de conceito precisa se concentrar.

Se o software falha nesse sentido, então ele ainda não está pronto para ser utilizado e exige mudanças para melhorar sua atuação.

Prioritários e simples

Indicam os conceitos que são importantes e que devem ter preferência, mas que não exigem tanto esforço.

Normalmente, se a prova de conceito aponta falhas nesse sentido a correção tende a ser facilitada.

Não prioritários e complexos

Já esses requisitos tratam de tarefas que, normalmente, envolvem mais de uma etapa ou que contam com um grande volume de dados.

Porém, elas não são prioritárias, embora ainda sejam indispensáveis. Se a prova de conceito apresenta falhas somente nesse sentido, os riscos já são consideravelmente menores.

Não prioritários e simples

São os requisitos mais básicos de todo o framework e, por isso, normalmente possuem uma solução bastante simplificada.

Uma prova de conceito que aponta apenas esses requisitos demonstra que, em geral, o software possui riscos baixos e administráveis durante o processo.

Quanto aos cenários, isso depende da utilização final que o software vai ter. Em ambientes mais complexos, como tende a acontecer com soluções para o sistema bancário, essas provas são muito necessárias para garantir a total confiabilidade.

Isso se deve não apenas às vantagens e à importância dessa realização, mas, também, à complexidade existente no cenário em que o software estará inserido.

Com isso, ambientes considerados relativamente hostis ou complexos exigem uma preocupação redobrada ao executar provas desse tipo.

Quantas provas de conceito devo ter?

Não existe um número fixado para os testes. Então, não se incomode se forem necessários muitos deles para que isso aconteça.

A resposta vai depender exclusivamente da complexidade do software desenvolvido, da etapa em que cada prova será executada e dos objetivos esperados com o produto em questão.

Com isso, um mesmo software pode passar por apenas algumas provas, enquanto outros exigem mais de uma dezena. Tudo isso é pensado na confiabilidade dos resultados e na segurança para tomar decisões.

Por falar nisso, é importante que, independentemente do número de provas realizadas, aconteça mais de uma. Isso porque os testes podem conter erros e, com isso, distorcem a visão da realidade a respeito da solução.

Com ao menos um teste a mais, é possível tirar a prova e conferir se, realmente, o resultado obtido no começo corresponde à realidade.

Ao mesmo tempo, é importante manter-se atento ao orçamento. Não adianta gastar muito em provas extras — e nem sempre necessárias — e consumir recursos que seriam destinados à continuidade do desenvolvimento. Tudo deve ser alocado de modo a otimizar cada uma das partes envolvidas.

Quando devo fazer prova de conceito?

Também é muito importante reconhecer qual é o momento adequado para empregar essa abordagem. Se o teste for feito cedo demais, ainda não haverá base o suficiente para compreender quais foram os resultados obtidos.

É preciso que haja o mínimo protótipo viável para que tudo funcione de maneira próxima como objetiva a solução.

Ao mesmo tempo, um teste realizado com atraso leva à perda de dinheiro. Quanto mais tempo o desenvolvimento caminha sem poder se basear nos resultados, maiores são os riscos de haver retrabalhos ou, pior ainda, descarte de tudo o que já foi feito anteriormente.

Além disso, o desenvolvimento feito por muito tempo sem a prova faz com que os riscos aumentem consideravelmente, impedindo que as expectativas sejam plenamente atendidas e esticando o prazo necessário até a conclusão.

Sabendo disso, o ideal é determinar que esse elemento aconteça ainda na fase inicial do processo de desenvolvimento, mas sem estar muito próxima ao começo. Em geral, após um terço de projeto há material suficiente para conduzir testes que oferecerão resultados bastante completos.

Como organizar uma prova de conceito em arquitetura de dados?

A arquitetura de software lida com sistemas grandes e complexos e depende de questões estruturais, como, por exemplo, organização e estruturação geral de controle, escalabilidade e desempenho, protocolos de comunicação, sincronização e atribuições de funcionalidade a componentes do projeto.

Dessa forma, ao organizar uma prova de conceito, a primeira coisa que se deve estudar são os sistemas prioritários e complexos.

A prova de conceito vai depender do grau de complexidade do projeto. E, como foi dito no começo do post, o principal objeto da PoC é reduzir os riscos técnicos e torná-lo escalável.

Ela vai explorar os aspectos estruturais e comportamentais da arquitetura de software. A primeira serve para comparar tecnologias ou descobrir uma nova que facilite a execução do projeto, enquanto a segunda analisa a usabilidade do software, ou seja, estuda os casos e verifica o cenário do negócio.

Prototipagem: testar em um modelo é muito importante

A prova de conceito pode ser a leitura de muitos artigos técnicos e científicos, o esboço com modelos, uma sequência de simulações simples ou até a criação de um protótipo. Ele não precisa ser bonito e bem-acabado. Além disso, o protótipo não necessita ser muito parecido com o produto final. No entanto, ele precisa funcionar com o objetivo de testar a sua ideia.

Para saber qual o período certo para realizar as provas de conceito, basta imaginar a regra do terço: no primeiro terço, todas as PoCs da arquitetura de software devem estar finalizadas e com os riscos técnicos do projeto bem definidos.

Qual a importância da prova de conceito para a sua empresa?

A PoC é importante porque verifica a viabilidade do projeto, complexidade, custos, mercado e o tempo necessário de execução de todas as etapas do desenvolvimento de software e, com isso, traz segurança ao seu investimento.

Desenvolver um software não demanda dinheiro apenas para o seu licenciamento, mas também o investimento em equipamento de informática, em pessoal envolvido com pesquisa e execução técnica do projeto.

Agora, imagine que você resolve não fazer a prova de conceito e, depois de todo esse investimento, descobre que a ideia não funciona como você imaginou e, para continuar correndo atrás do sonho do seu software no mercado, você precisa aplicar mais dinheiro ou, na pior das hipóteses, se convencer de que seu negócio não era viável?

Não é verdade que a PoC assegura o sucesso do seu projeto. Os testes estão sujeitos a erros e, por isso, é importante refazê-los quantas vezes for necessário.

Por outro lado, o que a prova de conceito e o protótipo fazem é reduzir as falhas técnicas, aumentando a possibilidade de sucesso do seu negócio e, o mais importante, reduzindo os custos do desenvolvimento de software.

Como diminuem os riscos, essas provas também fazem com que o negócio seja mais atrativo. Graças à validação da solução, o posicionamento é melhor, especialmente frente aos investidores.

Uma startup desenvolvedora, por exemplo, terá muito mais chances de conquistar aportes por parte dos investidores se for capaz de apresentar resultados favoráveis quanto a esses elementos.

O que esperar da prova de conceito?

Como visto, não é essa prova que vai dar o veredito se o produto sendo desenvolvido é ou não viável. Entender isso é importante para não colocar expectativas que não sejam condizentes com a atuação desse elemento.

O que dá para esperar desta prova é uma análise geral dos requisitos, especialmente os prioritários simples e complexos. É como se ela mostrasse, de maneira ampla, se algo tem chances de dar certo ou não.

Caso o software não passe na prova de conceito, provavelmente ele não será viável. Com isso, modificações devem ser realizadas para que ele consiga passar no primeiro teste antes de ser para valer.

Porém, a situação oposta exige cuidados. Não é porque o software passou em uma prova de conceito que ele recebe o sinal verde para continuar até o fim. É necessário fazer outras provas e, mesmo diante da aprovação de todas, ter cuidado ainda é importante.

Os riscos ainda existem, a questão é que agora eles estão toleráveis e mais fáceis de manejar. Por isso, é fundamental que toda a equipe conte com outros frameworks para acompanhar e administrar todo o processo de desenvolvimento, de modo a oferecer o maior nível possível de segurança.

Produto final x Prova de Conceito

George Deep escreveu um artigo no site da Forbes sobre seu encontro com 500 startups em Red Rocket ventures, no qual vários empresários o procuraram para falar sobre seus aplicativos.

A maioria deles estava procurando capital de risco para ajudá-los com ações de vendas e marketing, mas, quando os colunistas questionavam os empresários sobre os seus PoCs e sua base de usuários, eles respondiam que não utilizavam esses recursos. Deep informou que sem essas ferramentas eles não estavam prontos para levantar capital.

Para ele, os empresários estão tão preocupados nas linhas de códigos, na funcionalidade e na tecnologia envolvida para colocar o projeto em prática que acabam se esquecendo de pensar na fonte de renda que vai manter seus projetos. Deep acredita que esse é o maior problema das startups: começar o projeto sem ter o dinheiro suficiente para geri-lo.

Primeiro o orçamento

O especialista aponta que o projeto só deve ser iniciado depois de o orçamento ser definido para o desenvolvimento do produto, comercialização e também com as provas de conceito.

É preciso ter dinheiro, inclusive, para investir em campanhas em redes sociais, como o Google e o Facebook, uma vez que sem esses meios de publicidade é muito difícil começar a construir a audiência para começar as provas de conceito.

Objetivos no horizonte

Outro ponto importante para os novos empresários é ter em mente aonde se quer chegar, ou seja, qual o objetivo final com o projeto.

Também entenda que alguns negócios demoram um pouco mais para deslanchar e que, durante o processo, é preciso ter investidores para financiar o seu negócio.

Além disso, desde o pontapé inicial, tenha uma quantia reservada no orçamento para investir em marketing e prospectar usuários para testarem seu site, software ou aplicativo.

Quantidade de usuários

Deep também destaca a importância de investir em provas de conceitos e explica que ela é normalmente ditada pela quantidade de pessoas que usam o seu produto.

Esse número aumenta mês a mês e o orçamento de marketing deve ser suficientemente grande para criar um bom banco de dados de usuários.

Métricas de marketing

Uma dica preciosa é que os investidores não compram uma ideia sem antes fazerem a checagem do relatório de métricas do marketing.

Dessa forma, o dinheiro com publicidade deve ser bem empregado para que exista uma boa relação entre o valor gasto com marketing e a receita gerada por usuário.

George Deep ressalta que, se o orçamento com marketing não for levantado antes, fica difícil consegui-lo depois, afinal as provas de conceito exigidas pelos investidores também demandam dinheiro.

O produto é mais importante

Por fim, para George Deep, se você levantar dinheiro apenas para o seu produto e não investir em provas de conceito, você está investindo em um negócio que tem bastante chance de não alcançar sucesso.

De acordo com ele, 9 em cada 10 startups falham porque não fazem planejamento a longo prazo e porque as provas de conceito são consideradas mais importantes do que os produtos para quem quer conseguir capital de risco no mercado.

Como encaixar uma prova de conceito no processo de software da sua empresa?

Dito tudo isso, você deve estar se perguntando: e como eu aplico a prova de conceito em um processo de software na minha empresa? Há, basicamente, duas respostas que sintetizam a resolução deste questionamento:

1.Se o uso de metodologias ágeis já é uma realidade no seu negócio, você pode mesclar provas de conceito ao longo dos primeiros sprints dos seus projetos de software. Uma boa dica é criar um “Sprint Zero” e dedicá-lo apenas à prova de conceito.

 

7 Passos para Iniciar DevOps

 

2.Caso na sua empresa seja feito o uso de processos unificados (RUP, Enterprise Unified Process, Open-UP, IBM, Essential etc.), é na fase de elaboração que você deve lidar com as provas de conceito.

Mas, vamos além. Veja, a seguir, uma compilação com algumas das principais dicas práticas para a aplicação de provas de conceito em projetos de software:

Defina os objetivos estratégicos e as necessidades

É o básico do básico: você deve ter bem claros os objetivos estratégicos da empresa e as necessidades que serão supridas com o software. A partir disso, conseguirá verificar como o projeto poderá ajudá-lo a atingir estes objetivos.

Esclareça todas as expectativas

Tanto para a equipe interna de desenvolvedores quanto para os fornecedores, quando houver, é importante deixar todas as expectativas bem claras. Assim, levante os requisitos, apresente-os e verifique se é possível ser atendido em suas necessidades.

O alinhamento é um passo importante para que a solução apresentada ao final não pareça incompleta por causa de exigências que não haviam sido previstas.

Torne a prova colaborativa e transparente

Vá além do departamento de TI, ou da equipe de desenvolvimento, na hora de fazer uma prova de conceito. Envolva as demais áreas interessadas na solução e estimule o espírito de colaboração com usuários e fornecedores.

Isso facilitará para que a prova de conceito seja o mais transparente possível. Ficará mais fácil definir critérios, documentar e avaliar o software.

Capriche na comunicação

É normal que, mesmo quando os testes de aceitação estão bem definidos na prova conceito, surjam algumas dúvidas entre usuários, desenvolvedores e fornecedores.

Por isso, é importante ter canais de comunicação, estar preparado para o diálogo e fornecer respostas rápidas e esclarecedoras. Usar as ferramentas digitais disponíveis hoje (chat, intranet, apps de mensagens instantâneas etc.) pode ser muito importante.

Crie um comitê de avaliação

Monte uma equipe para avaliar as provas de conceito. Você pode tornar esta equipe bem multidisciplinar para obter as mais variadas opiniões, bem como para tornar o projeto ainda mais colaborativo e prevenir possíveis resistências à mudança.

Um comitê de avaliação também dá um verniz de idoneidade aos testes de aceitação; mostra que há vários profissionais envolvidos e que todos estão interessados em desenvolver ou adquirir a melhor solução.

Por que é importante escolher um bom software para executar a prova de conceito?

Por fim, a escolha de uma solução que ajude a executar provas de conceitos também é importante.

É ela quem otimiza o trabalho dos profissionais envolvidos com os projetos de desenvolvimento e simplifica e agiliza os testes de conceitos ou as estratégias para validação dos processos de trabalho (praticamente impraticáveis pelos meios tradicionais de implementação).

A solução viabiliza as provas de conceito que podem ajudar a economizar muito dinheiro e também tornar a operação mais produtiva e assertiva.

O importante é que o software utilizado seja os demais aspectos dos projetos de desenvolvimento, tendo as provas de conceito como mais uma de suas funcionalidades chave. E que ele seja suficientemente flexível para viabilizar a implementação de protótipos, ajude a automatizar os processos, tornando provas de conceito parte estratégica de seus projetos de desenvolvimento.

Se você gostou de nosso artigo e quiser receber nossas atualizações diretamente em seu feed de notícias, curta a nossa página no Facebook e nos siga no Twitter para não perder nada!

Guia das Ferramentas DevOps

2018-02-05T17:59:20+00:00 0 Comments