В ознаменование окончания рабочей недели, хотелось бы спросить ваше мнение по такому поводу - почему почти все ПО говно!
Везде же работает куча вроде бы умных и хороших программистов. Все вроде знают code convention и паттерны проектирования. Все рассуждают об хорошем дизайне и архитектуре приложений. При работе используются умные IDE, которые исправляют совсем уж тупые ошибки вроде опечаток или попытки вызвать метод у null объекта. Пишутся юнит-тесты. QA команда тестирует не покладая рук. Во всю используются всякие модные Agile и Canban.
И все равно при этом, приложения не работают нормально - все глючит и тормозит. Реализация новых фич это чаще всего прикручивание подпорок и костылей рядом с домом. Правки в исходном функционале есть ад, заставляющий пробираться через сотни слоев абстракций и фабрик. А еще любые правки могут привести к тому, что все развалиться как карточный домик.
Почему в разработке все так хреново? И только ли в программировании все так хреново? Я имею в виду - не укладываются в сроки, превышение бюджета и прочие такие штуки?