Около 3 месяцев назад наш ведущий веб-разработчик и дизайнер (одно и то же лицо) покинули компанию, причиной ухода стали более зеленые пастбища. Хорошо для них, говорю я. Моя проблема в том, что его отдел был полностью без документов. С тех пор, как ушел лидер, все было непросто, есть много знаний, как теоретических знаний, которые мы используем для цитирования новых проектов, так и технических / практических знаний о наших существующих продуктах, которые мы потеряли в результате его ухода. Обычно я работаю менеджером по продуктам (для самих наших продуктов) и бизнес-аналитиком в некоторых наших консультационных проектах. За прошедший год я научился программировать и стараюсь продолжать двигаться вперед. Мы взяли на себя задачу настроить свой ноутбук как машину для разработки, надеясь реализовать некоторые из более простых запросов функций и исправить некоторые несложные ошибки, которые поступают в нашу систему продажи билетов. Но никто не знает, как взять новую машину с Windows и настроить ее для бесперебойной работы с нашими производственными приложениями.
Я попросил моего босса, который все еще поддерживает связь с оставшимся разработчиком, попросил их задокументировать и создать процесс для добавления нового разработчика, установки программного обеспечения, необходимых пакетов, процесса развертывания на серверах производственных приложений и т. Д. это существует, и я вращаю свои колеса, пытаясь заставить мой компьютер работать как машина функционального развития. Но она, похоже, не понимает необходимости существования такого процесса. Очевидно, новый разработчик, который заменил того, кто ушел, использовал машину, предварительно настроенную для нашей среды, поэтому даже новый разработчик не смог настроить новую машину, если мы добавили другого разработчика.
Мой вопрос состоит из двух частей:
Я ошибаюсь, если предположим, что должен существовать процесс, позволяющий встроить и настроить новый компьютер как часть нашей экосистемы разработки?
Являюсь ли я маленьким ребенком и должен ли я разобраться в этом процессе и создать документ самостоятельно?
источник
Ответы:
Прежде всего, странно, что разработчик должен настроить рабочую среду. Эта задача обычно для системного администратора (ов). Таким образом, принимая во внимание, что это совсем не то, что вы должны делать, вы имеете право ожидать, что кто-то другой сделает это за вас.
В большинстве (если не во всех) компаниях есть период уведомления. Обычно она колеблется от недели до месяца. Но в любом случае этого времени достаточно для того, чтобы человек, уходящий, помогал компании _ составлять некоторую документацию, добавлять комментарии к коду, документировать архитектуру и т. Д. Боюсь, уже слишком поздно делать это сейчас, но не забывайте об этом в следующий раз кто-нибудь уйдет.
Вы абсолютно правы, ожидая, что должен быть процесс настройки новой среды. На самом деле, если ваша компания растет и у вас появляется больше разработчиков, вы столкнетесь с той же проблемой - это может быть серьезным аргументом, чтобы убедить вашего босса. Вы даже можете использовать аргумент, чтобы убедить руководство нанять системного администратора для таких задач (я предполагаю, что у вас его нет, поскольку вы столкнулись с проблемой). Помимо настройки среды разработки, если у вас есть новая машина, она должна быть интегрирована в локальную сеть и т. Д.
источник
Нет. Наличие этих процессов позволит избежать проблем, с которыми вы уже столкнулись. В некоторых крупных организациях существует стандартный образ диска, на котором должна выглядеть машина разработчика. Когда нанимается новый разработчик, доступный компьютер с правильными аппаратными характеристиками стирается и переизображается с использованием этого образа диска «разработчика». За стандартным контрольным списком (иногда включающим установку программного обеспечения после создания образа для определенных инструментов, не включенных в образ) следуют технические специалисты, которые делают это, чтобы гарантировать, что все машины разработчика запускаются одинаково (пользователи могут настраивать и изменять их после получения их - на свой страх и риск!).
Аналогично, некоторые приложения с заведомо сложной настройкой имеют документы, объясняющие новым разработчикам, как проверить код, настроить сервер, а также собрать и развернуть приложение локально. В одном приложении даже есть сценарий установки только для рабочих станций, чтобы упростить этот процесс.
Да, но только немного. Одно дело сказать, что все это должно было быть задокументировано давно, и ушедший разработчик должен был сделать полную передачу знаний за дни замены (или недели, если это возможно), прежде чем уйти. Похоже, ничего из этого не произошло, и все равно в прошлом.
И что теперь? Я сомневаюсь, что разработчик, который ушел, окажет большую помощь. У них уже есть новая дневная работа, и кто знает, чем они заняты в своей собственной жизни. Я сомневаюсь, что есть какие-то юридические основания, которые ваш менеджер мог бы использовать, чтобы заставить их помочь. Было бы хорошо, если бы они потратили несколько часов своего времени, чтобы ответить на некоторые вопросы, но не рассчитывайте на это. Похоже, вы застряли, выясняя большинство из них для себя. Это дает вам возможность тщательно документировать правильный процесс и правильно его понять. Те, кто следит за тобой, поблагодарит тебя за это! Удачи!
источник
Перво-наперво, вам нужно выйти из Visual SourceSafe. Я думаю, что это должно быть сказано. По крайней мере, перейти на TFS. И есть и другие варианты.
Теперь, когда это не так. Я думаю, что это тот случай, «если вы хотите, чтобы все было сделано правильно ...» Ваша конечная цель должна состоять в том, чтобы разработчик мог включить свою только что установленную машину, подключиться к источнику, получить последнюю версию, нажать клавишу f5 (или то, что вы используете для своих целей. запустить ярлык приложения) и иметь работающее приложение.
Один из вариантов - создать рабочую среду с нуля и использовать ее в качестве базового образа разработчика. Когда появляется разработчик, все, что вам нужно сделать, это развернуть этот образ на своем компьютере, и он должен работать.
Есть несколько книг о том, как перевести ваше окружение в более непринужденное состояние. Мне самому нравится Непрерывная доставка и Непрерывная интеграция из серии Фаулера, но есть и другие варианты.
источник
Когда я начал свою текущую работу, у нас была документированная процедура настройки ПК для разработчиков.
Я следовал за процедурой самостоятельно, решительно избегая «помощи» существующей команды.
(Знания должны быть отражены в документе, а не разработчик, который был самым длинным.)
Я пометил процедуру изменениями красной линии там, где она была неправильной или неполной, и через неделю у меня было две вещи: сработавшая процедура и работающий компьютер для разработки.
Через год после сбоя жесткого диска на восстановление потребовалось 2 дня.
Скажите своему боссу: если жесткий диск выйдет из строя на этом компьютере, развитие не произойдет!
Я решил, что 2 дня были пустой тратой двух дней ....
Теперь мы используем виртуальные машины с образами дисков для каждого проекта разработки.
Программа установки копирует образ виртуальной машины на целевой компьютер и запускает его. Есть значок «runme», по которому вы щелкаете. Он запрашивает ваше имя пользователя, а затем изменяет имя пользователя, используемое для доступа к исходному коду, на ваше собственное. Это также изменяет пустое поле автора документа IDE на ваше имя.
(Я написал runme примерно через 2 часа, мы разработчики, мы программируем наши проблемы)
Наши разработчики - стандартные машины, за исключением сервера виртуальных машин.
Мы используем virtualbox, который не дорогой.
Использование виртуальных машин делает замену машины легкой задачей за 20 минут . Эта задача была бы быстрее, если бы у нас был гигабитный Ethernet для копирования виртуальной машины.
Полное понимание: я руководитель группы, в которой я работаю, и мое руководство дает мне полную свободу действий.
источник
Должна быть некоторая документация о том, какое программное обеспечение требуется для компиляции и запуска приложения.
Также должна быть документация с описанием того, что требуется клиентской машине для запуска приложения.
Они не тот же список.
Если бы ваша компания наняла нового разработчика, как долго они могли бы начать писать код? День? Неделя? Не зная, какое программное обеспечение требуется для компиляции кода, это может быть процесс проб и ошибок, который может занять некоторое время. Но это должно быть только то, что нужно сделать один раз.
У меня вопрос, что делает новый разработчик? Это должна быть его работа, а не ваша. Он замена другого парня. Да, отстойно, что он вошел в среду без документации, но его задача - документировать вещи. Пусть он сядет, выяснит, что такое среда разработки, и задокументирует ее. Заставьте его выяснить и задокументировать, что требуется для запуска приложения на клиентском компьютере.
Что касается связи со старым разработчиком, я бы не стал. ИМХО, если разработчик покидает компанию без документации или передачи знаний, он надеется, что его вызовут для выполнения какой-то работы по ставке консультирования. Это непрофессионально и не должно быть вознаграждено. Да, может потребоваться дополнительное время, чтобы выяснить это для себя, но вы / команда узнаете кое-что в процессе, и произведенная документация будет актуальной и актуальной.
источник