http://geektimes.ru/company/asus/blog/260122/Цитата:
В разработке ПО одним из самых трудно усваиваемых правил является то, что с увеличением сложности продукта растут и скрытые издержки. Иногда сложность является лишь следствием каких-то иных проблем. Очень непросто найти баланс между «продающими» и «нагрузочными» свойствами продукта, особенно в свете определения его стоимости и регулирования спроса и предложения. Столь же трудно заниматься поддержкой качества продукта и расширять круг потребителей. Или, скажем, разработать текстовый редактор с богатыми возможностями, одинаково быстро и устойчиво работающий на всех устройствах и поддерживающий совместную работу над документами в реальном времени. Иными словами, зачастую приходится усложнять продукт, чтобы он стал успешным на рынке.
С другой стороны, нам зачастую приходится бороться со сложностью продукта, которую мы сами же и допустили. Скажем, написали приложение на языке, которым владеет очень мало сотрудников, и в будущем сталкиваемся с трудностями поддержки. Или внедрили новую, свежую технологию, которую очень захотелось попробовать, начитавшись обзоров, но выяснилось, что у неё есть ряд недостатков, о которых никто не подозревал. Или разработали новую функцию, которая нужна очень ограниченному числу пользователей, но на исправление багов в ней тратится непропорционально много времени и сил.