Как научиться объяснять?
Есть волшебный метод, который называется "декомпозиция". Мои наблюдения говорят, что 80% людей им просто не владеют.  От слова -  вообще. Ни в профессиональной, ни в обыдиной жизни. Но вот те, кто объясняют доходчиво -  владеют им виртуозно.
Заключается он в следующем. Если надо что-то объяснить, и это что-то чуть сложнее таблицы умножения (но и ее кстати тоже), задачу можно всегда разбить на части, из которых компонуется готовое решение. Вы должны на первой "итерации" объяснить ответ "с птичьего полета",    как последовательностей этих самых подзадач, без углубления в детали, без подробных выкладок, что называется - "на пальцах". Причем, конечно, на языке понятном и воспринимаемом партнером.  Когда (и если) он поймет вашу идею, поймет шаги  -  начинаете углубляться в объяснение конкретных подзадач. Вот тут уже начинаете использовать меньше "его" терминов, больше "своих".  В какой-то момент он начинает сам понимать и самостоятельно додумывать решения.  Тогда переходите к следующей подзадаче. Конечно, каждую подзадачу часто можно (а иногда - для очень сложных задач -  и нужно) декомпозировать дальше. И так до того момента, когда вы можете объяснить полностью. 
Тогда вы и сами понимаете "roadmap" вашего объяснения, не теряете нить рассуждений и не сбиваетесь, и партнеру легче выстраивать "цепочку понимания", следя за ходом объяснения и сразу понимая, где именно он перестал улавливать мысль.  Разумеется, при этом очень важно, что-бы собеседник был заинтересован в том, что-бы получить от вас объяснение, а не просто спросил чтобы "а поговорить".
Научиться рассказывать можно, но и слушатели должны уметь понимать что им сказали. 
Если сложность с объяснением или пониманием какого-либо алгоритма/архитектуры и т.п., то проще нарисовать и показать.