Вы решили создать собственный десктоп-продукт — будь то утилита для управления складом или приложение для внутреннего документооборота. Поначалу кажется: установил среду разработки, скачал пару библиотек и готово. Но уже через пару дней вы понимаете, что неправильно разделили логику на модули, забыли про обработку ошибок и не учли, как обновлять программу на компьютерах клиентов. В итоге вместо запланированных функций вы получаете хрупкую «болванку», которую опасно запускать в продакшен, и бесконечный список доработок.