Реальность такова, что нормально сделанное может уже быть не нужным через 1-2 месяца, а нужно что-то здесь и сейчас. Потому что возможно изначальные требования неверны и ждать ещё 1-2 месяца нереально. Проблема в том, что если делаешь новое, а не узел IoT или супер уникальный SBC, то иногда приходится перебрать несколько вариантов, а с учётом изменяющихся требований, потому что сам комплекс развивается и эволюционирует, приходится частенько менять дизайн.
Вот к примеру, как бы Вы коммутировали LiFePo батареи на 48В, 480 А*ч? Готовы с первого раза сделать дизайн, который будет надёжным и не гореть при отключении нагрузок по 200А, а также позволять осуществлять аварийное обесточивание? Подозреваю, что превым решением будет взять готовый ключ и прикрутить к нему релюшку, но при запуске возникнут масса казалось бы второстепенных вопросов как то: как обеспечить защиту от КЗ в коммутируемой цепи, как предотвратить пиковые токи при включении, как не дать нагрузке, коей являются электромоторы, спалить себя при переключении на рекуперацию, как ко всему этому впоследствии подключить вторую батарею да так, чтобы они не пытались зарядить друг друга. А батарея нужна здесь и сейчас, чтобы моторчики закрутились, машина поехала и можно было проверять другие части системы. Вот и приходится поступаться принципами "не делать гуано" и решать проблемы здесь и сейчас, макетируя, склеивая отдельные куски воедино, находя и исправляя ошибки, и двигаться дальше в поисках новых ошибок.