O que é um modelo de prototipagem descartável em engenharia de software e por que precisamos dele? Como ele se diferencia da Prototipagem Evolucionária?
development-process
prototyping
Asmat Ali
fonte
fonte
Respostas:
Prototipagem descartável
A criação de protótipos descartáveis consiste em criar, o mais rápido possível, uma parte do futuro aplicativo para garantir que um recurso seja tecnicamente viável ou para mostrar o recurso aos interessados ou usuários em potencial, a fim de obter feedback deles.
Como o código-fonte desse protótipo não é reutilizado posteriormente no desenvolvimento do aplicativo, ele é um protótipo descartável. Saber que é um código descartável ajuda a focar no recurso real, deixando de lado aspectos como capacidade de manutenção do código, estilo, padrões de design ou teste. Isso permite concluir o protótipo com muita rapidez, sem afetar negativamente a dívida técnica do produto final.
A prototipagem descartável é diferente do desenho . O esboço é mais gráfico e orientado para interfaces e experiência do usuário, e não consiste em escrever código de programação. A prototipagem descartável geralmente é usada quando o desenho não é suficiente (por exemplo, quando você precisa mostrar como um recurso será executado em diferentes smartphones ou quando você precisa mostrar o desempenho e a capacidade de resposta reais).
A prototipagem descartável pode representar um risco ao lidar com partes interessadas sem formação técnica e em um contexto de prazos apertados e recursos muito limitados: as partes interessadas podem tentar convencê-lo a reutilizar no produto final o código-fonte do protótipo. É natural acreditar que reduzirá o tempo necessário para liberar o produto, mas, na verdade, apenas atrasará a data de envio. Uma maneira de evitar isso é usar para o protótipo uma linguagem que não possa ser usada na produção (por exemplo, use C # quando você souber que o produto final será hospedado em servidores Linux com apenas o Python instalado).
Fig. 1: Prototipagem e desenho descartáveis : os protótipos ajudam a obter feedback antecipado antes de começar a desenvolver o recurso real.
Prototipagem evolutiva
A prototipagem evolutiva consiste na construção de um protótipo que é refinado com base no feedback regular das partes interessadas ou dos usuários em potencial.
Aqui, a manutenção do código, estilo, padrões de design ou testes conta desde o início, o que torna possível evoluir o protótipo para um produto de nível empresarial com todos os recursos. As etapas anteriores do protótipo contêm apenas a parte principal do produto futuro e, em seguida, os recursos são adicionados progressivamente.
Fig. 2: Prototipagem evolutiva : os recursos são agregados ao protótipo para construir o produto final.
A prototipagem evolutiva é diferente da prototipagem incremental . A criação de protótipos incrementais consiste em construir vários protótipos, cada um representando uma parte do sistema futuro, e depois combiná-los. A criação de protótipos evolucionários está mais próxima do Agile: geralmente, você poderá obter cedo um produto funcional com recursos limitados e estendê-lo até que as partes interessadas tenham dinheiro. A prototipagem incremental, por outro lado, é mais adequada para grandes projetos com muitas equipes contribuintes, cada equipe trabalhando em um protótipo separado.
Fig. 3: Prototipagem incremental : vários protótipos são combinados para formar o produto final.
A prototipagem evolucionária também é diferente das metodologias ágeis . O Agile trata de iterações e marcos frequentes em que um produto totalmente funcional pode ser liberado para fabricação. Se você tem um produto em funcionamento toda quinta-feira, está fazendo o Agile. Na prototipagem evolutiva, você expande o protótipo, mas nada obriga a ter um produto totalmente funcional regularmente. Você pode passar dois meses criando o primeiro protótipo, depois expandi-lo com alguns recursos em dois e três dias, respectivamente, e depois passar três meses em outro recurso. Você não pode ter esse tipo de padrão irregular no Agile.
Metodologias ágeis específicas aplicam regras adicionais. Por exemplo, se você não faz programação emparelhada, não pode afirmar que está fazendo Programação Extrema. Se sua equipe não tem reuniões diárias, você não está fazendo o Scrum.
fonte
A prototipagem é usada por vários motivos. Talvez você queira avaliar a experiência do usuário em um novo aplicativo para estimar se vale a pena construir, sem incorrer na despesa de realmente construí-lo. Talvez você precise de algo que converse com um programa existente na rede para executar testes de integração ou carregamento na sua rede, antes de ter tempo para concluir o software real em execução no seu nó. Talvez você precise mostrar a seus investidores algo que parece quase um programa concluído, para que eles estejam mais dispostos a inventar o investimento necessário para realmentetermine o programa. (Isso não tem nada a ver com engano. Usuários e gerentes julgam o software apenas por sua interface, por isso é importante apresentá-los com uma boa interface para que eles acreditem que o projeto está tão adiantado quanto realmente é.)
Um protótipo descartável é simplesmente aquele que não será transformado de forma incremental na solução real, mas substituído por um novo. Obviamente, há algum desperdício em jogar fora o código que já faz pelo menos parte do que você deseja, mas a melhor integridade arquitetural do código adequado pode facilmente compensar essa desvantagem.
fonte