Небольшое предисловие
В последнее время инфостарт стал радовать обилием статей на тему оптимизации как бизнес-процессов компаний как таковых, так и деятельности разработчиков в частности. Здорово, что не перевелись авторы, которым есть чем поделиться. Решил не оставаться в стороне и тоже немного пофилософствовать, благо нашлось несколько свободных минуток для этого. Однако излагать или изобретать очередные методики мотивации или оценки эффективности собственного труда я не буду. Вместо этого речь нынче поведем об ошибках. Не тех, которые выдают пользователям загадочные сообщения в момент, когда их увидеть не ожидают, ибо с разной степенью усилий и трудозатрат их можно поправить. А говорить мы будем об ошибках стратегического характера, которые, увы, допускаем достаточно часто, а взять и исправить их за полчаса, как в случае с привычными багами не получится, тем более, что часто к таким ошибкам склоняет нас сам заказчик. Ну и, конечно же, будем обращаться к аналогиям, отвлеченным от мира 1С, да и программирования вообще.
В отличии от многих обитателей Инфостарта, я не работаю во франчайзинговых компаниях и, более того, никогда в них не работал. В определенные моменты с задачами и проектами сталкиваться доводилось как представителю заказчика, часто одновременно становясь исполнителем, как на тот момент единственных программист на предприятии. Мастером дипломатии и внутрикорпоративных интриг себя тоже не считаю, по этой причине ничто не мешает заявить коллегам, не взирая на их должности и звания, что очередная их идея, мягко говоря, не очень. Хоть это иногда и вызывает подозрения в нежелании сделать благо родному предприятию, чаще люди все-таки задумываются. Если же сильно настаивают — делаем как хотят. Но, к сожалению, часто после этого истребляем.
Эпизод 1. Машина должна оставаться машиной.
Попробуем представить себе ситуацию: Некий менеджер, сферический в вакууме (назовем его Василий) представляет фирму, специализирующуюся на эксклюзивных транспортных средствах собственной разработки и собственной же сборки. И вот приходит к нему клиент и заявляет – хочу автомобиль – такой чтобы в город на нем можно было выехать, перед девками покрасоваться, перед пацанами чтобы не стыдно было, да в багажник хотя бы пару ящиков с барахлишком уместилось. Без проблем говорит Василий – мы построим вам отличный… самолет… Клиент немного удивлен, но в целом доволен – по цене авто целый самолет. Договор подписан, через некоторое время и самолет собран. И да, он действительно отличный, но радость длится не долго. Выкатив из ангара свой самолет клиент внезапно осознает – а нафига ему самолет-то собственно? Он же в город выкатываться собирался и девок катать, а эта штуковина на брусчатке как-то не рулится. В добавок выясняется, что управлять самолетом он никогда не умел и даже не планировал, а гаишников его права с категорией "B" не устраивают. Что делать – на курсы летчиков записываться или нанимать такого в личные водители? Чем закончится такая история? Скорее всего отличный самолет будет припаркован в ангаре и раз в год катать владельца на отпуск в тропические страны. Так как весь бюджет был вложен в самолет, для передвижения по городу клиент придется купить простейший автомобиль – выехать хоть и не стыдно, но девки уже не клюют. Ну и скорее всего связываться со слишком эксклюзивной продукцией у клиента раз и навсегда пропадет желание, а менеджера Василия и его фирму на всякий случай станет обходить за километр, хотя самолет превосходен, как ни крути.
Эпизод 2. Угодить всем.
Представим все туже фирму, где все тому же Василию поступает заказ – нужен идеальный автомобиль, который угодил бы всем членам семейства заказчиков. Начинаем собирать требования и выясняем:
Главу семейства интересует проходимость – в идеале нужно без усилий преодолеть болото, в котором сосед, пробираясь на рыбалку утопил свой УАЗ.
Его сынишке гораздо интереснее, чтобы на Спа Франкошам сей представитель автопрома как минимум не уступал времени поул-позиции Льюса Хэмилтона в 2024.
Дочку совершенно не интересует скорость перемещения по Спа и проходимость, но уровень гламура должен зашкаливать.
Бабушке и гламур не нужен, но вот на морское побережье обязательно должны выехать всей семьей и с комфортом.
Супруга главы семейства более всего беспокоится за количество пакетов, которые можно будет разместить внутри, а его отец – тем сколько досок получится прихватить с собой на дачу.
В общем, пожалуй, достаточно. Очевидно, что если попытаться соблюсти все эти требования или даже найти компромисс, выходное изделие окажется монструозным. Единственное, что остается – выяснить а так ли важно заказчику бить рекорды на гоночных треках, штурмовать болота и возить доски именно на предмете данного заказа? И самое главное – действительно ли люди собрались этим заниматься в реальной жизни, или же нужно это только чтобы померяться с друзьями имеющимся функционалом. И вменяемых решений тут может быть только два – или строить отдельный автомобиль под одну узкоспециальную цель, или отказываться от этого функционала в принципе.
Эпизод 3. Шедевр инженерии, провал стратегии.
А теперь перенесемся в не очень далекое и совсем невыдуманное прошлое. Вторая мировая война, безусловно трагическая страница истории человечества. О преступлениях нацистов было сказано многое, но нам интересно совершенно другое. Помимо концлагерей, первоочередной роли в развязывании конфликта и колоритных персонажей у руля, третий рейх запомнился еще и гигантоманией в сфере разработки вооружений. Нельзя сказать, что подобными штуковинами совсем не увлекались другие армии. Просто именно в Германии проекты «чудо-оружия» достигли своего апофеоза. Авторы сего надеялись мгновенно добыть победу. Вместо этого основным достижением данных вооружений стала дыра в бюджете и пример для последующих поколений, который не следует повторять. Припомним пару образцов:
Сверхтяжелый танк «Маус» — массой около 190 т. Длина – 9,03 м, ширина – 3,67 м, высота – 3,66 м. лобовая броня – 200 мм, борта от 108 до 180 мм, днище и крыша от 50 до 105 мм. Это творение Фердинанда Порше было призвано с легкостью взламывать оборонительные рубежи противника и наводить на него ужас. Но… переправка этого шедевра через реки представляла из себя большую проблему, т.к. выдержать такую нагрузку мог редкий мост. Для авиации эта машина могла бы стать превосходной мишенью (как впрочем, любой танк), что при громадной стоимости экземпляра превращало это проект в катастрофу. Вдобавок танк забыли оснастить пулеметами для ближнего боя, чего не постеснялся отметить Гудериан, несмотря на восторг руководства, менее осведомленного о боевой технике. По официальной версии в железе было построено два экземпляра этого монстра. Война застала их на испытательном полигоне, где они были подорваны немцами при отступлении. Собранный из того, что осталось после подрыва танк помещен в музей в Кубинке, где его можно лицезреть и сейчас. Отдельные источники утверждают, что был и третий экземпляр, а так же что маусы все-таки попытались использовать в обороне в последние месяцы войны.
Но «мышонок» это только цветочки. Более монструозного творения инженеров, воплощенного когда-либо в металле, чем следующее представить сложно:
Сверхтяжелые орудия-близнецы «Дора» и «Густав» масса – 1350 т. Длина – 47.3 м, Длина ствола – 32,8 м, ширина – 7,1 м высота – 11,6 Калибр 807 мм Ресурс ствола – 300 выстрелов, скорострельность – 2 выстрела в час, максимальная дальность – 50 км.. Экипаж – 250 человек + 2500 человек дополнительный персонал. Предназначалось для разрушения фортификационных сооружений противника. Боевое применение – 1942 год, штурм Севастополя, предположительно – подавление Варшавского восстания в сентябре-октябре 1944.
Что же не так с этой пушкой? А почти все. Для начала – переместить это махину реально было только в разобранном виде. А для сбора из транспортного состояния в боевое требовалось не менее двух тысяч человек. Собранное орудие занимало 80 колесами два железнодорожных пути. Помимо персонала, необходимого непосредственно орудию, под Севастополем ему потребовалась усиленная охрана и пара зенитных батарей ввиду повышенного интереса к нему у диверсантов, партизан и авиации. с 5 по 17 июня 1942 «Дора» сделала 48 выстрелов. (по иным сведениям – около 80) В сумме с испытаниями на полигоне это исчерпало ресурс ствола и орудие вывезли в тыл. По результатам стрельб еще выяснилось и то, что для того, чтобы разрушить какой-либо вражеский бункер в него сначала нужно попасть. Из всех выстрелов «доры» удачным признан только один, уничтоживший склад боеприпасов на глубине 27 м.
Резюмируя опыт постройки и использования этой установки можно признать – это шедевр инженерной мысли своих лет. Но если подходить с практической точки зрения, то на те же средства можно было снарядить танковый батальон, а так же дополнить его пехотным сопровождением. И потенциально это видится много более эффективным решением.
Эпизод 4. Дороже не значит лучше.
Гигантомания – далеко не единственная проблема в проектах. Дальше хочется привести историю, которую наш университетский преподаватель химии любил рассказывать, поднимая значимость своей дисциплины в глазах студентов. Правда это, или только байка, достоверно не известно. Но это то, что действительно когда-то могло произойти.
Однажды университет получил задание – разработать установку для превращения некой пищевой субстанции в ее концентрат ну и, естественно, предоставить опытный образец. Рекомендации химиков были однозначны – трубки главной функциональной части сего аппарата должны быть изготовлены из нержавейки. Но кто-то из команды конструкторов решил – если бюджета на проект не жалеют, то гулять так гулять и заменил нержавейку латунью, благо механическая прочность аппарата это позволяла. И вот, опытный образец построен и готов и испытаниям. Запускают… И удивлению нет предела. Вместо ожидаемого концентрата аппарат выдает чёрную жижу. В ходе недолгих разбирательств выясняется, что причина в заметном взаимодействии исходного продукта с пресловутыми латунными трубками. К сожалению преподаватель умолчал о дальнейшей судьбе этого проекта – был ли он доведен до конца, или сгинул где-то на университетских полках, но выводы просятся сами собой – дороговизна исходного материала и авторитет/чины/звания участников разработки далеко не гарантирует качество изделия. Всему свое место, хотя бывают ситуации, когда только эксперимент позволяет проверить состоятельность того или иного решения. Однако если что-то проверено еще до Вас, наступать на те же грабли снова уже глупо.
Эпизод 5. Копировать тоже нужно уметь.
Еще одна байка пришла все из того же университета, но от другого преподавателя. Как и в случае с первой подтвердить или опровергнуть правдивость ее нельзя, но это не имеет особого значения.
Дело было во времена расцвета СССР. На одной из проходивших в те времена международных выставок всю Советскую делегацию впечатлил экземпляр заграничного оборудования. Задача конструкторскому бюро была поставлена предельно просто и, что называется, в лоб – скопировать. Сказано сделано – закупили образец, проверили, и разобрали до винтика. Естественно, что все зарисовали до малейшей детали и передали в цех, где сваяли уже отечественный экземпляр, ничем не отличающийся от оригинала… на первый взгляд. Стали запускать и… оно не работает! Выяснение причин заняло куда больше времени, чем в предыдущем эпизоде, но вывод в конце концов был сделан следующий: скопировать удалось общую схему машины и НОМИНАЛЬНЫЕ размеры ее деталей. Номинальные потому, что точность изготовления скопировать-таки не получилось, в результате чего трение в механизмах несколько возросло и электродвигатель, аналогичный оригинальному, банально не смог их провернуть. Выводы – если можно копировать что-то хорошее копируй, но убедись, что эта копия работоспособна. Возможно есть какой-то маленький, едва заметный нюанс, который, не смотря на всю неочевидность, играет ключевую роль.
Эпилог
Резюмируя все вышесказанное подведем итог: проекты — это хорошо. Однако очень важно не переступать ту грань, которая весь проект превращает в фарс. И самый первый вопрос, на который нужно иметь ответ – а собственно зачем? Какие плюсы Вам это даст? Если вы представляете заказчика и при этом не предполагаете быть непосредственным исполнителем, то должны понимать – первоочередной интерес людей, которые будут исполнителями – продать Вам свои услуги. Они с удовольствием построят вам самолет вместо автомобиля, только исполнитель сделает свое дело и уйдет, а ездить на самолете по городским пробкам придется Вам. Стороннего исполнителя периодически нужно одергивать и направлять. Он с одной стороны не знает всех тонкостей Ваших процессов, с другой скорее всего хочет продать побольше и желательно сразу. Ну а если никто не может дать вменяемого ответа на первоочередной вопрос или хотя бы обрисовать на пальцах, можно быть уверенным – мы имеем дело с проектом ради проекта, или, как выражались уже другие авторы – суррогатом. Но еще страшнее самого суррогата то, что избавиться от него будет еще сложнее, чем внедрить, т.к. во-первых – у многих руководителей включается довод – “за это заплатили, значит нужно пользоваться”. Ну а во-вторых – всегда найдутся те единицы, кому суррогат понравится. А со временем начнут привыкать остальные и компания к нему прочно прирастет.
Уверен, что если, обнаружив где-либо странную учетную схему, задать людям вопрос — а почему собственно так, когда обычно проще 90% ответов будет сводится к мысли "мы всегда так делали". При этом никто не будет задумываться о том, что за годы окружающая среда могла претерпеть массу изменений, странная схема могла переехать из другой учетной системы по команде "копуруем функционал" или быть капризом одного давно сменившего работу начальника. Возможно среди сотрудников найдется ветеран, который сможет изложить всю историю от и до. Если такой есть, то считайте повезло, можно восстановить историю возникновения странного процесса и принять меры к его исправлению. Ну а если не повезло отталкиваемся от другого вопроса — а может ли это быть проще? И вообще — как это должно быть в идеале?
Конечно об этой проблеме уже писано переписано, понравилось подход к изложению материла, с помощью исторических событий. +