Я мав розкіш створити декілька баз даних середньої складності, які використовуються в бізнесі, з різними передніми частинами, включаючи Інтернет, Access та C #.
Зазвичай я заздалегідь сів і опрацював схему бази даних. Це завжди мало для мене сенс. Однак не було жодного випадку, коли я не закінчив вносити зміни, додавати нові таблиці або жити з аспектами, які мене турбували і в основному запізнилися виправити.
Я не думаю, що лікувати це спочатку написати код. І я не думаю, що проблема полягає в «недостатньому рівні бізнес-вимог» або, принаймні, не в тій, яку можна було б повністю вирішити. Користувачі не знають, що їм потрібно, і я не маю сили змусити їх думати важче, бути розумнішими або більш обізнаними або краще відповідати на мої запитання. Або вони сперечаються, і мені наказано зробити щось певним чином.
Системи, які я будую, як правило, знаходяться в нових областях, в які ще ніхто не зайшов. У мене немає вкладу від організації, ресурсів чи інструментів, щоб виконати таку роботу, команда розробників високопрофесійних фахівців з дизайну могла отримати плату як команда в десять разів більше, ніж я роблю, щоб будувати речі вдвічі більше часу.
Я добрий у тому, що роблю. Але є лише один із мене, який робить це в середовищі, яке "не робить розвитку".
Все, що сказано, я все краще розумію правила ведення бізнесу. І я бачу такий собі третій варіант:
Перш ніж розробити базу даних і перед тим, як написати будь-який код, намалюйте грубі екрани, які показують, як працює програма. Вони повинні бути намальовані вручну, щоб ніхто не коментував шрифт, розмір чи розміри - ви хочете лише функціонувати.
За допомогою прозорих та паперових фрагментів ви можете обмінятись і вимкнути, одна людина - це комп'ютер, двоє - нетехнічні користувачі-спеціалісти (двоє, щоб вони розмовляли вголос) і одна людина - фасилітатор, який робить нотатки та малює. випробовувати користувачів про їх думки та сум'яття. Користувачі «клацають» і перетягують і записують у вікна, «комп’ютер» оновлює екран, і кожен переживає дизайн. Ви навчитесь речам, яких ви не могли б навчитися інакше, поки далеко в процесі розвитку.
Можливо, я собі суперечую - можливо, це кращі вимоги до виявлення. Але ідея полягає в тому, щоб спочатку розробити додаток, не пишучи жодного коду. Я почав це робити в невеликих масштабах, і це працює! Незважаючи на проблеми в моєму середовищі, це допомагає мені краще створити базу даних з самого початку. Я дізнаюся, що стовпець повинен переміщатися в нову батьківську таблицю, оскільки існує кілька типів. Я дізнаюся, що робочий список повинен мати постійні замовлення, які не надходять із інтегрованої системи замовлень. Я вчуся всякого роду!
На мою думку, це величезна виграш.