В прошлой статье Andrey Yasinetskiy сказал, что мой манифест работодателя противоречит Agile. Я так взял, взвесил agile практики, которые знаю, почесал в голове, отписал, что они не противоречат. А потом я полез и прочел Agile software development статью в wiki. и обнаружил, что большинство практик на самом деле противоречат первому же пукнту Agile манифеста.
Самый первый пункт манифеста — «Individuals and interactions over processes and tools«. Блин, да половина agile дисциплин основана именно на следовании процессов. Test driver development, continuous integration, code refactoring, iterative development — это же все процессы. Причем, если взять какие-нибудь уже готовые методики (а-ля того же SCRUM) то эти процессы там уже четко прописаны, описаны, роли, действия, артифакты и т.п. Да, естественно в каждой из них есть «individuals and interactions», но как только individual решать забить на процессы, которые им не нравятся — а-ля перестанут код класть в source control, остановят систему генерящую билды и перестанут делать итеративную разработку, вот тут как раз и придет пипец их попыткам работать Agile.
Кстати, аналогично насчет послднего пункта Agile манифеста «Responding to change over following a plan«. Это не значит, что надо нафиг забить на план. Это значит, что план должен изменяться в зависимости от внешних событий.
В целом, можете в меня хоть помидорами кидать, но Agile Manifesto в чистом виде — это радужные мечты богемы IT мира. Для всего же остального мира, Agile практика (которая таки требует процессов и изменчивого плана) кроет как бык овцу Agile теорию.
Недавно услышал такую фразу «Ну не можем же мы переделывать фирму, из-за того, что ее структура не позволяет полноценно воплотить процесс». Ну, на первый взгляд, действительно логично, если начинать курочить фирму под каждый процесс, то камня на камне не останется.
Только вот вывод из этого люди почему-то делают обычно не правильный.
Логичный вывод — если фирма не подходит под процесс, то можно либо найти другой процесс (под который подходит), либо если таки процесс очень ценный — то таки можно и переделать фирму.
Но есть еще и третий — самый худший вариант и о нем то и хочу написать.
Жил да был Вася, крутой чувак, у которого был дом с гаражем. И вон он решил себе купить немеренно крутую машину и выбрал Хаммер. Купил, приехал домой, а блин, машина в гараж не влезает на сантиметров 50. Ну, подумал, подумал и решил… А хули там… Если 50 сантиметров спереди оттяпаю, то ничего плохого с машиной не случится. И так выглядит уродливой уже. Ну, сказано — сделано. Хряп, нету 50 см, включая радиатор, аккумулятор, кусок движка и кучу прочей радостей. Блин…. не едет зараза. Ну пригласил механиков, кое как они на силу все заменили, назад присобачили. Ну ладно, если спереди не вышло, отрубим сзади. Хряп… Пробуем — ура… едет… Но как-то без глушителя, громкость как у реактивного самолета, плюс надоело выпадающие сзади сумки собирать. ok, переделываем выхлопную трубу, чтобы в правый бок шла, сзади навариваем шит, чтобы вещи не выпадали. Уже лучше, но из-за дыма из выхлопной трубы (каталитический конвертор тожи оттяпали) все стелка сбоку черные не фига не видно, плюс воняет постоянно. А сумки теперь сзади положить нельзя, только через салон запихивать приходится. Ладно, выхлопную трубу делаем подлиннее, так что она теперь справа на 30-40 торчит, а слева сзади прорежем дырку, через которые вещи можно доставать. Труба правда теперь по асфальту бьется и мешает ехать правому ряду. Плюс, на парковке до окошка слева с вещами добраться не удасться. Переносим окно на крышу, выхлопную трубу загибаем, выводим на верх. Теперь правда машина похожа на небольшой паровоз 19 века, порезанная спереди и сзади, запаянная, с трубой сверху, с окном для того, чтобы класть вещи на крыше… Но зато она классно влазит в гараж.
Товарищи, искренне вас прошу, если вы увидели хорошо работающий процесс, который обкатывали и обкатывали, ну не надо отрезать от него 50 см (особенно не понимаю, что же вы отрезаете).
С огромным перерывом возвращаясь к циклу статей (1,2, 3, 4) в которых я рассказывал о развитии моей с братом фирмы. Что радует, что статья эта последняя. Что не радует, что она гораздо менее радужная чем все остальные.
В прошлой статье я остановился на мае 2007 года.
Событие того мая, которое очень серьезно повлияло на фирму, было уходом нашего самого крупного заказчика. Такие события очень часто убивают небольшие фирмы мгновенно. Большинство фирм до 10 человек буквально живут одним заказчиком и при первом же неудачном движение, они остаются с кучей людей которым надо платить зарплаты и без возможности быстро (да и медленно) найти заказы, чтобы полностью загрузить даже часть людей.
Почему ушел заказчик? Хороший вопрос. Там много чего намешано было — то, что я был и сотрудником и владельцем provider’а и часовой пояс, и консолидация offshore активности и не слишком удачные с технической стороны последние несколько месяцев. Но, ключевым пунктом я бы сказал являлось то, что мы просто загнали себя в угол предоставляя им только Palm разработку(которая к тому времени была уже откровенно не актуальной).
Дальше, пошла жестокая борьба за выживание. Мы начали пытаться найти любые проекты, чтобы закрыть брешь в бюджете и загрузить людей. Естественно, из разряда медленное развитие фирма перешла в режим постепенного разваливания.
В этот момент, я пытался активно продавить сделку, чтобы нас купили как отдел разработки для одной США компании. Но, хоть и мы и покупатель хотели броситься друг другу в объятья, одна мелочь в результате сорвала сделку. А мелочь состояла в том, что денег у той компании особенно и не было и все ее надежды у нее были на получение инвестиций. Инвестиции они не получили, как результат не только нас не купили, но и закрыли свой небольшой офис.Собственно это и было причиной почему они так были заинтересованы. Для них потенциальная покупка нас был хороший пункт того, как можно было показать инвесторам, что они собираются эффективно тратить деньги.
Где-то в сентябре 2007 я приезжал в Украину и все еще давал речь о том, что хоть сеячас тяжко, но мы все еще движемся в светлое будущее. Хотя, мягко говоря, я сильно в этом сомневался.
В целом сформировали несколько направлений выбирания из этой ситуации — активный поиск проектов, разработка продуктов и попытка поиска инвестиций (в штатах). На данный момент, я понимаю, что все эти действия были как мертвому припарки.
Если мы пытаемся активно найти проекты, то это значит одно из двух. Либо мы раньше плохо искали, причем сами не зная, что мы искали плохо. Либо если мы искали хорошо, то вероятнее всего слово «активизация» ни к чему особо не приведет.
Разработка продукта — это вообще не решение. Продукт — это инвестиция, которая принесет плоды дай бог через несколько лет. То есть решать ею бюджетные проблемы невозможно.
Поиски инвестиций, опять же, были абсолютно не актульаны из-за моего слабого английского языка, малого количеста связей и времени, физического расположения бизнеса вне штатов и отсутствия вразумительного бизнес плана.
Ну и где-то к 2008 году, я опустил руки. Моя проблема была в том, что по большему счету я фирмой занимался в режиме хобби. То есть денег она мне не приносила, хотя предположительно я мог бы брать какой-то % от прибыли или выставить себе зарплату, но это были бы абсолютно смешные цифры относительно зарплаты программиста, которую я получал в штатах. В основном я работал на какую-то светлую перспективу (а-ля нас купят как отдел разработки и я стану менеджеров всего этого дела с стороны штатов). При этом, я тратил кучу времени на дела своей фирмы. И собственно говоря, осознав, что мое хобби не только не приносит мне денег, но еще и напрягает меня , я решил выходить из режима активного управления.
Скажу также, что поверх этой и так непростой ситуации вплетались нотки того, что бизнес семейный, что добавляло эмоциональность к любым принимаемым решениям.
К середине 2008 фирма серьезно ужалась с ее пика в середине 2007 года. Продукт по большему счету так выпустить и не удалось, так как он не был правильно бюджетирован, а разрабатывался по остаточному принципу. Естественно, никаких инвестиций я и подавно не нашел.
И где-то к этому моменту мой брат решил закрывать бизнес, так как в течении нескольких месяцев фирма постоянно была в минусах и тривиально стало не хватать финансов для продолжения работы.
Но, в последний момент нам таки улыбнулась удача и я узнал, что компанию где работает директором один мой друг собирается купить большая компания. А так как покупаемая компания тоже в Харькове и тоже занималась мобильными разработками, то мы поговорили с ними и они предложили купить нас, чтобы подороже продаться большой компании. Ну и мы ударили по рукам. Единственное «но» было то, что учитывая наше положение (либо полное закрытие фирмы, либо продажа) мы были в плохой позиции для торговли и конечная цифра была очень далека от того, что можно было получить при аналогичной сделке только в хороший для фирмы момент.
В целом, на этом история фирмы закончилась. Если быть совсем точным, то история скорее отделилась от меня, так как торговую марку мы передали небольшой группе разработчиков, которая выделилась из нашей фирме при ее покупке.
Фух… Если честно, даже пиша этот текст слегка поднапрягся, так как те события были достаточно нервные. Но, теперь выдохнув можно спокойно сделать разбор полетов. Тут на самом деле просто поле для работы.
— Первую вещь, которую я хочу сказать, что крупные проблемы надо не преодолевать, а пытаться их не допускать.Ситуация с уходом крупного заказчика классическая. Соотвественнно нужно «активизировать» гораздо раньше чем когда он ушел. И хотя мы и двигались в нужном направлении, но двигались слишком медленно. Я уже писал, в одной из статей, что гужно одновремено увеличивать объем заказов, а с другой стороны главного заказчика держать в максимально довольном состоянии.
— Вторая вещь, это то, что любые долгосрочные проекты (а-ля продукт), нужно начинать когда все хорошо, а не когда все плохо. Кстати, я это уже когда-то описывал принципом «Играй когда выигрываешь«.
— Третья вещь, это то, что все отношения с вашими партнерами по бизнесу должны быть задокументированы(а-ля кто за что отвечает и что делается при выходе из бизнеса). Хоть это и неприятно обсуждать только стартуя бизнес, зато экономит гигантское количество нервных клеток потом.
А вот теперь к самому интересному. Что же все таки мы могли сделать?
Сразу скажу, что выбраться на белом коне из такой передряги шансов ну фактически нету. Любые пути решения будут сопряжены с большими рисками. Поэтому скорее я пытаюсь судить о том, какие пути обладали меньшим риском и большим выигрышем, но естественно самый лучший из путей мог завершиться провалом в тот момент, когда не самый эффективный завершиться удачей (как и прозошло).
И естественно я пытаюсь базировать все решения на нынешних знаниях, но тогдашних возможностях.
На данный момент я вижу три наиболее перспективных на тот момент пути
а) Постепенный слив фирмы
Этот путь я высказывал и тогда. Он является наиболее пессимистичным. В смысле, если мы уверены, что впереди нас ничего хорошего не ждет и мы пытаемся просто вынять как можно больше денег из бизнеса пока он загнется.
Постепенно увольнять людей, которые не работают на активных проектах. Вынимать из фирмы всю получению прибыль. Продавать все пассивы (лишние компы, устройства и т.п.). В этот же момент постепенно повышая цены на работу заказчикам, чтобы компенсировать повышение зарплат.
Само собой, люди бы достаточно шустро побежали бы в таких условиях. Думаю лучше всего было бы договориться с несколькими ключевыми людьми о том, что им будет выплачен бонус, если они дождуться окончатльное закрытие.
Ясно, что с такой стратегией много с фирмы не получишь, но все равно больше чем в случае полного вылета.
б) Реорганизация
В случае если есть надежда на светлое будущее и желание побороться, то пожалуй реорганизация самый лучший метод.У нас были две основных проблемы — много людей при нехватке проектов и работа над мелкими и дешевыми проектами.
Основная идея следующая, увольняются лишние люди, выкидываются лишние плохонькие проекты. На всех проектах постепенно подымается рейт додостаточного выского (позволяющего иметь нормальную маржу прибыли), включая дополнительные увольнения и людей и заказчиков если проекты не удается перевести на высокие рейти.
В целом переход от режима — «мы делаем все что угодно для мобильных дешево и сердито» и попытки накормить тремя хлебами всю фирму в режим «мы делаем средне по цене и качественно» и медленный и верный рост и постоянный контроль маржи прибыльности.
Естественно в начале такой режим смог бы поддерживать гораздо меньшее количество народу, но на долгосрочной перспективе — он более эффективен, при высоких зарплатах программистов.
Только что зашел на sourceforge. На сейчас доступно 374834! open source проекта.
Если вы думаете привлечь к разработке своего продукта «халявную» рабочую силу путем делания его open source — подумайте еще три раза. Что собственного говоря в вашем продукте такое, что должно зинтересовать больше чем скажем 350000 других проектов?