Agile методи та бази даних на початку проекту


12

Новачок у спритності, і я не знаю, як почати. Ідея полягає у створенні невеликих частин проекту у спринтах. Однак проект, над яким я працюю, потребує бази даних, і база даних повинна бути майже функціональною, щоб зробити щось із проектом.

Отже, як Agile проекти справляються з цим, почнете зі створення бази даних?

Як би ви це зробили, наприклад, якщо використовуєте Scrum, як би ви робили розповіді користувачів та тестували db.

Ви бажаєте зробити частини db в історії, яка також вимагає коду.

Скажімо, у вас є історія, що "Як користувач повинен мати можливість зареєструватися ...", ви створили таблицю користувачів у базі даних як частину цієї історії?

Як Agile може допомогти вам створити базу даних?


1
re: "Як користувач ви маєте змогу зареєструватися ..." Я пропоную прочитати через blog.gdinwiddie.com/2011/06/11/dont-you-have-to-login-first та публікації, які він згадує . Можливо, немає жодної "правильної" відповіді; добре розуміти різні міркування в дискусії.
StevenV

Якщо ви починаєте Agile або будь-яку іншу методологію з цього питання, переконайтеся, що вона підходить для вашої команди, проекту та стилю організації в роботі з програмними проектами (або вашими замовниками). Неправда, що кожна методика працює для кожного проекту та кожної організації.
NoChance

Відповіді:


14

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

Якщо у вас є історія, яка справді вимагає всієї бази даних, то історія Epic - вона просто занадто велика і її потрібно розділити.


5

Новачок у спритності, і я не знаю, як почати.

Прочитавши ваш пост, я думаю, що ви нерозумієте це, і ви повинні почати з того, що насправді означає спритний і намагається здійснити.

Ідея полягає у створенні невеликих частин проекту у спринтах.

Закрийте, але недостатньо близько. Ідея полягає у постачанні робочого програмного забезпечення в кінці кожного спринту (одна частина системи може вміститися в один спринт, чи ні). База даних може розглядатися як робоче програмне забезпечення тоді і лише тоді, коли база даних є тим, що ви доставляєте замовнику.

Однак проект, над яким я працюю, потребує бази даних, і база даних повинна бути майже функціональною, щоб зробити щось із проектом.

Чому він повинен бути майже функціональним? Чи використовує кожна функція системи весь або більшу частину вмісту бази даних? Тому що якщо цього не відбувається, немає сенсу заздалегідь розробляти всю базу даних.

Отже, як Agile проекти справляються з цим, почнете зі створення бази даних?

Agile не обробляє базу даних або дизайн системи. Це говорить про те, як керувати своїм проектом. Зважаючи на це, ви починаєте з ідентифікації всіх особливостей системи та внесення їх у відставання продукту. Тоді ви разом із власником продукту присвоюєте пріоритети функціям у відставанні. Після того, як ви зробите, ви починаєте користуватися функціями з відсталого та створюєте спринти (як правило, від 2 до 4 тижнів). Коли спринт закінчився, у вас повинна бути нова робоча функція в системі, яку можна доставити замовнику.

Як би ви це зробили, наприклад, якщо використовуєте Scrum, як би ви робили розповіді користувачів та тестували db.

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

Ви бажаєте зробити частини db в історії, яка також вимагає коду.

Так.

Agile аж ніяк не є срібною кулею для управління проектами, і при неправильному застосуванні може бути написано катастрофу. Спробуйте провести деякий час, читаючи про це (ви можете знайти безліч ресурсів тут або на stackoverflow), можливо, знайдіть когось, хто вже зробив спритність, і може допомогти вам досягти швидкості.


4

база даних повинна бути майже функціональною, щоб зробити щось із проектом.

Здебільшого помилковим.

Отже, як Agile проекти справляються з цим, почнете зі створення бази даних?

Порожня база даних, так. Потім додайте таблиці, як потрібно, щоб закінчити спринт.

як би ви робили користувацькі історії та тестували db?

Про що ви питаєте? Agile не має нічого спільного з дизайном бази даних.

Ви пишете історію.

Ви розробляєте рішення.

Ви створюєте таблиці та код.

Ви перевіряєте код.

Ви б хотіли робити частини db в історії, яка також вимагає коду?

Який ще вибір є? Усі спочатку БД? Це неможливо.

"Як користувач повинен мати можливість зареєструватися ...", ви створили таблицю користувачів у базі даних як частину цієї історії?

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

По-друге, ви створили б достатньо таблиць для реалізації історії.

Як Agile може допомогти вам створити базу даних?

Про що ви питаєте?

Agile - це управління проектами. Це не допомагає жодному дизайну.

Це просто допомагає розбити велику роботу на невеликі шматочки.


2

Добре спочатку дотримуйтесь поступовий підхід. Виберіть модуль, визначте його вимоги, позначте функціональність, націліть на функціональну область, а потім прийде моделювання, дизайн db, algos, коди і, нарешті, протестуйте його та повторіть процес.


2

Ваше запитання кричить антидіаграму розвитку AgileFall .

Що це? Зазвичай це організація, яка традиційно розробляє програмне забезпечення методом Waterfall, але тоді, оскільки вони розуміють, що це не працює, вони всередині борються за прийняття Agile методів. Отриманий "невдалий газ" зазвичай виникає тому, що справжня Agile ПОТРІБНУЄ фундаментальну організаційну структуру від того, як структуровано багато створених магазинів водоспадів. І, звичайно, вони прагнуть залишатися структурованими таким чином, оскільки багато потужних і досвідчених людей відчувають, що їм потрібно вкласти себе в цей процес, коли Agile покаже, наскільки ці люди марні НАДАЛЬНО для розробки програмного забезпечення.

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

Почніть з доменної моделі для розповіді користувача, і пройдіться до бази даних, а ВНИЗ до середнього рівня та презентації.


Так, я бачу більшість відповідей на це, і я навіть щось зрозумів під час написання запитання. Не хвилюйтесь щодо AgileFall, це здебільшого тестовий проект, де я випробовую методи та зразки, щоб дізнатися, як вони працюють, а не серйозний проект.
Ingó Vals
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.