Причина, коли вам це важко, полягає в тому, що у вас є ідея, але ви насправді не маєте повного уявлення про те, що ви хочете зробити. Якщо ви робите свій власний проект, і у вас немає клієнта, який би сказав вам, що вони хочуть, то саме від вас залежить ваш власний клієнт. Поставте себе взуття клієнта і починайте складати список неможливих побажань.
Іншими словами, коли ви починаєте, не розробляйте нічого! .
Після того, як у вас є великий список речей, які ви хочете виконати в системі, визначте їх із усіма пріоритетами та вирішіть, який мінімальний функціонал буде мати базову систему. Це може бути одна основна функція або весь екран, але це має бути чимось, що ви відчуваєте - оскільки клієнт буде досить корисним для тестування.
Отже, список бажань + основні пріоритети = Вимоги .
Після того, як ви все це зробите, зробіть дизайн дуже високого рівня. Просто посидьте і подумайте, що вам знадобиться вашій системі, щоб отримати перші кілька пріоритетів. Якщо ви хочете, передумайте, але ось, де ви хочете передати якийсь код або конфігурацію системи, ви можете дізнатися більше про те, що можливо. Ідіть лише досить далеко, щоб підтвердити свою основну ідею дизайну.
Тобто: ЗАРАЗ ви отримуєте бажання закликати дизайнерів .
Після цього ви почнете реалізовувати свої функції. Створіть для кожної функції основну функціональну специфікацію. Це може бути таким же простим, як збірка тверджень про функції. Карти історії, якщо вам подобається. Це дозволяє вам трохи розвинути свою ідею у свідомості та створити набір висловлювань, які стануть специфікацією , проти якої ви будете тестувати та будувати свою реалізацію.
Крикни хаос, хай ковзають собаки ... Код !!
Звідти реалізуйте свої тести, щоб вони відповідали вашим характеристикам, а потім для кожного тесту напишіть свій код. Побудуйте, "відпустіть", а потім повторіть із наступною функцією, поки ви не вирішите, що проект буде достатньо завершеним.
Це дійсно зводиться до досвідченого, але такий підхід, який я знайшов, - це проста формула, яка допоможе вам зосередити свій погляд на тому, що потрібно зробити, а не замикатися на нескінченному циклі зволікання через намагання зробити занадто багато всього на один раз.