Чаще всего ИТшники как раз все умеют. И очень хотят сделать все хорошо.  Но им не дают. Потому что над каждым ИТшником есть менеджер. А у менеджера есть сроки и деньги. И как правило сроки невозможные, а деньги маленькие. То есть чтобы сделать качественно, нужно, например, 20 человеко-месяцев.   Но деньги выделены только на 3 специалистов и на 3 месяца.  Как хочешь, бедный ИТшник, так и крутись. Но менеджер может быть скажет ему спасибо  (а скорее всего и этого не будет),  если ИТшник будет работать за зарплату по 15 часов в сутки. Потому что у  ИТшника, с одной стороны совесть, которая не позволяет делать ерунду. А с другой страх недовольства со стороны менеджера, если он не сделает нужную работу в срок.  Но 15 часов человек все равно долго не протянет. Поэтому там недоделка, тут недоделка.. Лишь бы работа была принята менеджером со стороны заказчика. А менеджер со стороны заказчика тоже понимает, что ему важно результат принять в срок. У него от этого тоже премии зависят. Поэтому он закроет глаза на недоделки.  Поэтому ИТшнику ничего не остается, как смириться с этими недоделками... хотя спится ему плохо, и своей работой он не гордится.И спасибо, что это всего лишь программа, от плохой работы которой никто не умрет.  Намного хуже, когда такая же ситуация при проектировании зданий или ремонту рельс в метро.   (помните, как рухнул аквапарк? И как поезд метро вошел в стену?.  Так вот там было то же самое, скорее всего. Только с человеческими жертвами. И всем все равно без разницы.. )