Gudleifr> Нет, это закономерный уход автоматизации в виртуал. "Современный программист", думает, что если он выучил основы SQL и пару типовых правил, то все будет хорошо, пока он не ошибется...
Сразу видно что ты никогда в этой сфере не работал и не знаешь, как на самом деле выглядит процесс разработки ПО. Разработка ПО начинается с написания и согласования техзадания, над которым с одной стороны работают заказчики, которые ставят задачу что им надо автоматизировать и как они это видят, а с другой - аналитики, которые с одной стороны в теме вопроса, который нужно автоматизировать, с другой - на достаточно продвинутом уровне знают имеющиеся на предприятии автоматизированные системы и их возможности, а так же пределы возможностей разработчиков ПО, и соответственно понимают как эти хотелки можно реализовать и в каком объеме, а так же могут эти хотелки на базовом уровне алгоритмизировать и представить на понятном разработчикам языке. Далее к разработке ТЗ подключается архитектор. Он в голове держит картину в целом. Не только эту конкретную задачу, а как работает вся система автоматизации предприятия в целом, как разные ее базы и программы взаимодействуют, как ходит информация между ними и где и на чем выполняемая задача может отразиться и выйти боком. Причем держит в голове не только текущую картину, но и то, как будет система развиваться и меняться в будущем. И вот вся эта тесная компания бодаясь и совещаясь между собой в конце концов вырабатывает какое-то компромиссное ТЗ, которое вроде и реализовать программно можно, и пользователи согласны работать именно так, как оно будет сделано. И в обязательном порядке утверждается и рабочий процесс, как будет работать пользователь и что и каким образом и в каком порядке он должен заносить в компьютер, который отражается в должностных инструкциях пользователям. Разработка ПО и разработка и регулирование рабочих процессов и должностных инструкций - это два тесно и неразрывно связанных между собой процесса и одно в отрыве от другого существовать не может. И только потом, когда будет сформулировано базовое ТЗ, к этому процессу подключаются собственно разработчики, которые будут писать код. И там тоже могут быть вопросы уже с их стороны, что какой-то ньюанс ТЗ технически очень сложно или может быть даже невозможно реализовать из-за ньюансов того, как написан предыдущий код, и процесс изменения и согласования ТЗ может пойти по новому кругу. И да, даже несмотря на все это если поставленная задача достаточно сложная и объемная, то спустя некоторое время после ее выполнения и внедрения всплывает какая-нибудь хрень, которая раньше никому в голову не приходила и ее не учли, а в жизни пользователи работают именно так и это ставит систему раком. Это тоже часть работы, допиливаем и исправляем. Это как с самолетом который если новый, то на нем поначалу будут часто всплывать какие-то детские болезни, на которые на этапе разработки не додумались обратить внимание.
Работа программиста не выглядит так, что написал, и все шикарно работает. Она выглядит скорее так:
1. Написал - не работает. Разобрался почему не работает, исправил - заработало
2. Прогнал по тестам. Выяснилось что работает неправильно. Исправил
3. Внедрил. Заработало
3.1 А бывает что и нет. Получил люлей. Исправил
4 Спустя n-ное количество дней работы пользователи обнаружили ошибку или придумали такой способ использования разработки, что никому и в голову не приходило что кто-то будет так работать. Тут уже могут быть варианты: либо исправляем учитывая новые вводные, возможно параллельно меняя рабочий процесс, либо др..чим пользователей, что так делать нельзя и добавляем по возможности блокировки, чтоб в принципе не позволять это делать. А может вообще в новую разработческую задачу с новым ТЗ это вылиться.
По кажому пункту может быть несколько итераций. И это не значит что программисты плохие. Просто процесс разработки ПО - он именно такой, через согласования, выявление ошибок и ранее не выявленных затыков и ньюансов.
Это сообщение редактировалось 21.01.2022 в 05:44