У вас по каким-то причинам возникла идея сменить текущего программиста на проекте. По каким-то причинам он вас перестал удовлетворять:
В этой статье будем разбирать вопросы касательно смены разработчика на проекте, что необходимо сделать заранее и почему смена программиста - это не всегда хорошая идея.
Для начала нужно определиться - точно менять или нет. Зачастую проблема не в программисте, а в ожиданиях.
Тыжпрограммист - это выражение появилось не просто так.
Оно означает, что на технаря вешают абсолютно все - разработка ТЗ, замена картриджа, обслуживание серверов, создание сайта и т.д.
Если вы из таких руководителей - то вероятно проблема в вас, а не в вашем программисте.
В каким случаях вы НЕПРАВЫ:
Все это примеры проблемного руководителя проекта (со стороны заказчика), а не программиста.
Если вы узнали здесь где-то себя, то лучше подумать, как сделать свои методики работы на проекте более эффективными.
Когда программиста с большой долей уверенности нужно убирать с проекта:
Как повлияет уход программиста из проекта на сам проект?
Потеря программиста - это не просто выход одного человека. Это системным образом влияет на проект:
Также неплохой идеей будет привлечение стороннего специалиста для того, чтобы понять качество работ текущего программиста. Он может посмотреть код и сказать свое мнение о вашем подопечном.
Тут важный момент - требуйте от специалиста конкретики. Не просто "че-то он не то пишет", а что конкретно хорошо или нехорошо он делает в коде. Это крайне важный момент. Нам интересно не впечатление, а конкретные аргументы за и против. Это не фигурное катание с оценками, а вполне объективно оцениваемая область по фактам.
Также нужно привлекать независимого и незаинтересованного специалиста. Если у него есть интерес возможной подработки, то велик соблазн "Все плохо, давайте я вам заново сделаю как надо". Именно так и будут действовать продавцы от разработчиков. Привлекайте человека, который будет точно знать, что он не будет работать в этом проекте.
При принятии решения о смене разработчика трижды подумайте - нужно ли вам все эти дополнительные сложности по смене программиста и насколько это целесообразно для целей проекта.
Итак, считаем, что вы приняли все же решение менять программиста на проекте. Очень важно заранее подготовиться к данному изменению в проекте.
Что необходимо учесть перед уходом разработчика?
Если у вас нет исходного кода вашей программы, то вероятно вы не сможете развивать свой проект, исправлять ошибки и т.д.
У вас в любой момент времени должен быть доступ к исходному коду. Также необходимо периодически делать копию, недоступную разработчикам. Это убережет вас от возможных "террористов", которые со своим уходом уничтожают все данные проекта (то, что бывают "неадекваты", думаю, все знают).
Не один раз сталкивался с такой ситуацией, когда заказчик не знает даже технологии, на которой написан его сайт. Это очень плохая ситуация. По сути ваш проект, а надеяться нужно на волю случая, и при первом серьезном шторме проект просто разобьется о скалы.
Обязательно должна быть документация администратора и документация программиста.
Дока программиста даже важнее, т.к. если не описаны нюансы разработки, то очень сложно будет все это воспроизводить по исходному коду.
Это крайне важный момент, который снижает риски для проекта. Если вы по-доброму расстаетесь с человеком, у вас есть следующие позитивные моменты:
Если вы расстаетесь по-плохому, то вы вероятно сэкономите 50-100 тыс руб, но при этом теряете все плюсы, обрезаете возможные будущие контакты и повышаете риски проекта (вредительство, плохая молва).
В идеале всегда иметь список из 3-10 человек, которые потенциально могли бы влиться в ваш проект. И постоянно пополнять его. Чем больше у вас подобных кандидатов, тем выше шансы, что вы не останетесь с мертвым проектом.
При этом важно их проверять и знать, что они точно в состоянии поддерживать ваш проект. Ведь кандидат может быть хорошим парнем, но не подходить по технологиям, уровню навыков, размеру ЗП и т.д.
Создавайте такой список заранее, а не когда вам уже нужно искать замену.
Имеет смысл подумать над причинами увольнения человека. Если это просто "Свободен" без всяких объяснений, то это может сильно обидеть. А обиженный программист нам никак не нужен.
Исключение из проекта по необъективным причинам создает также плохую среду и для существующих людей.
Если все решается просто волей руководителя-идиота без каких-либо объяснений, то каждый в команде разработчиков будет себя чувствовать неуютно.
Парадигма "я начальник, ты дурак" в принципе не может работать в творческом коллективе с открытой системой (когда можно уволиться и найти другую работу).
Даже в замкнутой системе (когда нет выхода из нее, например, госкомпания + льготная ипотека) такой подход порождает апатию, непрерывный стресс и тихий саботаж. Поэтому убирать людей из проекта нужно только по объективным честным причинам. Помните, как о самом человеке, так и о тех, кто остается дальше работать в проекте.
Тут все просто. Лучше пароли, к которым имел доступ сотрудник заменить заранее. Особенно в случае, если исключение из проекта идет не совсем гладко, либо человек показывал ранее взрывной характер (а таких лучше вообще не брать - пусть себе взрывается и показывает свой крутой нрав и сложный внутренний мир где-то в другом месте).
Как только человек становится кандидатом на вылет из проекта, необходимо начать по нему более плотную работу: смотреть что и как делает, собирать по нему статистику и т.д.
Так вы лучше поймете, чем он занят на работе и как выполняет свои задачи. Возможно вы увидите, что он не так уж и плох, как казалось. Но если все плохо - у вас будет фактический материал для обоснования, а также вы проверите не было ли какой-то подозрительной вредительской деятельности.
Мы уже касались выше этого вопроса. Крайне не рекомендуется обижать программистов, особенно из-за мелкой выгоды.
Какие угрозы исходят от обиженного программиста:
Перейдем к конкретному алгоритму действий по выводу человека из проекта.
Первое
В целом ситуация со сменой разработчика - плохая. Это недоработка, в первую очередь, менеджмента.
Если человек настолько плох, что его нужно менять, как он вообще проник в вашу систему? Как вы так его проверяли и принимали? Зачем было столько ресурсов вбухивать в него, чтобы потом просто его отцепить от проекта. Просто ужасная ситуация. В идеале такой человек вообще не должен был появиться в проекте и его необходимо было "снять с трека" еще на этапе кандидата.
Второе
Расставайтесь всегда по-доброму. Всегда все выплачивайте, что положено человеку. Помогите ему найти новую работу. Напишите ему благодарственное письмо. Дайте ему понимание, что в будущем возможно еще поработаете с ним. Это не "игра в кота Леопольда", а прагматичный подход, позволяющий снизить риски и оставить хороший контакт на будущее.
Фраза "Ничего личного, только бизнес" имеет негативный оттенок. Часто ее употребляют в таком контексте: человек сделал какую-то очевидную гадость и оправдывается этим самым "бизнесом".
На самом деле эта фраза имеет очень правильный посыл. Ваш бизнес - это создание успешного и жизнеспособного проекта. Поэтому убирая из проекта человека, заслуживающего это, вы следуете целям и задачам своего проекта (а не утоляете голод своего эго над кем-то поиздеваться). Здесь нет ничего личного, здесь есть только фокус на цели вашего дела.
P.S. "А давайте все перепишем, а?". Иногда возникает идея все бросить и начать заново писать. В большинстве случаев это плохая идея. Если вы не сделали свою "работу над ошибками", если нет кардинальных улучшений в менеджменте, то скорее всего вы получите второй такой же проект.
Поэтому вместо полной переработки проекта, лучше подумать о полной переработке своих подходов к проекту.
Переписывать - не самый лучший вариант