Новичок в Agile, и я не уверен, как начать.
После прочтения вашего поста, я думаю, вы его неправильно поняли, и вам следует начать с чтения того, что на самом деле означает Agile и пытается его достичь.
Идея заключается в создании небольших частей проекта в спринте.
Близко, но недостаточно близко. Идея состоит в том, чтобы доставить работающее программное обеспечение в конце каждого спринта (одна часть системы может вписаться в один спринт или нет). База данных может рассматриваться как работающее программное обеспечение, если и только если база данных - это то, что вы предоставляете клиенту.
Однако для проекта, над которым я работаю, требуется база данных, и база данных должна быть почти функциональной, чтобы что-то делать с проектом.
Почему он должен быть почти функциональным? Использует ли каждая функция системы весь или большую часть содержимого базы данных? Потому что, если это не так, нет смысла заранее проектировать всю базу данных.
Итак, как Agile проекты справляются с этим, вы начинаете с создания базы данных?
Agile не обрабатывает базу данных или дизайн системы. Он рассказывает вам, как управлять своим проектом. Имея это в виду, вы начинаете с определения всех функций системы и помещаете их в список продуктов. Затем вы вместе с владельцем продукта назначаете приоритеты функциям, находящимся в очереди. После того, как вы это сделаете, вы начнете извлекать функции из бэклога и создавать спринты (обычно от 2 до 4 недель). Когда спринт заканчивается, у вас должна быть новая рабочая функция в системе, которая может быть доставлена клиенту.
Как бы вы это сделали, например, если бы использовали Scrum, как бы вы делали пользовательские истории и тестировали БД.
Я могу ошибаться, но нет смысла тестировать базу данных. Вы можете проверить код, который обновляет базу данных. Конечно, вы можете протестировать свою программируемую часть базы данных, но этого можно достичь, протестировав код, который ее вызывает.
Вы бы предпочли сделать части БД в истории, которая также требует кода.
Да.
Agile ни в коем случае не является серебряной пулей для управления проектами и может привести к катастрофе, если не применяется правильно. Постарайтесь потратить некоторое время на чтение об этом (вы можете найти много ресурсов здесь или в стеке), возможно, найти кого-то, кто уже работал гибко и может помочь вам набрать скорость.