Prototipagem de Software

A importância da prototipagem de software

Luís Filipe

Luís Filipe

Managing Partner YouX

O que é a prototipagem de software

De uma forma genérica, podemos definir a prototipagem de software como o processo que permite criar um modelo visual do produto ou sistema cujo desenvolvimento se pretende levar a cabo. 

Revisitar a história do desenvolvimento de software ajuda-nos a compreender a utilização da prototipagem. Nos anos 60 do século passado foi criado um modelo de desenvolvimento que se manteve popular até aos nossos dias, o SLDC – Software Development Life Cycle.

O SDLC apresentou como grande vantagem a segmentação da produção de software em diferentes fases individuais, que funcionariam de uma forma sistémica, com os seus inputs, processamento e resultados que passariam para a fase seguinte, após serem verificadas e validadas.

Software Life Cycle Model
The Classic Software Life Cycle.

Fonte: The Role of Prototyping in Software Development G. Pomberger, R. Weinreich C. Doppler Laboratory for Software Engineering Johannes Kepler University of Linz

O seu uso foi relevando as suas limitações: partia da assunção errada de que o processo de desenvolvimento é linear e que as interações entre as fases são excepções.

Esta abordagem fazia com que as componentes tangíveis do sistema apenas estivessem disponíveis muito tarde.  Por outro lado, qualquer alteração que se viesse a tornar necessária, por exemplo,  requerida pelo cliente, tornava-se difícil de atender sem dispêndio de enormes recursos.

É neste contexto que nos aos 80 surge o Prototyping-Oriented Software Live Cycle. Este modelo não introduz uma ruptura com o anterior, antes o complementa, tornando-o mais iterativo. A prototipagem passa a assumir um papel central.

Prototyping Oriented Software Life Cycle
The Prototyping-Oriented Software Life Cycle.

Fonte: The Role of Prototyping in Software Development G. Pomberger, R. Weinreich C. Doppler Laboratory for Software Engineering Johannes Kepler University of Linz

Como referem Connell and Shafer, “A software prototype is a dynamic visual model providing a communication tool for customer and developer that is far more effective than either narrative prose or static visual models for portraying functionality. It has been described as: 

  • functional after a minimal amount of effort 
  • a means for providing users of a proposed application with a physical representation of key parts of the system before system implementation.
  • flexible modifications require minimal effort 
  • not necessarily representative of a complete system.”

(Connell JL, Shafer LB.: Structured Rapid Prototyping. Prentice Hall International, Yourdon Press, 1989)

O papel da prototipagem no desenvolvimento de software é particularmente importante nos casos em que o cliente não tem os requisitos do projeto bem definidos, a protipagem permite criar um primeiro protótipo do produto final, testá-lo e melhorá-lo até à sua aprovação. Desse momento em diante, o protótipo desenvolvido passa a constituir a base de desenvolvimento para o produto final.

“As some developers like to say, “If a picture is worth a thousand words, then a prototype is worth a thousand meetings.” “

in, What is Prototyping in Software Development (and Why It’s Important)

Vantagens da prototipagem de software

  • Testar e validar mais cedo: ter uma representação do produto sem qualquer código. A iteração com o protótipo permite chegar de uma forma rápida e eficiente ao melhor design possível.
  • Permite Impressionar os investidores e early adopters: um protótipo demonstra uma ideia de forma clara.
  • Fácil, rápido e barato: os protótipos são fáceis de desenvolver, permitindo explorar diferentes ideias sem despender muito tempo ou esforço. Quando passamos ao código, fazemo-lo com confiança.
  • Além disso permite obter feedback desde o início do processo de desenvolvimento o que permite identificar problemas dos sistema antes da fase de codificação começar.
  • Os grandes problemas de usabilidade podem ser identificados ainda antes do código, permitido corrigi-los com um custo muito baixo.
  • Adicionalmente,  a prototipagem também estimula a criatividade.
  • Sintetizando, como bem refere a Interaction Foundation Design
A regra 1-10-100 como a prototipagem reduz custos
The Interaction Design Foundation

Tipos de prototipagem

Existem vários tipos de protótipos em desenvolvimento de software e vária nomenclaturas também.  Procurando estruturar um pouco, podemos dizer que se diferenciam segundo dois grandes eixos: o scope (o quanto representam do sistema final) e o seu grau de realismo:

Scope

  • Prototipos verticais: são incluídas apenas algumas funcionalidades mas são funcionais e podem testados em condições muito realistas, incluindo ligação a dados reais) com a execução de tarefas reais.
  • Prototipos horizontais: não são tão funcionais como os primeiros mas incluem todo o sistema e por isso permitem ver como as diferentes funcionalidades se articulam no sistema.
  • Cenários: tem um scope e funcionalidades reduzidas, permite testar o sistema percorrendo um determinado script.

Realismo

  • Baixa fidelidade: pouca funcionalidade e interação, são usados normalmente para mostrar o conceito, layouts ou alternativas de design.
  • Alta fidelidade: São desenhados para demonstrar a interação com o sistema, tendo um elevado grau de realismo.

Modelos de Prototipagem

4 Tipos de Modelos de Prototipagem

  1. Prototipo rápido: usado para explorar ideias e obter um feedback do cliente, mais do que comprometer o cliente, o que se pretende é evitar desenvolvimentos necessários.
  2. Prototipo evolutivo: consiste num refinamento do protótipo inicial, que é melhorado e desenvolvido até que finalmente é aceite pelo cliente.
  3. Prototipo incremental: o produto final é dividido em várias partes e prototipadas individualmente. No final são juntas ordenadamente. Este processo reduz a complexidade.
  4. Prototipos extremos: é sobretudo usado no desenvolvimento web e consiste em 3 fases sequenciais:
    1. é apresentado um prototipo com todas as paginas estáticas em html
    2. são feitos ecrãs funcionais para simular o processo
    3. Todos os serviços são implementados e associados no pórtico final.

Está a pensar desenvolver novos interfaces ou produtos ou a procurar melhorar soluções já existentes? Avance com segurança. Consulte os nossos serviços.

You cannot copy content of this page