Грустная вавилонская башня
Много тут историй появилось про то, что софт неудобный. Некоторые пытаются привести аргументы, почему так вышло. Только это всё следствия. Как давно было сказано, рыба гниёт с головы. А в терминах разработки софта голова — это проджект-лид и архитектор. Только вот всё больше так называемых архитекторов, видимо, обучают на факультете «Возведение конструкций любой этажности из говна и веток». Многие не знают архитектуру проекта в целом. Большинство не знает и архитектуру отдельных блоков проекта. Это, по мнению многих «специалистов», waste.
Проджект-лиды озабочены выполнением процессов, скопированных у тех, кому методология помогла, зачастую без учёта собственной специфики и существующих процессов. Получасовые скрам-митинги из 15 человек, где каждый в красках описывает, как он ковырял в носу или выбирал себе цацки на Amazon. Проджект-лиды, заинтересованные только в том, чтобы таски в Jira были закрыты вовремя, без учёта качества работы. Что бы тест-кейсы были «зелёными» без учёта качества этих самых тестов. Юнит-тесты, состоящие из одной строчки «ОК».
Любые попытки рефакторинга существующего архитектурного шедевра из упомянутых материалов воспринимаются в штыки. Ведь в это было вложено N человеко-дней, и оно пока работает. Разработка любого более-менее комплексного решения сложна не сама по себе, а из-за навязанных процессов, которые мало кто понимает, но все обязаны соблюдать. Согласования, пересогласования, уточнения, переуточнения… Количество времени, которое расходуется на следование новомодным технологиям, зачастую многократно превышает время на разработку архитектуры или модификации и кодирования.
Современные софтверные компании довольно поверхностно относятся к тестированию того, что производят. К примеру, компания, которая разрабатывала софт для аппарата по переливанию крови, даже не имела в штате тестировщика. Тестированию редко учат в институтах, тестированию крайне сложно научиться без практики, поэтому хороших тестировщиков мало. А если не тестировать продукт, то и результат будет ровно такой, какой мы каждый день видим на своих мониторах.
Непрофессионалы — на всех уровнях этой грустной вавилонской башни. Дизайнеры интерфейсов либо не читали гайдлайны никогда, либо их знания поросли мхом и сожраны мозговыми слизнями. Видеть GUI, целиком состоящий из bad practices, — норма. Зато работа выполнена в срок. Код, целиком состоящий из гнилых костылей и копируемый из проекта в проект, поскольку «он же работает»; постановки задачи «сделайте, шоб работало, и хорошо!»; разработчики, даже примерно не представляющие себе предметной области, — это всё норма современного софт-девелопмента.
Но ведь у всех таски закрыты, тесты пройдены и баг-трекер чист. Никто не виноват, наверное.