Вообще говоря, проектирование больших систем - это целый большой раздел науки/технологии программирования, который довольно отчетливо выделяется из программирования вообще, мало зависит от других разделов и интенсивно развивается. Существуют разные подходы и разные более-менее устоявшиеся технологии, даже стандартные технологические процессы. Используются специальные интеллектуальные инструменты (см. напр. UML) и соответствующие программные инструменты. Существует, активно используется и развивается множество типовых проектных решений для разных случаев жизни - шаблоны (aka паттерны) проектирования, знание и использование которых которых ускоряет процесс и снижает вероятность неудачных решений - см. напр. Гамма, Хелм и др. - "Приемы объектно-ориентированного проектирования - паттерны проектирования". Существуют различные подходы в организации самого процесса проектирования. Эта наука (проектирование программ) близко лежит к организации бизнеса, используется много общих подходов (в частности, в проектировании бизнес-процессов используется BPML - родной брат UML)
Так что в два слова ответить на ваш вопрос трудно. Думайте, рисуйте схемы, погуглите, почитайте что-то по этим темам (хоть с википедии начните -
https://ru.wikipedia.org/wiki/UML), пытайтесь что-то хотя бы частично в своей работе использовать.
С этими темами познакомиться хотя бы поверхностно следует любому программисту, ну а если вы планируете профессиональную карьеру - так более-менее хорошо их знать - просто обязательно.