У минулому я розробляв і нав’язував інших розробляти різні системи, і я бачив, як цей процес розгортається різними способами, але я вважаю загальним те, що початкова архітектура повинна принаймні планувати існування більшості основних особливостей.
Наприклад, я бачив систему контролю ОВК, яка не мала концепції будівлі, підлоги, кімнати тощо, які були дооснащені цими, і результат був таким же потворним, як вони приходять. Або мобільний музичний пристрій, побудований з компонентів, які краще підходять для вашого (не розумного) кишенькового годинника. Потрібно сказати, що кінцеві продукти в будь-якому випадку не були фаворитами клієнтів.
Коли ви говорите "зачаття", це лише один крок від "ідеї", і концепція може бути дуже нечіткою. Бізнес зазвичай дбає про концепції. Клієнти зазвичай дбають про UX - концепцію, реалізовану в реальність способом, який є простим і приємним у використанні і приносить певну цінність завдяки її використанню.
Ви повинні зробити «концепцію» перед будь-яким програмуванням, я не можу передбачити, як я відкрию візуальну студію (або ваш IDE на вибір) і випадково записую код, щоб побачити, куди йде.
Ви не можете робити повний дизайн (і не слід) перед кодуванням, але у вас повинен бути приблизний ескіз того, яким би був робочий процес користувача.
Проектування та кодування UX нерідко подають один одному, ви, мабуть, будете змушені використовувати якийсь підхідний підхід для будь-якого, крім найменших проектів, як спосіб включити цей факт у підхід до роботи. Тож не думайте, що ви найгірший з програмістів, якщо ви не могли бачити все це відразу - ніхто не може, і люди, які думають, що вони можуть, є тими, хто просто ігнорує достатньо проблеми, щоб вони могли стверджувати, що вони мають повну картина.
Один приклад - розмістити розмір на чомусь великому. Концепція: "Створіть візуальний хмарний інструмент, який дозволяє бізнесу інтегрувати свої програмні платформи". Це звучить чудово, і можна почати писати маркетингові матеріали та продавати їх ще до того, як вони навіть з’являться. Ви повинні мати це перед кодуванням.
Попередній дизайн: "Майте фігури та стрілки, як у Visio, щоб описувати логіку; мати можливості плагіну для підключення до різних платформ (SAP, SF, бази даних ...); мати консоль моніторингу, де можна шукати дані, що проходять через система; мати спосіб візуального опису даних та перетворення одного формату в інший ". Ще один чудовий маркетинговий блок. Це також дає вам декілька ідей щодо того, що важливо, має бути такий приблизний ескіз і до кодування.
Дизайн / код: "У веб-переглядача розміщений HTML-дизайнер з такими та подібними функціями; кодуйте резервний сервер на Java, щоб він міг працювати на будь-якому існуючому сервері; визначте структури даних та UX для запитів або зміни їх за потребою; плануйте відновлення після аварій, помилку звітування, журнал аудиту; контроль версій плану; контроль доступу до плану; .... "- чим тонший список, тим нереальнішим буде його передбачити.
... однак слід бути принаймні обізнаним з тим, що все може виглядати приблизно так, або ваш кінцевий продукт може виявитись справді марними реалізаціями, які в кінцевому рахунку вбивають інакше чудову концепцію - скажімо, ваш візуальний дизайнер вимагає 40 " екран, щоб показати будь-який робочий процес у реальному світі, або немає способу пошуку в журналах, крім точного збігу рядків, обмеженого одним із 20 полів у журналі тощо. Немає жодного хорошого способу запобігти цьому, крім виконання вашої реалізації - одні вдасться, інші зазнають невдачі.