Лучше всего начать с нескольких простых историй или даже списка требований того, что может делать приложение. Оттуда вы можете подумать о том, какие классы вы хотите использовать и как они будут взаимодействовать друг с другом.
Мне нравится создавать различные пакеты, которые я планирую использовать, и помещать туда классы-заглушки. Вы можете даже заглушить методы, если хотите, и добавить комментарии Javadoc.
Я бы не стал слишком сильно беспокоиться о том, чтобы попытаться спланировать его точно, так как он, скорее всего, изменится, когда вы его построите, поэтому даже если вы получите его просто идеально во время разработки, меняющиеся требования или что-то не работает как вы и думали, все может измениться. Хорошая вещь в такой структуре скелета состоит в том, что, как только вы будете готовы писать код, вам нужно просто начать заполнять тела методов.