Diciamo che stai lavorando sotto Scrum e hai una storia che descrive molto chiaramente, molto probabilmente in BDD, ciò che è richiesto come una nuova funzionalità nell'applicazione.
Diciamo anche che, come sviluppatore, hai abbastanza chiarezza per iniziare a scrivere il tuo codice lato server.
Inoltre, non conosci la lingua, la piattaforma, le API o forse, semplicemente, sei indeciso sul comportamento specifico del funzionamento interno delle classi da costruire (non leggere questo come incompetente, appena nuovo per la piattaforma, per esempio).
Considerato quanto sopra, è appropriato iniziare a costruire i test prima (TDD) o è valido iniziare a elaborare la logica di ciò che deve essere costruito per primo, nel codice.