Прототипування (Prototyping)

Прототипування використовується для з'ясування та перевірки потреб зацікавлених сторін за допомогою ітеративного процесу, який створює модель або дизайн вимог.

Воно також використовується для оптимізації користувацького досвіду, оцінки варіантів дизайну та як основа для розробки остаточного бізнес-рішення.

Прототипування (Prototyping) це одна з методик BABOK v3 (розділ 10.36)

Опис прототипування в BABOK v3 (10.36.2)

Прототипування (Prototyping) - це перевірений метод дизайну продукту. Його суть полягає у створенні ранньої моделі кінцевого результату, відомої як прототип.

Прототипування (Prototyping) використовується для виявлення відсутніх або неправильно сформульованих вимог та необґрунтованих припущень, демонструючи, як виглядає продукт і як він працює на ранніх стадіях проектування.

Прототипи можуть бути неробочими моделями, робочими представленнями або цифровими зображеннями рішення чи пропонованого продукту. Вони можуть використовуватися для макетування веб-сайтів, слугувати частково робочою конструкцією продукту або описувати процеси за допомогою серії діаграм (наприклад, робочий процес- workflow).

Бізнес-правила та прототипи даних можна використовувати для виявлення бажаного потоку процесів та бізнес-правил. Прототипування даних можна використовувати для очищення та перетворення даних.

Елементи прототипування в BABOK v3 (10.36.3)

Підхід прототипування

Існує два загальних підходи до створення прототипів:

  • Викидання (Throw-away): прототипи створюються за допомогою простих інструментів (таких як папір і олівець, дошка або програмне забезпечення) з метою виявлення та уточнення вимог. Прототип може оновлюватися або розвиватися під час обговорення та розробки, але не стає робочим кодом і не зберігається як результат після впровадження остаточної системи або процесу. Цей метод корисний для визначення функціональності або процесів, які нелегко отримати за допомогою інших методів, мають суперечливі точки зору або є складними для розуміння. Ці прототипи можуть бути недорогим інструментом для виявлення або підтвердження вимог, які виходять за межі інтерфейсу, включаючи вимоги, пов'язані з процесами, даними та бізнес-правилами.
  • Еволюційний або функціональний (Evolutionary or Functiona): прототипи створюються для перетворення початкових вимог у функціонуюче рішення в міру того, як вимоги уточнюються за участю зацікавлених сторін. Цей підхід дає змогу отримати робоче рішення і, як правило, вимагає спеціалізованого інструменту або мови для створення прототипів, які можуть бути використані в остаточному рішенні. Якщо використовується спеціалізоване програмне забезпечення, можна змоделювати бізнес-процеси, правила і дані, щоб оцінити вплив змін і підтвердити бажані результати.

Приклади прототипування

Сьогодні існує багато форм прототипування.

Кожну з наведених нижче можна вважати однією з форм прототипування:

  • Перевірка принципу або перевірка концепції (Proof of Principle or Proof of Concept): модель, створена для перевірки дизайну системи без моделювання зовнішнього вигляду, матеріалів, що використовуються у створенні роботи, або процесів/робочих процесів, які в кінцевому підсумку будуть використовуватися зацікавленими сторонами.
  • Прототип дослідження форми (Form Study Prototype): використовується для вивчення основних розмірів, зовнішнього вигляду та відчуття продукту, який буде вироблятися, без створення фактичної функціональності. Він використовується для оцінки ергономічних та візуальних факторів за допомогою скульптурного представлення продукту, виготовленого з недорогих матеріалів. Цей тип прототипу також може бути використаний для моделювання робочого процесу або навігації на високому рівні з метою виявлення прогалин або невідповідностей у можливому вирішенні властивостей (наприклад, зовнішнього вигляду, конфігурації).
  • Юзабіліті-прототип (Usability Prototype): модель продукту, створена для тестування того, як кінцевий користувач взаємодіє з системою, без включення будь-яких властивостей (наприклад, зовнішнього вигляду, конфігурації).
  • Візуальний прототип (Visual Prototype): модель продукту, створена для тестування візуальних аспектів рішення без моделювання повної функціональності.
  • Функціональний прототип (Functional Prototype): модель, створена для тестування функціональності програмного забезпечення, якостей системи для користувача (наприклад, зовнішнього вигляду) і робочого процесу. Його також називають робочою моделлю і використовують як для імітації бізнес-процесів і бізнес-правил, так і для оцінки викликів програмних функцій.

Методи прототипування

Нижче наведено перелік найпоширеніших методів створення прототипів:

  • Розкадрування (Storyboarding): використовується для візуальної та текстової деталізації послідовності дій шляхом узагальнення різних взаємодій користувача з рішенням або підприємством.
  • Паперове прототипування (Paper Prototyping): використовує папір та олівець для створення проекту інтерфейсу або процесу.
  • Моделювання робочого процесу (Workflow Modelling): зображує послідовність операцій, які виконуються, і зазвичай фокусується виключно на людському аспекті.
  • Імітація (Simulation): використовується для демонстрації рішень або компонентів рішення. Вона може тестувати різні процеси, сценарії, бізнес-правила, дані та вхідні дані.

Міркування щодо використання прототипування в BABOK v3 (10.36.4)

Сильні сторони прототипування

  • Забезпечує візуальне представлення майбутнього стану.
  • Дозволяє зацікавленим сторонам надавати інформацію та відгуки на ранніх стадіях процесу проектування.
  • При використанні методів швидкого прототипування або створення паперових прототипів користувачі можуть відчувати себе некомфортно, критикуючи макет, оскільки він не відшліфований і не готовий до запуску в продаж.
  • Вузький, але глибокий вертикальний прототип можна використовувати для техніко-економічного обґрунтування, підтвердження концепції або для виявлення технологічних і процесних прогалин.

Обмеження використання прототипування

  • Якщо система або процес дуже складні, процес створення прототипу може загрузнути в обговоренні "як", а не "що", що може призвести до того, що процес займе багато часу, зусиль і навичок фасилітації.
  • Для того, щоб розпочати створення прототипу, може знадобитися розуміння або припущення щодо технології, яка лежить в його основі.
  • Якщо прототип є глибоко опрацьованим і деталізованим, зацікавлені сторони можуть мати нереалістичні очікування щодо кінцевого рішення. Вони можуть варіюватися від передбачуваних дат завершення до завищених очікувань щодо продуктивності, надійності та зручності використання.
  • Зацікавлені сторони можуть зосередитися на проектних специфікаціях рішення, а не на вимогах, яким має відповідати будь-яке рішення. Це, в свою чергу, може обмежити дизайн рішення. Розробники можуть вважати, що вони повинні надати користувацький інтерфейс, який точно відповідає прототипу, навіть якщо існують більш елегантні технології та інтерфейсні підходи.