Если клиенты довольны, вы делаете что-то правильно. Многие люди наслаждаются хот-догами, не зная, как их делают ...
Если приложение является хорошим решением проблемы, но вы беспокоитесь о том, что основа неисправна, выясните, как постепенно улучшать ситуацию, и составьте план реализации этих улучшений при обновлении продукта. Инкрементальное является ключевым: если вам не терпится переписать все его части, ваш менеджер по праву скажет, что это неразумно. Идеальный может быть врагом хорошего. Посмотрите историю jwz о том, как Netscape позволил IE взять на себя инициативу, потому что им «пришлось» переписать Navigator.
Если пользовательский интерфейс приложения сам по себе беспорядок, клиенты все равно могут быть довольны, потому что они сравнивают его с «трудным путем», и даже глючная программа может быть намного лучше, чем эта. Вы сравниваете его с идеалом, который вы можете себе представить из-за своего опыта и навыков. Опять же, подумайте, как вы можете улучшать вещи постепенно, и представьте это как часть плана.
Не переставайте заботиться: вы хотите, чтобы ваша работа была лучшей, какой только может быть. Но помните также, что клиент оплачивает ваши счета, и вы пишете программное обеспечение для них, а не вы.