-«Здравствуйте, чего не открываете?»
-«Так мы вроде бы никого не ждали сегодня..»
-«Как же не ждали? День сегодня какой? Договаривались же…»
Недавний храбрец перевел взгляд на настенный календарь с корпоративным логотипом и на его лице появилось смятение. От осознания тяжелого продолжения вечера затрещала голова. Заказчик неторопливо стряхнул промокший плащ и повесил на вешалку.
-«Пройдемте в переговорку. Чай? Кофе?»
Оставьте лирику, займемся гипнозом
Этим художественным вступлением хотелось бы затронуть такую тему, как взаимодействие триумвирата: менеджера, разработчика и заказчика. Об этой проблематике написано много статей, сделано много докладов на конференциях, поломано много копий в дискуссиях, но в основном они посвящены критике чрезмерного управления. В настоящей статье, читателю будут представлены две истории в картинах. Посмотрим на ситуацию, когда того самого, критикуемого менеджмента, не хватает. В основе двух зарисовок лежат реальные истории, возможно вы узнаете среди них свою.
Мы начинаем, закройте глаза. Представьте себе среднестатистическую IT-контору, забудьте о корпорациях-гигантах и доблестных рыцарях фриланса…
Картина «Всё по-взрослому»
Диспозиция: вы начинающий разработчик, возможно еще студент, вам предлагают место с оплатой чуть выше рынка, проект — перспективный стартап, который стабильно финансируется из личных средств предпринимателя-индивидуала. История ошеломительного успеха уже рисуется в голове, осталось дело за малым: принять предложение. На собеседовании для галочки узнаете все условия: заказчик хочет непрерывно держать руку на пульсе разработки, предыдущий программист, который заложил кодовую базу проекта, уже уволился, но это уже не так важно: финансы и перспектива карьерного роста заставляют смотреть в будущее с улыбкой. Это уже не лабораторные в университете, это реальная разработка. Все по-взрослому.
Реальность: автор понимает, что подобная манера повествования, когда в начале идет длительное перечисление наивного позитива, опытного читателя наверняка бросит в скуку: он уже будто смотрел этот фильм и знает, что сейчас «титаник врежется в айсберг». Ничего нового, увы, драматурги не придумали: звонки разгневанного заказчика по ночам с требованием исправить ошибку, экспоненциальный рост требований и правок, недовольство работодателя, общая неудовлетворенность положением вещей.
Вердикт: не каждый, особенно в начале своего карьерного пути, способен грамотно общаться с заказчиком. Иногда именно на этом фронте добиваются ключевых побед, гарантирующих проекту успешное завершение. Не зря в крупных компаниях между рядовым разработчиком и заказчиком выстроены целые когорты из аналитиков, sales engineer’ов, руководителей департаментов и прочих представителей IT-фауны. Думайте, стоит ли на такое подписываться, даже за хорошие деньги.
Картина «Я у мамы дизайнер»
Диспозиция: у вас небольшая, но разноплановая команда (фронт, бэк, тестирование), по разным причинам проект долго буксовал, но в последние месяцы летит на всех парусах, чтобы успеть в срок. Заказчик — то ли крупная корпорация, то ли и вовсе государство, и его представитель периодически просит показать результат работы в формате демо-показа по скайпу. Руководитель фронтенда проводит показ и все выглядит так, будто в него вселился Стив Джобс — в конце заказчик уйдет вечно голодным и безрассудным. Красивая речь словно убаюкивает остальных, отключивших микрофон… Затишье перед бурей. Снова эта манера повествования, ничего не могу поделать.
Реальность: резко, словно удар кинжала, заказчик бросает вопрос: «А почему у вас кнопка удаления не там, где кнопка редактирования?». (Р — разработчик, З — заказчик)
-Р:«Так мы руководствовались макетами, которые согласо..»
-З:«Да это же неудобно, перенесите её».
Вялое эхо одобрения.
-З:«А возможно, чтобы каждый пользователь мог настраивать себе расположение кнопкок?»
-Р:«Да, но может мы сперв..»
-З«А вот тут у вас что? Эту вкладку, её же лучше сделать сворачиваемой».
-Р:«Да, конечно, подумаем тогда как это переработать».
-З:«Ну и над цветом конечно лучше подумать, может быть тут синий больше подойдет».
К концу часа все присутствующие понимают, что столько парусины им не найти.
Вердикт: классика жанра. Мораль сей басни в том, что иногда нужно уметь говорить нет, иногда признавать свои ошибки, а иногда твердо стоять на своем. Как именно поступить, зависит от конкретной ситуации. Если всегда иметь «лихой и придурковатый вид» подчиненного из петровского указа, то проект рискует быть незаконченным, сделка сорванной. Но важнейшим вопросом здесь является не «как поступить», а «кому поступить». Постараемся найти ответ в заключении.
Итого
Чаще всего разработчик не умеет разговаривать с заказчиком и в обеих ситуациях видна проблема отсутствия или недостаточности управления. Сказывается она не только на процессе разработки, но и на судьбе всего мероприятия в целом. Только наличие того самого «фильтра идей», умельца грамотно распределять ресурсы, ставить правильные сроки и отвечать на неудобные вопросы позволит разработчику не мерить шляпу проектного менеджера и сосредоточиться на своей работе.
Комментарии (11)
DarkTiger
10.10.2017 10:40Помнится, после ВУЗа я сделал открытие — если сваять на C++ Builder за пару часов для заказчика макет приложения, вообще без функционала, только кнопки, то контракт обычно подписывается именно с нами и проблем с UI на сдаче не возникает. Шеф, технарь до мозга костей, разумеется, считал меня дураком, но держал — за умение общаться с такими же, как я, дураками у заказчика.
Это уже сильно после я прочел про «Соломенное чучело» у деМаркоmayorovp
10.10.2017 10:47+2Проблема таких вот макетов — в том, что заказчик считает их почти готовыми приложениями и в своих оценках сроков исходит из этого предположения...
DarkTiger
10.10.2017 12:21Ну если ему через пару часов (а не недель) принести макет, он не станет считать его готовым приложением.
И еще один плюс в таком поведении заказчика — он может принять первый этап практически с парой реализованных функций из сотни, лишь бы они на кнопках висели. Тогда он не будет бояться, что вы некомпетентны, точнее, будет бояться сильно меньше.
И еще. Получив в руки работающую программу, заказчик очень быстро расставит приоритеты, что ему в самом деле надо, а что — не очень. Поэтому и приемка этапов проходит гладко, за все важные функции он вас уже поимел в процессе и получил, что хотел, и с легкостью переносит сроки на допиливание третьестепенного функционала, а иногда вообще просто махает рукой — нет, да и не очень надо, как выяснилось.
Заказчику, особенно государственному, надо дать в руки хоть как-то работающую программу, но как можно быстрее. Собственно, суть всех гибких методологий именно в этомqw1
12.10.2017 19:56Допустим, сердце системы — БД, и нужно реализовать работу с Oracle.
Вы предлагаете сляпать по-быстрому пару функций на SQLite, прямыми запросами, без ORM, а потом, получив мелкое требование: «а сюда добавьте ещё пару критериев в выборку», получить переделку на 2 месяца якобы уже готовых фич, потому что правильно было их писать ну совсем с другой схемой данных, а не с игрушечной?DarkTiger
12.10.2017 21:25Справедливое замечание. Разумеется, такой подход не универсален, было бы смешно применять его также и к строительству тоннеля, и к разработке серверов.
Тем не менее, наберите в Гугле «деМарко соломенное чучело», у него эта идея описана куда как красивее и лучше, чем у меня
isden
10.10.2017 10:43+2«А почему у вас кнопка удаления не там, где кнопка редактирования?».
После этой фразы должно быть что-то вроде такого:
— Сделано согласно утвержденного ТЗ, вот тут написано и нарисовано. Хотите перенести? Давайте составим новое ТЗ с доплатой за переделку.DarkTiger
10.10.2017 12:24-1Так бывает только в сказках. В реальности обычно идет торг «вы, конечно, негодяи, что вот это, вот это и вот это реализовали через одно место, ну да ладно, перенесите вот эту пару кнопок и добавьте еще пару, с вот этими функциями»
Temmokan
Э-э-э… Это вряд ли триумвират. Как по-научному называется композиция «лебедь, рак и щука»?
Deosis
Если сумма приложенных усилий менеджера, разработчика и заказчика равна нулю,
то проект либо находится на одном месте, либо движется прямо к своему концу.
Dr_Dash
Биоценоз
cesare
Пищевая цепочка. Только в другом порядке: р — м — з