Я унаследовал множество веб-проектов, которые испытывали высокие показатели роста разработчиков. Иногда эти веб-проекты представляют собой ужасное лоскутное одеяло решений для групповой помощи. В других случаях они могут быть несколько поддерживаемыми мозаиками из полупрозрачных элементов, каждый из которых построен с другим архитектурным стилем. Каждый раз, когда я наследую эти проекты, я бы хотел, чтобы предыдущие разработчики могли объяснить мне, почему все стало так плохо.
Меня озадачивает реакция владельцев (менеджера, компании среднего человека или клиента). Кажется, они думают: "Хорошо, если ты уйдешь, я найду другого разработчика, потому что ты расходуешься". Или они думают: "О, это стоит столько денег, чтобы реорганизовать систему? Я знаю другого разработчика, который может сделать это за половину цены. Я нанял его, если я не могу позволить себе". Я предполагаю, что высокая скорость развития разработчика связана с менталитетом владельца: "Мои идеи всегда отличные, и если вы не согласны, я найду другого (возможно, более дешевого) разработчика, который согласен со мной и сделает что я хочу". Для владельцев подход, похоже, работает, потому что их бизнес процветает. К сожалению, это не забавно для разработчиков, потому что они проходят AWOL через 3-4 месяца работы с плохим кодом, строгими сроками и недостаточной обратной связью с клиентом.
Итак, мой вопрос следующий:
Являются ли следующие симптомы проекта действительно такими плохими для бизнеса?
-
высокая скорость перехода разработчика
-
плохо построенная технология - часто это лоскутное одеяло разных и неуправляемых архитектурных стилей
-
владельцы без четкой дорожной карты для своего веб-проекта, и они запрашивают функции по прихоти
Я видел, как многие компании процветают с симптомами выше. Итак, как программист, хотя мои инстинкты говорят мне, что приведенные выше пункты ужасны, мне нужно сделать шаг назад и спросить: "Неужели это так плохо в великой схеме вещей?" Если нет, Я буду переоценивать свой подход к этим проектам. Я занимаюсь разработкой долгосрочных решений или решений для групповой поддержки?
** В связи с тем, что эта должность закрыта как не связанная с программированием, я бы хотел утверждать, что я думаю, что это связано с программированием, потому что ответы на этот вопрос будут влиять на то, как разработчик подходит к проекту. Он будет лучше понимать, как далеко он должен планировать свое развитие (т.е. Строить краткосрочное или долгосрочное решение), зная, что он может уйти в любой момент.