Программист или консультант

Программист или консультант

Консультант или программист? Кто лучше? Кто важнее? Кто нужен именно вам?

Эти вопросы возникают очень часто. Программисту, если задать такой вопрос, то он в большинстве случаев ответит, что он важнее и нужнее. Консультант в свою очередь будет утверждать, что с ним все же лучше, а иногда и вообще никак.

И будут правы оба. А мы с вами попробуем все же разобраться, когда лучше просто программист, а когда – консультант.

Ситуация1. Задача. К нам пришел клиент Василий. У него маленькая компания, в базе должны работать 2 пользователя. У клиента Василия «Управління невеликою фірмою». До этого он в этой программе не работал. Василию нужно показать, как работать с программой, какие настройки включить и какими документами можно реализовать его требования. Кроме этого Василию нужны небольшие доработки. В документе «Расходная накладная» сделать особенный пересчет цен в валюте. А еще он хочет отчет и еще ряд мелких вопросов.

Проблема. Мы попытались работать стандартным способом, принятым у нас в компании. Т.е. задачу от клиента приняла консультант. Она настроила базу, показала клиенту процесс ввода документов, как проверять и какими отчетами пользоваться. По доработкам консультант написала Техническое задание и передала на выполнение программисту. После выполнения работ консультант сдала работу клиенту. И так по каждой работе. Василий работу принимал и сразу же требовал выполнение следующей. При этом ему очень не нравилось, что в случае исправлений, ему нужно ждать, пока задачу дадут программисту, а не сразу исправляют. А в случае новой задачи, ждать ее оценки. Клиент не совсем удовлетворен.
Решение. В результате нам пришлось отступить от правил. Все доработки с клиентом обсуждались, выполнялись напрямую программистом. Там, где требовалось участие консультанта, а программист не мог сам решить, он попросту узнавал ответ и настраивал клиенту. Клиенту такой способ сотрудничества подошел.
Вывод. Для нас, как Исполнителей. Если клиенту комфортнее работать с программистом, то лучше предоставить на задачи, связанные с доработками, непосредственно программиста. Желательно опытного. Хотя тут есть риски, что в итоге хорошего программиста уведут.
Для Клиента. В этом случае клиенту проще было нанять программиста- фрилансера, который бы при каждой возможности делал им требуемые доработки. Хотя тут есть тоже риски, что работу не сделают или сделают часть, а от остальной откажутся. Все же договоренности с компанией дают некоторую безопасность.

Ситуация2.
Задача. У клиента Анатолия программный продукт «Управління виробничим підприємством». Они работают с нами и еще с одной IT-компанией. Ему требуется много доработок: новые документы, отчеты. Одна из задач была связана с зарплатным модулем.
Проблема. Задачу пытались уже решить до нас. Нам досталась задача в виде общей постановки, что-типа «я вручную делаю вот так и в итоге у меня должно получиться это». :) Наш консультант приняла задачу. Перед тем, как отдать ее программисту, детально проработала. И выдала два варианта решения. При первом варианте, аналогичном, как до этого в ручном режиме делал клиент, требовались существенные изменения зарплатных документов. При втором варианте, изменения касались только двух документов. Дальше отрабатывался типовой механизм. В разработку был принят второй вариант. Задача выполнялась и отдавалась клиенту поэтапно. При этом консультант разъясняла клиенту на его языке, почему именно так реализовано и что он получит в итоге.
Решение. В данном случае отработала стандартная схема работы, принятой у нас. Консультант знал специфику, отлично разбирался в зарплатном модуле, что позволило быстро и качественно выполнить работу. При этом не изменяя (не ломая) кардинально логику программы.
Вывод. Для Исполнителя. Если доработка касается существенных изменений, то лучше использовать время консультанта и продумать выполнение задачи с разных сторон. Для этого консультант должен отлично разбираться в программе. Программист в этом случае просто реализует процесс, продуманный консультантом. Здесь важна слаженная работа троих: консультанта, программиста, клиента.
Для клиента. Клиенту повезло. Будь на месте нашего консультанта другой, с более низкой квалификацией, или программист, который не вникает или не разбирается в самой специфике поступившей задачи еще до ее доработки, не знает весь доступный функционал программы, то могла быть нарушена логика всего зарплатного модуля. Что привело бы к возможным проблемам в дальнейшей работе. В этом случае, когда задача сложная, клиенту целесообразнее работать через компанию, где в штате есть не только программисты, а и консультанты.

Ситуация3.
Задача. У клиента Михаила «Управління торгівельним підприємством». Необходимо настроить автоматическое формирование документов производства. Изменить распределение общепроизводственных расходов.
Проблема. Прежде чем приступить к задаче, консультантам вместе с клиентом пришлось обсудить ее не один раз. И если первая часть решалась обычной обработкой, которую просто грамотно надо было реализовать и удобно для пользователя, то вторая часть затрагивала механизм расчета себестоимости. У нас в этом вопросе есть свой принцип. Типовой механизм лучше не трогать, чтобы впоследствии при изменении бизнес-процессов компании, не искать, почему себестоимость не закрывается. Поэтому решили обойти стандартный механизм и предложили самый оптимальный вариант. Получилось круто. Клиент доволен.
Решение. Задача рассматривалась, как часть проекта по внедрению. В ходе проектных работ консультанты постоянно были на связи с клиентом. Программист был задействован только для выполнения задач, поставленных в Техническом задании.
Вывод. Для Исполнителя. Опытные консультанты на проекте – залог вовремя и эффективно законченного проекта.
Для клиента. Если у клиента сложное производство, много пользователей, работающих в программе, на первоначальном этапе требуются сложные доработки, лучше привлекать специалистов компании, а не полагаться на себя и программиста. Это сэкономит и время, и деньги.

Резюме. Если вы клиент, и свои задачи описываете четко, а еще и со знанием функционала, хотя бы минимальным, то консультант вам не нужен. Если задачи достаточно простые, не требующие методологический знаний, то тут консультант тоже лишний. Здесь можно обойтись одним программистом на удаленке. Если у вас программа давно, много доработок и регулярных, сложные бизнес-процессы, большой штат, то тут, возможно, лучше взять программиста в штат или нанять обслуживающую компанию, где есть и консультант, и программист. Но если вы только приобрели программу, или ваши задачи требуют предварительных проработок, то вам лучше использовать связку консультант- программист.

Возврат к списку