Каковы правильные отношения между разработчиком программного обеспечения и бизнес-клиентом?

10

ИТ-специалисты - это эксперты, которым доверяют ИТ-активы бизнеса или организации. Как профессионалы, которым мы доверяем, у нас есть обязанности, которые выходят за рамки того, что не-ИТ-клиент может понять или осознать. Поэтому я думаю, что правильные отношения между ИТ-специалистом и его внутренними / внешними клиентами больше похожи на отношения между врачом и пациентом, чем слугой и хозяином. Я прав?

Вот аналогия для размышления. Пациент настаивает на том, что его ногу нужно ампутировать. Его доктор не согласен, но пациента нельзя убедить. Должен ли врач ампутировать ногу только для того, чтобы удовлетворить пациента?

Еще одна аналогия. Заказчик хочет, чтобы инженер-строитель построил мост небезопасного проекта. Даже когда инженер объясняет, что это небезопасно, клиент ему не верит. Должен ли инженер строить мост?

Я думаю, что правильный ответ в обеих этих аналогиях - НЕТ. Предполагается, что медицинские работники и инженеры находятся в состоянии доверия и должны принимать собственные решения, даже несмотря на неодобрение пациента / клиента. Разве это не должно относиться к ИТ-специалистам, когда ИТ-специалист квалифицирован для принятия решения, а его клиент - нет?

nvogel
источник
2
На конференции я однажды услышал, как спикер сказал: «Что бы вы ни делали, не позволяйте клиенту иметь прямой доступ к вашему ведущему программисту. Если вы это сделаете, они буквально изнасилуют его». Я думаю, что это было бы как неправильными отношениями между разработчиком программного обеспечения и заказчиком, так и худшим использованием буквально, которое я когда-либо слышал.
Джон Хопкинс
И здесь, на моей работе, основополагающим принципом является то, что клиент всегда имеет прямой доступ к ведущему программисту!
Фрэнк Шиарар
Для малых значений «буквально», предположительно?
Mawg говорит восстановить Monica

Ответы:

9

Это немного сложнее, чем в твоих примерах. Это связано с тем, что во многих случаях разработчик программного обеспечения является экспертом в вопросах, связанных с ИТ (например, программирование, проектирование баз данных и т. Д.), А бизнес-клиент - эксперт в проблемной области. В таких случаях правильные отношения - это отношения двух экспертов в разных областях, которые работают вместе, чтобы создать хорошее решение.

В любом случае, как и любой хороший мастер, разработчик программного обеспечения обязан предупредить клиента, когда клиенты хотят что-то неуместное. Если вы попросите своего художника и декоратора наклеить обои для ванной комнаты, он также обязан предупредить вас, что это не сработает. Но когда клиент упрямо настаивает на своей плохой идее, можно попросить его подписать форму «Вы были явно предупреждены» и выполнить то, что он хочет (при условии, что при этом нет риска для здоровья, правового риска и т. Д.).

user281377
источник
1
+1 Я также думаю, что ампутировать ногу без причины и построить небезопасный мост гораздо опаснее, чем доставить приложение, которое не соответствует реальным потребностям клиента. Однако, как сказал dportas, роль ИТ-специалиста состоит в том, чтобы предупредить клиента об этом. И тогда это просто этика. Хороший адвокат не посоветует своему клиенту подать в суд на другую сторону, если он обязательно проиграет. (но выиграть его почасовую оплату)
1
+1 - я видел, по крайней мере, столько случаев, когда разработчик на самом деле не понимал бизнес клиентов, поскольку я правильно определяю, как клиент запрашивает неправильные вещи, и сам определяет, что действительно нужно . То есть они часто будут правильно определять, что есть проблема с тем, что было предложено, просто их решение все еще в конечном итоге ошибочно. Правильный подход - это взаимное уважение к знаниям в других областях и открытое обсуждение потенциальной проблемы и возможных решений. Как правило, клиенты готовы слушать.
Джон Хопкинс
1
Итак, где вы все работаете, чтобы «бизнес-клиент» на самом деле ожидался в проблемной области? Слишком часто я обнаружил, что это не так ...
CaffGeek
Чад: По моему опыту, некоторые компании-разработчики концентрируются на продажах руководству высшего уровня, что затем вынуждает руководство среднего звена реализовывать то, что звучит хорошо на бумаге. В таких компаниях вы редко встречаете «бизнес-клиентов», которые также являются экспертами в проблемной области, поскольку существует тенденция, что тот же менеджер, подписавший сделку, остается контактным лицом, независимо от того, имеет ли это смысл. Другие компании предпочитают продавать в соответствующий отдел, поэтому основное контактное лицо обычно знает свою работу.
user281377
1

Как в случае с врачом, так и инженером, профессионал - это консультант, отказывающийся от оказания услуги. В ИТ-магазине нет.

Мы работники, а не консультанты, поэтому мы подчиняемся золотому правилу: тот, кто дает нам золотые правила. Программисты, которые игнорируют это, высокомерны и глупы. Я слышал неисчислимые жалобы на это от бизнесменов, которым надоели ИТ-специалисты, которые не будут объяснять свои решения кому-либо за пределами своего духовенства и которые отбрасывают запросы, которые все, кроме их организации, считают вполне разумными. Я видел, как ИТ-менеджеры были уволены за подобные вещи.

В качестве сотрудника ваш эквивалент консультанту, отказывающемуся от оказания услуги, покрывается цитатой Наполеона Бонапарта:

