Prototypowanie jest jedną z bardziej skutecznych, wizualnych technik analitycznych używanych do pozyskiwania potwierdzania potrzeb użytkownika poprzez iteracyjny proces tworzenia modelu lub projektu wymagania. Jest ono również wykorzystywane do optymalizowania doświadczeń użytkownika (ang. user experience), do oceny różnych opcji projektowych i jako podstawa do developmentu końcowego rozwiązania.
Poniżej opisano prototypowanie jako technikę analityczną w oparciu o BABOK® Guide.
Siła prototypowania polega na szybkim dostarczeniu modelu rozwiązania końcowego, w związku z czym pomaga łatwo zidentyfikować brakujące lub niewłaściwie wyspecyfikowane wymagania, bądź też wadliwe założenia poprzez pokazanie, jak produkt będzie wyglądał i jak będzie się zachowywał, na bardzo wczesnym etapie produkcji.
Podejścia do tworzenia modeli
Modele tymczasowe (ang. Throw-away) – proste modele tworzone z użyciem narzędzia do modelowania, whiteboardu lub nawet za pomocą papieru i ołówka w celu pozyskiwania i klarowania wymagań. Taki prototyp może być aktualizowany w trakcie refinementu wymagania, jednak nie przekłada się na faktyczny kod i nie jest utrzymywany po tym, jak ostateczny system zostanie zaimplementowany.
Modele ewolucyjne lub funkcjonalne – tego typu prototypy są tworzone w celu przełożenia inicjalnego wymagania na działające rozwiązanie. To podejście wytwarza działające rozwiązanie, więc zazwyczaj wymaga specjalizowanego narzędzia. Tak wytworzone prototypy mogą być częścią ostatecznego rozwiązania. Jeśli do opracowania prototypu jest używane specjalizowane narzędzie, to możliwe jest zasymulowanie np. procesu biznesowego, reguły czy danych dla oceny wpływu zmiany lub walidowania wprowadzonych zmian.
Przykłady prototypów
PoP (Proof of Principle) lub PoC (Proof o Concept) – prototyp skupia się na konstrukcji i projekcie systemu, na wykorzystaniu technologii, nie zaś na jego wyglądzie
Prototyp użyteczności – skupiony na użyteczności i ergonomii rozwiązania i testuje sposób, w jaki użytkownik wchodzi w interakcję z systemem
Prototyp wizualny – takie prototyp skupia się przede wszystkim na aspektach wizualnych bez implementowania kompletnej funkcjonalności
Prototyp funkcjonalny – prototyp opracowany głównie do testów funkcjonalnych oprogramowania
Metody prototypowania
Poniżej zestawiono listę najbardziej powszechnych metod prototypowania:
Storyboarding – przedstawienie sekwencji widoków (z opcjonalnym opisem tekstowym) do przedstawienia, jak przebiega pewna, określona czynność
Ołówek i papier – te podstawowe przybory są używane do opracowania najprostszego szkicu interfejsu lub procesu
Modelowanie przepływu pracy – przedstawia sekwencję operacji, które są wykonywane i skupia się przede wszystkim na czynniku ludzkim
Symulacja – używane do prezentowania rozwiązań oraz komponentów rozwiązania. Umożliwia testowania procesów, reguł biznesowych, scenariuszy i danych.
Zalety
Przede wszystkim prototypy dostarczają wizualną reprezentację docelowego rozwiązania.
Umożliwiają również łatwe pozyskiwanie informacji wejściowych oraz feedbacku od interesariuszy.
Użycie tymczasowych prototypów skłania interesariuszy do swobodnego wyrażania podglądów, ponieważ nikomu nie szkoda pozbyć się takiego prototypu.
Szczegółowe prototypy wybranego wycinka funkcjonalności mogą być bardzo użytecznym sposobem odkrywania technologii, opracowywania technologicznych studiów wykonalności czy przygotowywania PoC.
Ograniczenia
Dla bardzo skomplikowanych procesów lub systemów możliwe staje się, że uwaga skupi się za bardzo na tym ‘jak’ zrobić prototyp raczej niż ‘co’ powinno być w nim zrealizowane.
Konieczne jest poznanie technologii, w której będzie zrealizowany docelowy system lub chociażby przyjęcie pewnych założeń odnośnie sposobu wytwarzania w niej rozwiązań.
Może zdarzyć się, że końcowi użytkownicy nie będą rozumieli, iż to co widzą jest prototypem a nie ostatecznym rozwiązaniem, co może przełożyć się na powstanie oczekiwań nie do spełnienia w zakresie czasu dostarczenia systemu.
Jeśli prototyp systemu będzie dostępny dla użytkowników, może zdarzyć się, że ich uwaga skupi się bardziej na kwestii wyglądu i zachowania rozwiązania niż na faktycznej, wymaganej funkcjonalności. Ponadto może powstać pokusa narzucenia developerom rozwiązań, czy zachowań systemu podczas gdy mogliby oni, polegając na swoim doświadczeniu i znajomości technologii, sami zaproponować znacznie bardziej ergonomiczne zachowania.
Spróbuj dostosować tę technikę do potrzeb swojego projektu 🙂
Zostaw komentarz