Начинаю с мокапов экранов на бумажке, чтобы понять, что именно я собираюсь делать.
Потом делаю прототип, почти без логики, в основном вьюшки с захардкожеными данными.
Становится понятно, что за сущности мне будут нужны.
Берусь за MVP, т.е. превращаю прототип в рабочее приложение, т.е разбиваю вьюшки прототипа на компоненты, добавляю модели, слой логики, привожу в порядок структуру приложения.
Дальше "наращиваю мясо" на MVP, пока не наберётся критическое количество изменений, потом делаю большой рефакторинг, после - "релиз".
Мне нравится книга «Getting Real» от 37 signals, бесплатная, вроде уже перевели.