Каждый командир, ответственный за выполнение плана, который он считает плохим или катастрофическим, является преступником. Он должен указать на недостатки, настаивать на том, чтобы это было изменено и, в крайнем случае, подать в отставку, а не быть инструментом уничтожения своих людей.

Вы должны выбрать свои сражения. Это то, что вас просили сделать настолько отвратительным и неэтичным, что вы бы предпочли бросить? Если нет, то либо объясните проблему заинтересованным сторонам и договоритесь о чем-то разумном, либо просто сделайте это.

И не занимайся делами, которые ты не получил. Людей, которые это делают, называют «свободными пушками».

Кстати, я уволился с одной работы, потому что они убили проект, и я подумал, что это действительно глупый шаг. Через пару месяцев после того, как я ушел, они пришли ко мне, чтобы договориться, и попросили меня вернуться в качестве подрядчика для выполнения проекта, но я уже был занят в другом месте.

Боб Мерфи
источник
2
Многие разработчики являются консультантами! Я один.
Амир Резаи
1
Я консультант!
nvogel
Более того, инженеры и врачи могут быть сотрудниками. Я уверен, что у каждой крупной железной дороги есть инженеры-строители на зарплату, когда они хотят построить или модифицировать мост.
Дэвид Торнли
4
Я был штатным консультантом с 1991 по 2006 год и вернулся к нему в июле. Я понимаю, хочет ли клиент заплатить мне, чтобы я сделал что-то глупое, но не неэтичное или опасное, и настаивает на моих возражениях ... эй, это их деньги, чтобы тратить их впустую. И я обычно обнаруживаю, что мои клиенты знают больше об их бизнесе, чем я, поэтому вещи, которые они хотят, кажутся сумасшедшими на первый взгляд, имеют смысл после того, как я понимаю больше. Я нахожу, что меня просят делать глупости меньше, чем консультант, которому платят за час, а не как работника, у которого сверхурочная работа «бесплатна» для работодателя.
Боб Мерфи
1

Врачи дают клятву «не навредить» и по закону обязаны в первую очередь заботиться о пациентах . Врач, который выполнил ненужную и вредную операцию (даже если пациент потребовал этого), откроет себя для иска о халатности и может лишиться лицензии.

Точно так же у инженера-строителя, который отвечает за строительный проект, есть юридическое обязательство гарантировать, что он соответствует всем применимым строительным нормам и правилам. Как и в случае с врачом, инженер, который делает то, что предлагается в вопросе, скорее всего, столкнется с судебным иском.

Это сильно отличается от ситуации, когда разработчика программного обеспечения просят сделать что-то, что, по его мнению, нецелесообразно. Нет никаких юридических последствий для принятия проекта, даже если вы знаете, что по сути это пустая трата денег.

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

Kris
источник
2
Это может быть случай, когда программный проект может поставить под угрозу жизнь и здоровье. Как, например, в базе данных медицинских карт или в системе управления самолетом. Гораздо более вероятно, что могут существовать этические или регулирующие факторы, которые являются законной заботой ИТ-специалистов, такие как правила конфиденциальности и защиты данных или законы в области ИС.
nvogel
@dportas Это возможно, но если это так, то существуют вероятные законы и нормативные акты, регулирующие его конструкцию и сертификацию. Очевидно, вы никогда не должны нарушать закон для своего клиента. Тем не менее, это редко является проблемой, и, судя по примерам, приведенным OP, не то, что было задано.
Крис
0

Разве это не должно относиться к ИТ-специалистам, когда ИТ-специалист квалифицирован для принятия решения, а его клиент - нет?

По моему мнению ДА!

Если вы собираетесь иметь длительные отношения с вашим клиентом.

Амир Резаи
источник
0

Мое предложение в этой ситуации будет заключаться в том, чтобы предупредить клиента в письменном сообщении и сохранить его копию (электронная почта, соглашение, что угодно). Если клиент настаивает на этом, то продолжайте и сделайте это (иногда это называется несогласием и обязательством). Просто убедитесь, что если случится что-то плохое, вы должны быть в состоянии защитить себя.

Маной Р
источник
0

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

Это может оказать большее давление на врачей и инженеров, когда их заставляют делать что-то, что может привести к их личному и профессиональному риску, но это дает им больше отталкивания, так как они могут утверждать, что не могут что-то сделать из-за профессиональной этики, и что они потеряют свои лицензии, если они это сделают. Угроза уволить инженера-строителя за отказ подписать план теряет силу, если последствием его является то, что инженер потеряет свою лицензию и в любом случае не сможет работать в поле.

Это связано с требованиями законодательства. Я не могу прописать много лекарств, и если я сделаю что-то для кого-то, что врач может сделать по закону, я совершу преступление. Точно так же большинство правительств здесь не разрешат компании строить мост без одобрения проекта лицензированным инженером-строителем.

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

Дэвид Торнли
источник
0

Я не думаю об этическом измерении, но правильное отношение к клиентской / пользовательской базе может быть весьма изменчивым в зависимости от типа рынка. Там, где я работаю, у нас высокотехнологичный продукт и высокотехнологичные пользователи, а средний доход на одного клиента довольно высок. Таким образом, границы нашего бизнеса немного размыты: у нас есть клиенты и реселлеры, которые выступают в роли консультантов, которые помогают в проверке кода и даже могут отправлять модули для включения в программное обеспечение. Если бы мы продавали приложение для массового рынка, эта модель не имела бы никакого смысла.

Омега Центавра
источник