New to agile and I'm not sure how to start.
Dopo aver letto il tuo post, penso che tu lo stia fraintendendo e dovresti iniziare a leggere ciò che veramente agile significa e cerca di realizzare.
The idea is to create small parts of the project in sprints.
Chiudi, ma non abbastanza vicino. L'idea è di fornire un software funzionante alla fine di ogni sprint (una parte del sistema può essere inserita in uno sprint o no). Il database può essere visto come un software funzionante se e solo se il database è ciò che si consegna al cliente.
However the project I'm working of requires a database and the database must be almost functional to do anything with the project.
Perché deve essere quasi funzionale? Ogni caratteristica del sistema utilizza l'intero o la maggior parte del contenuto del database? Perché se così non fosse, non ha senso progettare l'intero database in anticipo.
So how do Agile projects handle this, do you start by creating the database?
Agile non gestisce la progettazione del database o del sistema. Ti dice come gestire il tuo progetto. Con questo in mente, si inizia identificando tutte le funzionalità del sistema e inserendole nel backlog del prodotto. Quindi, insieme al proprietario del prodotto, assegna priorità alle funzionalità nel backlog. Dopo averlo fatto, inizi a prendere funzioni dal backlog e crei sprint (di solito da 2 a 4 settimane). Quando lo sprint è finito, dovresti avere una nuova funzione di lavoro nel sistema che può essere consegnata al cliente.
How would you do so, for example if using Scrum how would you do the user stories and test the db.
Potrei sbagliarmi, ma non ha senso testare il database. È possibile verificare il codice che aggiorna il database. Naturalmente, è possibile testare la parte programmabile del database, ma ciò può essere ottenuto testando il codice che lo chiama.
Would you rather do parts of the db in a story that also requires code.
Sì.
Agile non è affatto un proiettile d'argento per la gestione dei progetti e può significare disastro se non applicato correttamente. Prova a passare un po 'di tempo a leggerlo (puoi trovare molte risorse qui o sullo stackoverflow), magari trovare qualcuno che ha già fatto agilità e può aiutarti a migliorare la velocità.